ЮНИТ ТЕСТЫ
• Методы и классы
• В 90% случаев разработчики
Slide 40
Slide 40 text
ИНТЕГРАЦИОННЫЕ ТЕСТЫ
• Взаимодействие отдельных компонентов
• Big bang, bottom-up, top-down
Slide 41
Slide 41 text
СИСТЕМНЫЕ ТЕСТЫ
• Полностью собранная система
• GUI, Exploratory, Ad hoc, Security, Usability, etc.
Slide 42
Slide 42 text
Входные
данные
Тестируемая
система
Оракул
ТЕСТ
Slide 43
Slide 43 text
Входные
данные
Тестируемая
система
Оракул
ТЕСТ
Slide 44
Slide 44 text
ВХОДНЫЕ ДАННЫЕ
daysInMonthToString(days)
Slide 45
Slide 45 text
ВХОДНЫЕ ДАННЫЕ
daysInMonthToString(days)
daysInMonthToString(10) #=> “10 days”
Slide 46
Slide 46 text
ВХОДНЫЕ ДАННЫЕ
daysInMonthToString(days)
daysInMonthToString(10) #=> “10 days”
daysInMonthToString(-5) #=> Error: “No less than 0 days”
Slide 47
Slide 47 text
ВХОДНЫЕ ДАННЫЕ
daysInMonthToString(days)
daysInMonthToString(10) #=> “10 days”
daysInMonthToString(-5) #=> Error: “No less than 0 days”
daysInMonthToString(50) #=> Error: “No more than 31 days”
АНАЛИЗ ГРАНИЧНЫХ ЗНАЧЕНИЙ
daysInMonthToString(-1) #=> Error: “No less than 0 days”
daysInMonthToString(0) #=> “0 days”
daysInMonthToString(31) #=> “31 days”
daysInMonthToString(32) #=> Error: “No more than 31 days”
Slide 51
Slide 51 text
КЛАССЫ ЭКВИВАЛЕНТНОСТИ
1. Единственное число: day
2. Множественное число: days
Slide 52
Slide 52 text
КЛАССЫ ЭКВИВАЛЕНТНОСТИ
daysInMonthToString(-1) #=> Error: “No less than 0 days”
daysInMonthToString(0) #=> “0 days”
daysInMonthToString(1) #=> “1 day”
daysInMonthToString(31) #=> “31 days”
daysInMonthToString(32) #=> Error: “No more than 31 days”
Slide 53
Slide 53 text
Входные
данные
Тестируемая
система
Оракул
ТЕСТ
Slide 54
Slide 54 text
Входные
данные
Тестируемая
система
Оракул
ТЕСТ
Slide 55
Slide 55 text
ОРАКУЛ
• Предсказывает поведение системы
Slide 56
Slide 56 text
ОРАКУЛ
• Предсказывает поведение системы
• Определяет результат теста (pass/fail)
Slide 57
Slide 57 text
ОРАКУЛ
• Предсказывает поведение системы
• Определяет результат теста (pass/fail)
• Джеймс Бах / Майкл Болтон: “FEW HICCUPPS” (руч.)
• Дуг Хоффман: “Таксономия оракулов” (авт.)
Slide 58
Slide 58 text
ЧТО ДАЛЬШЕ?
Slide 59
Slide 59 text
ЧТО ДАЛЬШЕ?
Непрерывная интеграция, деплоймент, ATDD, etc.
Slide 60
Slide 60 text
ЧТО ДАЛЬШЕ?
Непрерывная интеграция, деплоймент, ATDD, etc.
Оптимизация тестов, инфраструктура, etc.
Slide 61
Slide 61 text
ТЕСТИРОВАНИЕ И
ПАРАРАЗРАБОТКА
Slide 62
Slide 62 text
ПАРАРАЗРАБОТКА
Процесс в команде разработки, который
не является разработкой
Slide 63
Slide 63 text
Разработчик со множеством скиллов,
не ограниченный формальными рамками
ПАРАРАЗРАБОТЧИК