Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Метод комбинаторного покрытия условий






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

Пример 2

Задание:

Для алгоритма (рис.1) построить тесты на основе метода комбинаторного покрытия условий и выполнить исследование соответствующего алгоритма.

Решение:

По этому критерию в рассматриваемом примере должны быть покрыты тестами сле­дующие восемь комбинаций:

 

V1=(A> 1, B=0) V5=(A=2, X> 1)
V2=(A> 1, B≠ 0) V6=(A=2, X≤ 1)
V3=(A ≤ 1, B=0) V7=(A≠ 2, X> 1)
V4=(A≤ 1, B≠ 0) V8=(A ≠ 2, X≤ 1)

 

Для того чтобы протестировать эти комбинации, необяза­тельно использовать все 8 тестов. Фактически они могут быть покрыты четырьмя тестами.

Введем следующие формальные обозначения для этих четырех тестов:

1. Тест Т1(А=2, В=0, X=4) для комбинаций 1, 5

2. Тест Т2(А=2, В=1, X=1) для комбинаций 2, 6

3. Тест Т3(А=0.5, В=0, X=2) для комбинаций 3, 7

4. Тест Т4(А=1, В=1, X=1) для комбинаций 4, 8

Проведем исследования тестами исходного алгоритма (рис.1a) и алгоритма с ошибками (рис. 1б). Исследование предполагает построение протокола теста и диаграммы состояний теста для исходного алгоритма и для алгоритма с ошибками в операторах проверки условий, например, с операторами вида: U1=(A> 1)or(B=0), U2=(A=2)or(X< 1).

Для проведения исследования введем в рассмотрение следующие формальные обозначения для приведенных схем алгоритмов:

1. U1=(A> 1)and(B=0) - оператор проверки условия, принимает значения 1, если условие выполняется и значение 0, если условие не выполняется;

2. U2=(A=2)or(X> 1) - оператор проверки условия, принимает значения 1, если условие выполняется и значение 0, если условие не выполняется;

3. D1=(X=X/A) - оператор действия, принимает значение X;

4. D2=(X=X+1) - оператор действия, принимает значение X;

5. R1(…), R2(…) – выходные результаты после тестирования.

Исследование тестом Т1(А=2, В=0, X=4)

A) Алгоритм без ошибок

Протокол теста Т1(А=2, В=0, X=4):

1. U1=(2> 1)and(0=0) = 1 and 1 = 1

2. D1=(X=4/2 = 2)

3. U2=(2=2)or(2> 1) = 1 or 1 =1

4. D2=(X=2+1=3)

5. P1= (ace)

6. R1= (А = 2, В=0, X=3)

Диаграмма состояний теста:

U1(1)> D1(2)> U2(1)> D2(3)

B) Алгоритм с ошибками

Протокол теста Т1(А=2, В=0, X=4):

1. U1=(2> 1)or(0=0) = 1 or 1 = 1

2. D1=(X=4/2 = 2)

3. U2=(2=2)or(4< 1) = 1 or 1 =1

4. D2=(X=2+1=3)

5. P1= (ace)

6. R1= (А = 2, В=0, X=3)

Диаграмма состояний теста:

U1(1)> D1(2)> U2(1)> D2(3)

 

Исследование тестом Т2(А=2, В=1, X=1)

A) Алгоритм без ошибок

Протокол теста Т2(А=2, В=1, X=1):

1. U1=(2> 1)and(1=0) = 1 and 0 = 0

2. U2=(2=2)or(1> 1) = 1 or 0 =1

3. D2=(X=1+1=2)

4. P1= (abe)

5. R2= (А = 2, В=1, X=2)

Диаграмма состояний теста:

U1(0)> U2(1)> D2(2)

B) Алгоритм с ошибками

Протокол теста Т2(А=2, В=1, X=1)):

1. U1=(2> 1)or(1=0) = 1 or 0 = 1

2. D1=(X=1/2 = 0.5)

3. U2=(2=2)or(0.5< 1) = 1 or 1 =1

4. D2=(X=0.5+1=1.5)

5. P1= (ace)

6. R1= (А = 2, В=1, X=1.5)

Диаграмма состояний теста:

U1(1)> D1(0.5)> U2(1)> D2(1.5)

 

Исследование тестом Т3(А=0.5, В=0, X=2)

A) Алгоритм без ошибок

Протокол теста Т3(А=0.5, В=0, X=2):

6. U1=(0.5> 1)and(0=0) = 0 and 1 = 0

7. U2=(0.5=2)or(2> 1) = 0 or 1 =1

8. D2=(X=2+1=3)

9. P1= (abe)

10. R2= (А = 0.5, В=0, X=3)

Диаграмма состояний теста:

U1(0)> U2(1)> D2(3)






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.