Реферат: Программа сложной структуры с использованием меню
1) накапливать информации о покрытых и непокрытых ветвях для всех использованных тестов ;
2) выделять разработчику еще не покрытые при тестировании участки программы, облегчая выбор следующих тестов ;
3) поддерживать более мощные критерии полноты структурного тестирования.
Совместное тестирование модулей.
Известны два подхода к совместному тестированию модулей : пошаговое и монолитное тестирование.
При монолитном тестировании сначала по отдельности тестируются все модули программного комплекса, а затем все они объединяются в рабочую программу для комплексного тестирования.
При пошаговом тестировании каждый модуль для своего тестирования подключается к набору уже проверенных модулей.
В первом случае для автономного тестирования каждого модуля требуется модуль - драйвер ( то есть вспомогательный модуль, имитирующий вызов тестируемого модуля) и один или несколько модулей - заглушек ( то есть вспомогательных модулей, имитирующих работу модулей, вызываемых из тестируемого). При пошаговом тестировании модули проверяются не изолированно друг от друга, поэтому требуются либо только драйверы, либо только заглушки.
А
B C D
E F
ðèñ. 1
12
При сравнении пошагового и монолитного тестирования можно отметить следующие преимущества первого подхода :
1) меньшая трудоемкость (для примера на рис.1 при монолитном тестировании требуются 5 драйверов и 5 заглушек ; при пошаговом тестировании требуются или только 5 драйверов - если модули подключаются “снизу вверх ”, - или только 5 заглушек - если модули подключаются “сверху вниз”) ;
2) более раннее обнаружение ошибок в интерфейсах между модулями (их сборка начинается раньше, чем при монолитном тестировании ) ;
3) легче отладка, то есть локализация ошибок (они в основном связаны с последним из подключенных модулей ) ;
4) более совершенны результаты тестирования (более тщательная проверка совместного использования модулей).
Есть преимущества и у монолитного тестирования :
1) меньше расход машинного времени (хотя из-за большей сложности отладки может потребоваться дополнительная проверка программы и это преимущество будет сведено на нет) ;
2) предоставляется больше возможностей для организации параллельной работы на начальном этапе тестирования.
В целом более целесообразным является выбор пошагового тестирования. При его использовании возможны две стратегии подключения модулей : нисходящая и восходящая.
Нисходящее тестирование начинается с главного (или верхнего) модуля программы, а выбор следующего подключаемого модуля происходит из числа модулей, вызываемых из уже протестированных. Одна из основных проблем , возникающих при нисходящем тестировании, - создание заглушек. Это тривиальная задача, т. к. как правило недостаточно, чтобы в заглушке выполнялся вывод соответствующего информационного сообщения и возврат всегда одних и тех же значений выходных данных.
Другая проблема , которую необходимо решать при нисходящем тестировании, - форма представления тестов в программе, так как, как правило, главный модуль получает входные данные не непосредственно, а через специальные модули ввода, которые при тестировании в начале заменяются заглушками. Для передачи в главный модуль разных тестов нужно или иметь несколько разных заглушек, или записать эти тесты в файл во внешней памяти и с помощью заглушки считывать их.
Поскольку после тестирования главного модуля процесс проверки может продолжаться по-разному, следует придерживаться следующих правил :
a) модули, содержащие операции ввода-вывода, должны подключаться к тестированию как можно раньше ;
b) критические (т.е. наиболее важные ) для программы в целом модули также должны тестироваться в первую очередь.
12
Основные достоинства нисходящего тестирования :
уже на ранней стадии тестирования есть возможность получить работающий вариант разрабатываемой программы ;