Тестирование правильности.

Сравнение нисходящего и восходящего тестирования интеграции

Табл. 2.2.

  Нисходящее тестирование Восходящее тестирование
Достоинства Раннее тестирование главных управляющих функций Упрощается разработка тестовых вариантов, отсутствуют заглушки
Недостатки Необходимость заглушек и связанные с ними трудности тестирования Система не существует как объект до тех, пока не будет добавлен последний модуль

 

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

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

Критические модули должны тестироваться как можно раньше. Кроме того, к ним должно применяться регрессионное тестирование (повторное выполнение ранее проведенных тестов в полном или частичном объеме).

Цель тестирование правильности — подтвердить, что функции, описанные в спецификации требований к ПС, соответствуют ожиданиям заказчика .

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

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

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

1)системная спецификация;

2)план программного проекта;

3)спецификацию требований к ПС; работающий или бумажный макет;

4)предварительное руководство пользователя;

5)спецификация проектирования;

6)листинги исходных текстов программ;

7)план и методику тестирования; тестовые варианты и полученные результаты;

8)руководства по работе и инсталляции;

9)exe — код выполняемой программы;

10)описание базы данных;

11)руководство пользователя по настройке;

12)документы сопровождения; отчеты о проблемах ПС; запрос сопровождения; отчеты о конструкторских изменениях;

13)стандарты и методики конструирования ПС.

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

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

Альфа — тестирование проводиться заказчиком в организации разработчика. Разработчик фиксирует все выявленные заказчиком ошибки и проблемы использования.

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