Методы тестирования программного обеспечения. Степанченко И.В. - 56 стр.

UptoLike

Составители: 

58
3.2.3. Применение функциональных диаграмм
Одним из недостатков анализа граничных значений и эквивалентно-
го разбиения является то, что они не исследуют комбинаций входных ус-
ловий. Например, пусть программа из приведенного выше примера не
выполняется, если произведение числа вопросов и числа студентов пре-
вышает некоторый предел (например, объем памяти). Такая ошибка не
обязательно будет обнаружена тестированием граничных значений.
Тестирование комбинаций входных условийнепростая задача, по-
скольку даже при построенном эквивалентном разбиении входных усло-
вий число комбинаций обычно астрономически велико. Если нет систе-
матического способа выбора подмножества входных условий, то, как
правило, выбирается произвольное подмножество, приводящее к неэф-
фективному тесту.
Метод функциональных диаграмм или
диаграмм причинно-
следственных связей [1] помогает систематически выбирать высокорезуль-
тативные тесты. Он дает полезный побочный эффект, так как позволяет
обнаруживать неполноту и неоднозначность исходных спецификаций.
Функциональная диаграмма представляет собой формальный язык,
на который транслируется спецификация, написанная на естественном
языке. Диаграмме можно сопоставить цифровую логическую цепь (ком-
бинаторную логическую сеть), но для
ее описания используется более
простая нотация (форма записи), чем обычная форма записи, принятая в
электронике. Для уяснения метода функциональных диаграмм вовсе не
обязательно знание электроники, но желательно понимание булевской
логики (т. е. логических операторов и, или и не). Построение тестов этим
методом осуществляется в несколько этапов.
1. Спецификация разбивается на «рабочие
» участки. Это связано с тем,
что функциональные диаграммы становятся слишком громоздкими
при применении данного метода к большим спецификациям. Напри-
мер, когда тестируется система разделения времени, рабочим участ-
ком может быть спецификация отдельной команды. При тестирова-
нии компилятора в качестве рабочего участка можно рассматривать
каждый отдельный оператор языка программирования.
2. В
спецификации определяются причины и следствия. Причина есть
отдельное входное условие или класс эквивалентности входных ус-
ловий. Следствие есть выходное условие или преобразование систе-
мы (остаточное действие, которое входное условие оказывает на со-
стояние программы или системы). Например, если сообщение про-
граммы приводит к обновлению основного файла, то изменение в
нем и
является преобразованием системы; подтверждающее сообще-
ние было бы выходным условием. Причины и следствия определяют-
               3.2.3. Применение функциональных диаграмм
     Одним из недостатков анализа граничных значений и эквивалентно-
го разбиения является то, что они не исследуют комбинаций входных ус-
ловий. Например, пусть программа из приведенного выше примера не
выполняется, если произведение числа вопросов и числа студентов пре-
вышает некоторый предел (например, объем памяти). Такая ошибка не
обязательно будет обнаружена тестированием граничных значений.
     Тестирование комбинаций входных условий – непростая задача, по-
скольку даже при построенном эквивалентном разбиении входных усло-
вий число комбинаций обычно астрономически велико. Если нет систе-
матического способа выбора подмножества входных условий, то, как
правило, выбирается произвольное подмножество, приводящее к неэф-
фективному тесту.
     Метод функциональных диаграмм или диаграмм причинно-
следственных связей [1] помогает систематически выбирать высокорезуль-
тативные тесты. Он дает полезный побочный эффект, так как позволяет
обнаруживать неполноту и неоднозначность исходных спецификаций.
     Функциональная диаграмма представляет собой формальный язык,
на который транслируется спецификация, написанная на естественном
языке. Диаграмме можно сопоставить цифровую логическую цепь (ком-
бинаторную логическую сеть), но для ее описания используется более
простая нотация (форма записи), чем обычная форма записи, принятая в
электронике. Для уяснения метода функциональных диаграмм вовсе не
обязательно знание электроники, но желательно понимание булевской
логики (т. е. логических операторов и, или и не). Построение тестов этим
методом осуществляется в несколько этапов.
1. Спецификация разбивается на «рабочие» участки. Это связано с тем,
    что функциональные диаграммы становятся слишком громоздкими
    при применении данного метода к большим спецификациям. Напри-
    мер, когда тестируется система разделения времени, рабочим участ-
    ком может быть спецификация отдельной команды. При тестирова-
    нии компилятора в качестве рабочего участка можно рассматривать
    каждый отдельный оператор языка программирования.
2. В спецификации определяются причины и следствия. Причина есть
    отдельное входное условие или класс эквивалентности входных ус-
    ловий. Следствие есть выходное условие или преобразование систе-
    мы (остаточное действие, которое входное условие оказывает на со-
    стояние программы или системы). Например, если сообщение про-
    граммы приводит к обновлению основного файла, то изменение в
    нем и является преобразованием системы; подтверждающее сообще-
    ние было бы выходным условием. Причины и следствия определяют-

                                  58