software testing

26
ТЕСТИРОВАНИЕ ПО

Upload: ilya-polishchuk

Post on 20-Jul-2015

16 views

Category:

Education


0 download

TRANSCRIPT

ТЕСТИРОВАНИЕ ПО

Введение в профессию2

План лекции

История профессии

В чем уникальность этой профессии?

Что делает тестер?

3

История профессии1. Профессия тестера появилась в начале 90х

Рис 1 – первый браузер NCSA Mosaic. Отображал картинки и текст, и было это хорошо

Рис 2 – программа WordStar, один из первых текстовых редакторов

4

История профессии

2. В начале 90х количество персональных компьютеров увеличивалось. За несколько лет образовалась армия неподготовленных пользователей.

Рис 3 - количество ПК в мире по данным Международного союза электросвязи

5

История профессии

Время на тестирование сокращается, объемы и сложность тестирования растут;

Разработка ПО рассыпалась по всему миру;

Профессия развивается, потребность в тестировщиках растет.

6

В чем уникальность профессии?

Университеты не предлагают ВО в области тестирования;

Не обязательно иметь образование в сфере ИТ, но важно

иметь хорошие пользовательские навыки;

Переносимые навыки;

Достаточно высокая оплата труда;

Тестирование относительно просто в изучении;

Повсеместная востребованность во всем мире;

Тестирование – международно-конвертируемая

профессия.

7

Что делает тестер?

Тестирование – это сравнение реального программного продукта с программой, которая была задумана изначально.

Мы изучаем спецификации (ТЗ);

Играем с программой;

Пишем тест-кейсы;

Автоматизируем тесты;

Рапортуем баги;

Проверяем починки.

8

Вопросы?

9

Юнит-тестирование10

Юнит-тестирование

Подход в программировании, позволяющий проверить на корректность отдельные модули программы.

11

Тест

Процедура, которая позволяет либо подтвердить, либо опровергнуть работоспособность кода.

12

Цель юнит-тестирования

Изолировать отдельные части программы и показать, что по отдельности эти части работоспособны.

13

Недостатки

Модульное тестирование не позволяет отловить все ошибки программы;

Требуется больше времени на разработку и поддержку;

Могут создать ложное ощущение надежности.

14

Преимущества

Поощрение изменений;

Упрощение интеграции;

Документирование кода;

Отделение интерфейса от реализации.

15

BankAccount

namespace UnitTestingExamples.Library

{

using System;

public class BankAccount

{

private double _balance = 0.0;

public void Deposit(double amount)

{

_balance += amount;

}

public double Balance

{

get { return _balance; }

}

}

}

16

BankAccountTests

namespace UnitTestingExamples.Tests

{

using System;

using NUnit.Framework;

[TestFixture]

public class BankAccountTests

{

[Test]

public void TestDeposit()

{

BankAccount account = new BankAccount();

account.Deposit(125.0);

account.Deposit(25.0);

Assertion.AssertEquals(150.0, account.Balance);

}

}

}

17

NUnit18

Разработка через тестирование19

Разработка через тестирование

Способ разработки программного обеспечения, который основывается на повторении очень коротких циклов разработки:

пишется тест;

пишется код;

проводится рефакторинг.

20

Цикл разработки через тестирование

21

TestPerson

namespace NunitExample

{

[TestFixture]

public class TestPerson

{

[Test]

public void TestFullName()

{

Person person = new Person();

person.Lname = "Doe";

person.Mname = "Roe";

person.Fname = "John";

string actual = person.GetFullName();

string expected = "John Roe Doe";

Assert.AreEqual(expected, actual,

"The GetFullName returned a different Value");

}

}

}

22

Person

public class Person

{

public string Fname { get; set; }

public string Lname { get; set; }

public string Mname { get; set; }

public string GetFullName()

{

if (string.IsNullOrEmpty(this.Lname))

{

throw new MissingFieldException("Lname is empty");

}

return string.Format("{0} {1} {2}", this.Fname,

this.Mname, this.Lname);

}

}

23

Преимущества

Разработчик реже ощущают необходимость использовать отладчик;

Разработчик продумывает детали интерфейса до реализации;

Тесты защищают от ошибок;

Тесты позволяют производить рефакторинг кода без риска его сломать;

24

Недостатки

К разработке через тестирование сложно привыкнуть.

25

Вопросы?

26