Top Banner
ТЕСТИРОВАНИЕ КАК ПАРАРАЗРАБОТКА @p0deje [email protected]
53

2015-03-07 02 Алексей Родионов. Тестирование как параразработка

Jul 16, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ТЕСТИРОВАНИЕКАК ПАРАРАЗРАБОТКА

@p0deje [email protected]

Page 2: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

• 7+ лет в тестировании

• Head QA @ Toptal

• Code monkey @ Watir

• (ex) Контрибутор @ Mozilla

АЛЕКСЕЙ РОДИОНОВ

Page 3: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

КАЧЕСТВО

Page 4: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

КАЧЕСТВОсоответствие реализации заданным характеристикам

Page 5: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

КАЧЕСТВОсоответствие реализации заданным характеристикам

(функциональная спека, дизайн, юзабилити, etc.)

Page 6: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ТЕСТИРОВАНИЕполучение информации о качестве

Page 7: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ЗАЧЕМ?

Page 8: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ЗАЧЕМ?изменение текущих процессов разработки

Page 9: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ЗАЧЕМ?более лучшее качество

Page 10: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ЗАЧЕМ?выше конкурентоспособность

Page 11: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ЗАЧЕМ?увеличение прибыли

Page 12: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

PROFIT!

Page 13: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

N.B. Иллюстрация принципа “why stack” компании ThoughtWorks

Page 14: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

КАК?Верификация и Валидация

Page 15: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ВЕРИФИКАЦИЯмы сделали то, что требовалось

Page 16: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ВАЛИДАЦИЯто, что мы сделали, соответствует ожиданиям (клиента, пользователей)

Page 17: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

КАК?

Page 18: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

КАК?Требования, планы, кейсы, трэкер и т.д.

Page 19: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

КАК?Требования, планы, кейсы, трэкер и т.д. Требования, планы, кейсы, трэкер и т.д.

Page 20: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

КАК?Требования, планы, кейсы, трэкер и т.д. Требования, планы, кейсы, трэкер и т.д. Требования, планы, кейсы, трэкер и т.д.

Page 21: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

КАК?Требования, планы, трэкер и т.д. Требования, планы, трэкер и т.д. Требования, планы, трэкер и т.д.

Page 22: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

КАК?Требования, трэкер и т.д. Требования, трэкер и т.д. Требования, трэкер и т.д.

Page 23: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

КАК?Требования и т.д. Требования и т.д. Требования и т.д.

Page 24: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

КАК?Как-то так

Page 25: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

“РЕГРЕССИОННАЯ СПИРАЛЬ СМЕРТИ”

Page 26: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

РУЧНОЕ ТЕСТИРОВАНИЕ НЕ МАСШТАБИРУЕТСЯ

Page 27: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

КОЛИЧЕСТВО ➜ КАЧЕСТВО

Page 28: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

АВТОМАТИЗАЦИЯ ТЕСТИРОВАНИЯ

Page 29: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

УРОВНИ

Юнит тесты Интеграционные тесты Системные тесты

Page 30: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ЮНИТ ТЕСТЫ

• Методы и классы

• В 90% случаев разработчики

Page 31: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ИНТЕГРАЦИОННЫЕ ТЕСТЫ

• Взаимодействие отдельных компонентов

• Big bang, bottom-up, top-down

Page 32: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

СИСТЕМНЫЕ ТЕСТЫ

• Полностью собранная система

• GUI, Exploratory, Ad hoc, Security, Usability, etc.

Page 33: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

Входные данные Тестируемая система Оракул

ТЕСТ

Page 34: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ВХОДНЫЕ ДАННЫЕ

daysInMonthToString(days)

Page 35: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ВХОДНЫЕ ДАННЫЕ

daysInMonthToString(days)daysInMonthToString(10) #=> “10 days”

Page 36: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ВХОДНЫЕ ДАННЫЕ

daysInMonthToString(days)daysInMonthToString(10) #=> “10 days”

daysInMonthToString(50) #=> Error: “No more than 31 days”

Page 37: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

АНАЛИЗ ПОГРАНИЧНЫХ ЗНАЧЕНИЙ

… -1 0 31 32 …

Page 38: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

АНАЛИЗ ПОГРАНИЧНЫХ ЗНАЧЕНИЙ

… -1 0 31 32 …

Неверно НеверноВерно

Page 39: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

АНАЛИЗ ПОГРАНИЧНЫХ ЗНАЧЕНИЙ

daysInMonthToString(-1)daysInMonthToString(0)daysInMonthToString(31)daysInMonthToString(32)

Page 40: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

КЛАССЫ ЭКВИВАЛЕНТНОСТИ

Единственное число - day Множественное число - days

Page 41: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

КЛАССЫ ЭКВИВАЛЕНТНОСТИ

daysInMonthToString(-1)daysInMonthToString(0)

daysInMonthToString(31)daysInMonthToString(32)

daysInMonthToString(1)

Page 42: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

Входные данные Тестируемая система Оракул

ТЕСТ

Page 43: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ОРАКУЛ

• Предсказывает поведение системы

• Определяет результат теста (pass/fail)

• Джеймс Бах / Майкл Болтон: “FEW HICCUPPS”

• Дуг Хоффман: “Таксономия оракулов”

Page 44: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ЧТО ДАЛЬШЕ?

Page 45: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ЧТО ДАЛЬШЕ?Непрерывная интеграция, деплоймент, ATDD, etc.

Page 46: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ЧТО ДАЛЬШЕ?Непрерывная интеграция, деплоймент, ATDD, etc. Оптимизация тестов, инфраструктура, etc.

Page 47: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

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

Page 48: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ТЕСТИРОВАНИЕ? ПАРАРАЗРАБОТКА!

Page 49: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ПАРАДЕВЧеловек в команде разработки, который

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

Page 50: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ПАРАДЕВЧеловек со множеством скиллов

и неограниченный формальными рамками

Page 51: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ПАРАДЕВЦель тестирования - перестать тестировать

Page 52: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

ПАРАДЕВ“Test is dead” - Alberto Savoia

Page 53: 2015-03-07 02 Алексей Родионов. Тестирование как параразработка

@p0deje [email protected]

СПАСИБО!