4.3.1. Метод покрытия операторов

Если отказаться полностью от тестирования всех путей, можно показать, что критерием покрытия является выполнение каждого оператора программы хотя бы один раз.

Это необходимое, но недостаточное условие для приемлемого тестирования по принципу «белого ящика».

В этой программе можно выполнить каждый оператор, записав один-единственный тест, который реализовал бы путь ACE. Если бы на входе было: А=2, В=0, Х=3, каждый оператор выполнился бы один раз. Но этот критерий на самом деле хуже, чем он кажется на первый взгляд. Пусть в первом условии вместо “and” написан оператор “or” и во втором условии вместо x>1 или x<1. В этом случае, при тестировании ошибка обнаружена не будет. Результаты тестирования приведены в табл. 1. Обратите внимание: ожидаемый результат определяется по алгоритму на рис. 19, что не соответствует фактическому. Как видно из таблицы, ни одна из этих ошибок не будет обнаружена.

Рис. 18 Алгоритм тестируемой программы Рис. 18 Алгоритм тестируемой программы

1. Результат тестирования методом покрытия операторов

Тест Ожидаемый результат Фактический результат Результат тестирования
A=2, B=0 X=3 X=2,5 неуспешно
Рис. 19 Исходный код тестируемой программы Рис. 19 Исходный код тестируемой программы