Что такое тестирование и какова его цель
Что проверяют
Понимаете ли вы, что цель не «найти все баги», а дать информацию о качестве для принятия решения. Это базовый вопрос, где ценится точность формулировки.
Как отвечать
Тестирование это проверка соответствия продукта требованиям и ожиданиям с целью предоставить заинтересованным лицам информацию о его качестве и рисках.
Ключевые цели:
- найти дефекты до того, как их найдёт пользователь;
- дать информацию для решения: можно ли выпускать, какие риски остаются;
- предотвратить дефекты: участие в разборе требований на раннем этапе дешевле, чем поиск ошибок в готовом коде;
- подтвердить соответствие требованиям и стандартам.
Важно назвать принципы, потому что именно они показывают зрелость:
- исчерпывающее тестирование невозможно, поэтому работают техники тест-дизайна и приоритизация по рискам;
- тестирование показывает наличие дефектов, а не их отсутствие;
- раннее тестирование дешевле: цена исправления растёт с каждым этапом;
- скопление дефектов: большинство находится в небольшой части модулей;
- парадокс пестицида: одни и те же тесты перестают находить новое, набор надо обновлять;
- тестирование зависит от контекста: банк и игра проверяются по-разному;
- заблуждение об отсутствии ошибок: продукт без дефектов, но бесполезный пользователю, всё равно провален.
Полезно развести понятия: верификация это «сделали ли продукт правильно», валидация это «сделали ли правильный продукт».
Где спотыкаются
Говорят, что цель это найти все дефекты.
Не могут назвать ни одного принципа.
Путают верификацию и валидацию.
Сводят тестирование к прогонy тест-кейсов, забывая про участие в требованиях.