Технологии разработки программного обеспечения


Тестирование ветвей и операторов отношений - часть 2


(true, >, true).

Ясно, что вторая запись является прямым руководством для написания теста. Она указывает, что переменная b должна иметь истинное значение, значение переменной х должно быть больше значения переменной у, и, наконец, переменная а должна иметь истинное значение.

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

Пример 1. В качестве примера рассмотрим два типовых составных условия:

С&

= а & Ь, Сor =а or b,

где а и b — булевы переменные. Соответствующие ограничения условий принимают вид

ОУ&=(

d1,d2), ОУor=( d1,d2),

где d1 = d2 = (true, false).

Ограничивающие множества удобно строить с помощью таблицы истинности (табл. 6.1).

 

Таблица 6.1. Таблица истинности логических операций

Вариант

а

b

a & b

a or b

1

false

false

false

false

2

false

true

false

true

3

true

false

false

true

4

true

true

true

true

Видим, что таблица задает в ОМ четыре элемента (и соответственно, четыре тестовых варианта). Зададим вопрос — каковы возможности минимизации? Можно ли уменьшить количество элементов в ОМ?

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

Воспользуемся идеей сокращенной схемы вычисления — элементы выражения вычисляются до тех пор, пока они влияют на значение выражения. При тестировании необходимо выявить ошибки переключения, то есть ошибки из-за булева оператора, оперируя значениями простых условий (булевых переменных). При таком инженерном подходе справедливы следующие выводы:

q       для условия типа И (а & b) варианты 2 и 3 поглощают вариант 1.


Начало  Назад  Вперед



Книжный магазин