Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
74
Добавлен:
16.03.2015
Размер:
188.42 Кб
Скачать

8. Минимально грубое тестирование

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

В качестве такого компромисса был предложен критерий минимально грубого тестирования (МГТ). МГТ представляет собой критерий покрытия решений/условий, усиленный дополнительными требованиями по проверке циклов. Проверка циклов организуется по следующим правилам:

  1. для каждого цикла с предусловием должна быть проверена правильность при нулькратном, однократном и многократном повторении тела цикла. Многократным считается любое повторение более одного раза;

  2. для каждого цикла с постусловием должна быть проверена правильность при однократном и многократном повторении тела цикла;

  3. проверка цикла со счетчиком зависит от того, фиксированы ли границы изменения счетчика или вычисляются. Вообще говоря, как и для цикла с предусловием, требуется проверка при нулькратном, одно- и многократном повторении тела цикла.

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

Строки таблицы соответствуют проверяемым условиям,

графы — тестам.

Для каждого условного оператора в таблице МГТ создаются 2 строки: для ветви «то» и ветви «иначе».

Тест 1

Тест 2

Тест 3

Тест 4

Тест 5

if a > b

+

-

Для каждого цикла с предусловием — 3 строки: для нулькрат-ного, однократного и многократного повторения тела цикла.

Тест 1

Тест 2

Тест 3

Тест 4

Тест 5

while a > b

=0

=1

>1

Для каждого цикла с постусловием — 2 строки: для однократного и многократного повторения тела цикла.

Тест 1

Тест 2

Тест 3

Тест 4

Тест 5

repeat until a > b

=1

>1

Для каждого цикла со счетчиком — 3 строки: для нулькрат-ного, однократного и многократного повторения тела цикла.

Тест 1

Тест 2

Тест 3

Тест 4

Тест 5

=0

for k := l to n

=1

>1

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

Для каждого оператора выбора записывается столько строк, сколько он имеет ветвей (включая ветвь «иначе»):

Тест 1

Тест 2

Тест3

Тест 4

Тест 5

case color

red

green

blue

else

Если в условном операторе, в цикле с пред- или постусловием стоит сложное условие, то к строкам, соответствующим самому оператору, добавляются по 2 строки на каждое простое условие:

Тест 1

Тест 2

Тест3

Тест 4

Тест 5

if (a > b) and (х = у)

+

-

a > b

+

-

х = у

+

-

-

12

Соседние файлы в папке 000