Тестовый набор из двух тестов, удовлетворяет критерию ветвей (C1):
(X,Y)={(30,0), (17,17)} добавляет 1 тест к множеству тестов для С0 и трассу 1-2-4-6. Трасса 1-2-3-4-5-6 проходит через все ветви достижимые в операторах if при условии true, а трасса 1-2-4-6 через все ветви, достижимые в операторах if при условии false.
Тестовый набор из четырех тестов, удовлетворяет критерию путей (C2):
(X,Y)={(30,0), (17,17), (-13,0), (21,-4)}
Набор условий для двух операторов if c метками 2 и 4 приведен в таблица 3.1
(30,0) | (17,17) | (-13,0) | (21,-4) | |
2 if (x>17) | > | ![]() | ![]() | > |
4 if (x==-13) | = | ![]() | = | ![]() |
Критерий ветвей С2 проверяет программу более тщательно, чем критерии - C1, однако даже если он удовлетворен, нет оснований утверждать, что программа реализована в соответствии со спецификацией.
Например, если спецификация задает условие, что|x|
Структурные критерии не проверяют соответствие спецификации, если оно не отражено в структуре программы. Поэтому при успешном тестировании программы по критерию C2 мы можем не заметить ошибку, связанную с невыполнением некоторых условий спецификации требований.