Тестирование покрытия нескольких условий
При использовании метода тестирования "белого ящика" под названием "Многократное покрытие условий", мы берем все условные операторы или только те, которые имеют несколько условий? Теперь, возможно, подсказки в названии, но я не уверен.
Так что если у меня есть следующий метод
void someMethod()
{
if(a && b && (c || (d && e)) ) //Conditional A
{
}
if(z && q) // Conditional B
{
}
}
Я сгенерирую таблицу истинности только для "Условного A" или я также создаю Условный B?
Спасибо,
2 ответа
Я мог бы что-то здесь упустить, но, как вы написали код в своем вопросе, условия A и B полностью независимы друг от друга. Поэтому вы не сможете охватить весь код, если не протестируете оба условия.
Я нашел следующее на покрытии нескольких условий. Похоже, это указывает на то, что множественное покрытие условий, как следует из названия, применимо только к условным выражениям с несколькими операторами.
Так что для следующих условных:
if ((a>0)&&(b<=4)&&(c>0))
Мы создаем следующее
Test Case a > 0 b <= 4 c > 0
MCC1 F F F
MCC2 F F T
MCC3 F T F
MCC4 F T T
MCC5 T F F
MCC6 T F T
MCC7 T T F
MCC8 T T T