3. План лекции
История профессии
В чем уникальность этой профессии?
Что делает тестер?
3
4. История профессии
1. Профессия тестера появилась в начале 90х
Рис 1 – первый браузер NCSA Mosaic.
Отображал картинки и текст, и было это
хорошо
Рис 2 – программа WordStar, один из
первых текстовых редакторов
4
5. История профессии
2. В начале 90х количество персональных компьютеров увеличивалось. За несколько
лет образовалась армия неподготовленных пользователей.
Рис 3 - количество ПК в мире по данным Международного союза электросвязи
5
6. История профессии
Время на тестирование сокращается, объемы и сложность
тестирования растут;
Разработка ПО рассыпалась по всему миру;
Профессия развивается, потребность в тестировщиках растет.
6
7. В чем уникальность профессии?
Университеты не предлагают ВО в области тестирования;
Не обязательно иметь образование в сфере ИТ, но важно
иметь хорошие пользовательские навыки;
Переносимые навыки;
Достаточно высокая оплата труда;
Тестирование относительно просто в изучении;
Повсеместная востребованность во всем мире;
Тестирование – международно-конвертируемая
профессия.
7
8. Что делает тестер?
Тестирование – это сравнение реального
программного продукта с программой, которая была
задумана изначально.
Мы изучаем спецификации (ТЗ);
Играем с программой;
Пишем тест-кейсы;
Автоматизируем тесты;
Рапортуем баги;
Проверяем починки.
8
14. Недостатки
Модульное тестирование не позволяет отловить
все ошибки программы;
Требуется больше времени на разработку и
поддержку;
Могут создать ложное ощущение надежности.
14
20. Разработка через тестирование
Способ разработки программного обеспечения,
который основывается на повторении очень
коротких циклов разработки:
пишется тест;
пишется код;
проводится рефакторинг.
20
22. 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
23. 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. Преимущества
Разработчик реже ощущают необходимость
использовать отладчик;
Разработчик продумывает детали интерфейса
до реализации;
Тесты защищают от ошибок;
Тесты позволяют производить рефакторинг кода
без риска его сломать;
…
24