Комбинаторное покрытие условий
По этому критерию должны быть покрыты тестами следующие 8 комбинаций:
(1) A > 1, B = 0 (5) A = 2, X >1
(2) A > 1, B ¹ 0 (6) A = 2, X £ 1
(3) A < 1, B = 0 (7) A ¹ 2, X >1
(4) A < 1, B ¹ 0 (8) A ¹ 2, X £ 1
Следует обратить внимание, что комбинации (5) – (8) представляют собой значения второго оператора if. Поскольку X может быть изменено до выполнения этого оператора, значения, необходимые для его проверки, следует восстановить исходя из логики программы с тем, чтобы найти соответствующие входные значения.
Для того, чтобы протестировать эти комбинации, необязательно использовать все восемь тестов. Фактически они могут быть покрыты четырьмя тестами:
A=2, B=0, X=4 покрывает 1,5
A=2, B=1, X=1 покрывает 2,6
A=1, B=0, X=2 покрывает 3,7
A=2, B=0, X=4 покрывает 4,8
2. Тестирование на основе потока данных
Первоначально анализ потока данных использовался при статическом тестировании программ для выявления ссылок на неинициализированные переменные и избыточных присваиваний.
В настоящее время используется несколько стратегий тестирования на основе потока данных:
· тестирование всех взаимосвязей, включающих в себя ссылку (использование) и определение переменной, на которую указывает ссылка, т.е. должны покрываться дуги информационного графа программы. Недостаток стратегии заключается в том, что она не гарантируетпокрытие решений;
· стратегия требуемых пар, при которой тестируются пары (вершина, дуга). Использование переменной в предикате дублируется в соответствии с числом выходов решения, и каждая из таких взаимосвязей должна быть протестирована. При этом определение переменной производится в вершине управляющего графа программы, а использование – как на дугах, исходящих из решений, так и в вычислительных вершинах.
Дата добавления: 2015-08-26; просмотров: 1001;