Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИПОВС (2002) / Диплом ИПОВС 2002.doc
Скачиваний:
64
Добавлен:
16.04.2013
Размер:
2.31 Mб
Скачать

Раздел II Технологическая часть

Выполнил: Гостева Е.В.

Консультант по технологической части:

Лисов О.И.

Технологическая часть Общие принципы тестирования программ

Одним из самых сложных и трудоемких этапов технологического процесса разработки программ является их тестирование и отладка. Как известно, при создании типичного программного проекта около 50% общего времени и более 50% общей стоимости расходуется на проверку (тестирование) разрабатываемой системы и ее отладку.

Под тестированием следует понимать процесс исполнения программы с целью обнаружения ошибок, в качестве которых принимается любое отклонение от эталонов. Хорошим считается тест, который имеет высокую вероятность обнаружения еще не выявленных ошибок.

Под отладкой понимается процесс, позволяющий получить программу, функционирующую с требуемыми характеристиками в заданной области входных данных. Таким образом, в результате отладки программа должна соответствовать некоторой фиксированной совокупности правил и показателей качества, принимаемой за эталонную для данной программы.

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

Существует два основных подхода к тестированию.

  1. Тестирование программы как «черного ящика».

Программа рассматривается как черный ящик. Тестовые данные используются только в соответствии со спецификацией программы, то есть без учета знаний о ее внутренней структуре. При таком подходе обнаружение всех ошибок в программе является критерием исчерпывающего входного тестирования. Последнее может быть достигнуто, если в качестве тестовых наборов использовать все возможные наборы входных данных. В этом случае для исчерпывающего тестирования требуются бесконечные наборы тестов. Однако существуют определенные методологии тестирования, позволяющие из всех возможных тестовых наборов выделить некоторое подмножество тестов, имеющих наивысшую вероятность обнаружения большинства ошибок.

  1. Тестирование программы как «белого ящика».

Стратегия белого ящика, или стратегия тестирования, управляемого логикой программы, позволяет использовать внутреннюю структуру программы. В этом случае программист получает тестовые данные путем анализа логики программы.

Тестирование модулей

Переход к большим программам требует специальных способов структурирования процесса тестирования.

Тестирование модулей (или блоков) представляет собой процесс тестирования отдельных подпрограмм или процедур программы. Здесь подразумевается, что прежде чем начинать тестирование программы в целом, следует протестировать отдельные небольшие модули, образующие эту программу. Такой подход мотивируется тремя причинами.

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

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

Наконец, в-третьих, допускается параллелизм, что позволяет одновременно тестировать несколько модулей.

Цель тестирования модулей – сравнение функций, реализуемых модулем, со спецификациями его функций или интерфейса. Проблема состоит не в том, чтобы установить соответствие модуля его спецификации, а в том, чтобы показать противоречие между ними. Тестирование модулей в основном ориентировано на принцип белого ящика. Процедура создания набора тестов для тестирования модулей такова: анализируется логика отдельного модуля с помощью одного или нескольких методов белого ящика, а затем этот набор тестов применяется при тестировании методами черного ящика по спецификации модуля.

Реализация процесса тестирования модулей опирается на два ключевых положения: построение эффективного набора тестов и выбор способа, посредством которого модули комбинируются при построении из них рабочей программы. Второе условие является весьма важным, так как оно задает форму написания тестов модуля, типы средств, используемых при тестировании, порядок кодирования и тестирования модулей, стоимость генерации тестов и стоимость отладки.

Вообще говоря, процесс тестирования и отладки тесно связан с процессом проектирования системы. Порой ошибки, обнаруживаемые в отдельных модулях, бывают настолько фатальными, что приходится перепроектировать почти всю программу. Поэтому, рассматривая в данном разделе методику тестирования и отладки сайта, мы остановимся также и на некоторых аспектах его проектирования.

Соседние файлы в папке ИПОВС (2002)