База знаний
Когда начинать и заканчивать тестирование?
Вспомним график стоимости дефектов:
Как видим, чем позже дефект был обнаружен, тем дороже обойдется его исправление и тем больше усилий для этого потребуется. Кроме того, как мы помним, дефекты, заложенные в систему на ранних уровнях проектирования особенно коварны – их трудно отследить и правильно интерпретировать. Вывод напрашивается сам собой: чем раньше в жизненном цикле программы начнется тестирование, тем в большей степени мы можем быть уверены в ее качестве.
Большинство специалистов сходятся в мысли, что тестирование нужно начинать еще на этапе составления требований к системе. Хотя тут все будет зависеть от выбранной модели разработки (о них мы поговорим чуть позже). К примеру, в каскадной модели тестирование проводится на специально выделенном для него этапе. Итерационная же модель позволяет осуществлять тестирование практически параллельно с разработкой нового функционала.
На разных этапах жизненного цикла ПО тестирование проводится в разных формах:
– на этапе определения требований: их анализ и верификация также могут считаться тестированием;
– контроль процесса проектирования на этапе разработки дизайна системы – это тоже форма тестирования;
– как уже упоминалось, разработчики тоже участвуют в тестировании на уровне модульного тестирования.
Труднее определить критерий окончания тестирования, поскольку, согласно принципам тестирования, мы никогда не можем быть уверены в том, что программа на 100% свободна от дефектов. Поэтому используются другие условия:
1. граничные сроки, установленные заранее;
2. выполнение всех предусмотренных тест-кейсов;
3. достижение определенного уровня тестового покрытия;
4. когда после определенного момента, мы практически не находим новых багов или критических дефектов;
5. решение менеджмента.