Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом_Saga / diplom_2005-06-02 / Пояснительная записка.doc
Скачиваний:
70
Добавлен:
16.04.2013
Размер:
3.56 Mб
Скачать
      1. Отладка и общие принципы тестирования

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

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

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

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

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

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

И локальное, и перекрестное тестирование сопровождается проверкой исходного кода. Если работа тестировщика с системой – это поиск ошибок по их проявлениям в процессе выполнения программы, то работа с исходным кодом позволяет «отловить» ошибки, которые при обычном тестировании проявятся не сразу.

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

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

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

Также существует 3 основных способа тестирования: алгоритмическое, аналитическое и содержательное.

Соседние файлы в папке diplom_2005-06-02