8. Пример продуктовой обратной связи
• «Здесь нельзя грабить корованы!»
(с) пользователь
• «Оно делает не то, что надо!»
(с) менеджер
8
9. Пример продуктовой обратной связи
• «Здесь нельзя грабить корованы!»
(с) пользователь
• «Оно делает не то, что надо!»
(с) менеджер
• «Я не могу использовать разработанный
тобой API, он не возвращает все
необходимые данные.»
(с) коллега-разработчик
9
10. Пример технической обратной связи
• «Поддержка продукта при такой
архитектуре будет слишком сложна.»
(с) системный архитектор
10
11. Пример технической обратной связи
• «Поддержка продукта при такой
архитектуре будет слишком сложна.»
(с) системный архитектор
• «Ребята, оно падает каждые полчаса, я не
буду это поддерживать.»
(с) системный администратор
11
12. Пример технической обратной связи
• «Поддержка продукта при такой
архитектуре будет слишком сложна.»
(с) системный архитектор
• «Ребята, оно падает каждые полчаса, я не
буду это поддерживать.»
(с) системный администратор
• «Эта реализация не выдержит
предполагаемой нагрузки.»
(с) кто-то битый жизнью
12
19. Плюсы unit-тестов
• Можно запустить сразу после внесения
изменений в код – позволяют найти дефект
сразу после его «создания».
19
20. Плюсы unit-тестов
• Можно запустить сразу после внесения
изменений в код – позволяют найти дефект
сразу после его «создания».
• Могут служить документацией к коду.
20
21. Плюсы unit-тестов
• Можно запустить сразу после внесения
изменений в код – позволяют найти дефект
сразу после его «создания».
• Могут служить документацией к коду.
• Упрощают процесс рефакторинга.
21
31. Плюсы интеграционных тестов
• Находят баги, которые не могут быть
обнаружены unit-тестами.
• Запускаются после сборки проекта и
позволяют быстро обнаружить проблемы
взаимодействия.
31
36. Плюсы приёмочных тестов
• Находят баги, которые не могут быть
обнаружены unit- и интеграционными
тестами
36
37. Плюсы приёмочных тестов
• Находят баги, которые не могут быть
обнаружены unit- и интеграционными
тестами
• Позволяют оценить работоспособность
продукта целиком
37
38. Плюсы приёмочных тестов
• Находят баги, которые не могут быть
обнаружены unit- и интеграционными
тестами
• Позволяют оценить работоспособность
продукта целиком
• На этом уровне с продуктом могут
ознакомиться будущие пользователи
38
40. Минусы приёмочных тестов
• Самые высокоуровневые – сложнее
локализовывать проблему
• Занимают больше времени
40
41. Минусы приёмочных тестов
• Самые высокоуровневые – сложнее
локализовывать проблему
• Занимают больше времени
• Обнаруживают проблемы с некоторой
задержкой
41
54. Причём:
• Необходимо измерить длительность
полного цикла «запрос-ответ». Оценить
общее время, обратить внимание на
отдельные этапы
54
55. Причём:
• Необходимо измерить длительность
полного цикла «запрос-ответ». Оценить
общее время, обратить внимание на
отдельные этапы
• То же самое – под нагрузкой
55
56. Причём:
• Необходимо измерить длительность
полного цикла «запрос-ответ». Оценить
общее время, обратить внимание на
отдельные этапы
• То же самое – под нагрузкой
• В пользовательских условиях (сетевые
условия)
56
65. Ещё много…
• Volume тестирование
• Stress/Recovery тестирование
• Spike тестирование
• Localization тестирование
• Compatibility тестирование
И т. д. И т. п.
65
74. Плюсы и минусы неручного подхода
Плюсы
• Удобно и легко
74
75. Плюсы и минусы неручного подхода
Плюсы
• Удобно и легко
Минусы
• Тесты нужно писать и поддерживать
75
76. Плюсы и минусы неручного подхода
Плюсы
• Удобно и легко
Минусы
• Тесты нужно писать и поддерживать
• Тесты выполняются «в лоб»
76
77. Плюсы и минусы неручного подхода
Плюсы
• Удобно и легко
Минусы
• Тесты нужно писать и поддерживать
• Тесты выполняются «в лоб»
• Сами тесты/скрипты/инструменты могут
содержать баги и порождать ложные
результаты
77