Отладка и тестирование приложений в среде Visual Studio 2005. Евсеева О.Н - 64 стр.

UptoLike

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

64
пенного его удлинения за счет добавления дуг, пока не будет достигнута вы-
ходная вершина управляющего графа программы. Эта идея может быть усиле-
на в так называемых адаптивных методах, которые каждый раз добавляют
только один тестовый путь (входной тест), используя предыдущие пути (тесты)
как руководство для выбора последующих путей в соответствии с некоторой
стратегией. Чаще всего адаптивные стратегии применяются по отношению к
критерию С1. Основной недостаток статических методов заключается в том,
что не учитывается возможная нереализуемость построенных путей тестирова-
ния.
Динамические методы. Такие методы предполагают построение полной
системы тестов, удовлетворяющих заданному критерию, путем одновременно-
го решения задачи построения покрывающего множества путей и тестовых
данных. При этом можно автоматически учитывать реализуемость или нереа-
лизуемость ранее рассмотренных путей или их частей. Основной идеей дина-
мических методов является подсоединение к начальным реализуемым отрезкам
путей дальнейших их частей так, чтобы: 1) не терять при этом реализуемости
вновь полученных путей; 2) покрыть требуемые элементы структуры програм-
мы.
Методы реализуемых путей. Данная методика заключается в выделении
из множества путей подмножества всех реализуемых путей. После чего покры-
вающее множество путей строится из полученного подмножества реализуемых
путей.
4.1.4. Пример модульного тестирования
Пусть требуется протестировать класс TCommand, который реализует ко-
манду для склада. Этот класс содержит единственный метод
TCommand.GetFullName(), спецификация которого описывается следующим об-
разом:
...
Операция GetFullName() возвращает полное имя команды, соответствующее ее допус-
тимому коду, указанному в поле NameCommand. В противном случае возвращается со-
общение «ОШИБКА: Неверный код команды». Операция может быть применена в любой
момент.
...
Разработаем спецификацию тестового случая для тестирования метода
GetFullName
на основе приведенной спецификации класса (
Таблица 5
).