Составители:
Рубрика:
45
покрывают результаты всех условий, но только два из четырех результатов
решений (они оба покрывают путь аbе и, следовательно, не выполняют ре-
зультат истина первого решения и результат ложь второго решения).
3.1.4. Покрытие решений/условий
Очевидным следствием из этой дилеммы является критерий, на-
званный покрытием решений/условий. Он требует такого
достаточного
набора тестов, чтобы все возможные результаты каждого условия в
решении, все результаты каждого решения выполнялись, по край-
ней мере, один раз и каждой точке входа передавалось управление,
по крайней мере, один раз.
Недостатком критерия покрытия решений/условий является невоз-
можность его применения для выполнения всех результатов всех усло-
вий;
часто подобное выполнение имеет место вследствие того, что опре-
деленные условия скрыты другими условиями. В качестве примера рас-
смотрим приведенную на рис. 4 схему передач управления в коде, гене-
рируемым компилятором языка, программы рис. 3.
A>1 B=0
A=2
X>1
X=X/A
X=X+1
H
J
K
True
False
False
I
True
True
True
False
False
Рис. 4. Блок-схема машинного кода программы, изображенной на рис. 3
Многоусловные решения исходной программы здесь разбиты на от-
дельные решения и переходы, поскольку большинство компьютеров не
покрывают результаты всех условий, но только два из четырех результатов решений (они оба покрывают путь аbе и, следовательно, не выполняют ре- зультат истина первого решения и результат ложь второго решения). 3.1.4. Покрытие решений/условий Очевидным следствием из этой дилеммы является критерий, на- званный покрытием решений/условий. Он требует такого достаточного набора тестов, чтобы все возможные результаты каждого условия в решении, все результаты каждого решения выполнялись, по край- ней мере, один раз и каждой точке входа передавалось управление, по крайней мере, один раз. Недостатком критерия покрытия решений/условий является невоз- можность его применения для выполнения всех результатов всех усло- вий; часто подобное выполнение имеет место вследствие того, что опре- деленные условия скрыты другими условиями. В качестве примера рас- смотрим приведенную на рис. 4 схему передач управления в коде, гене- рируемым компилятором языка, программы рис. 3. H True True I A>1 B=0 False False X=X/A J True A=2 False K True X>1 False X=X+1 Рис. 4. Блок-схема машинного кода программы, изображенной на рис. 3 Многоусловные решения исходной программы здесь разбиты на от- дельные решения и переходы, поскольку большинство компьютеров не 45
Страницы
- « первая
- ‹ предыдущая
- …
- 41
- 42
- 43
- 44
- 45
- …
- следующая ›
- последняя »