Организация процесса тестирования ПО

Классический процесс тестирования должен обеспечить проверку результатов, полученных на каждом этапе разработки. Основными этапами разработки, как известно, являются системный анализ, анализ требований, проектирование и кодирование,- тестирование должно проверять все эти этапы. Тестирование начинается с малого, когда проверяются программные модули, продолжается при проверке объединения модулей в систему и завершается тестированием в большом, когда проверяются соответствие программного продукта требованиям заказчика и его взаимодействие с другими компонентами компьютерной системы. Этот расширяющийся характер тестирования условно изображается т.н. «спиралью тестирования» (рис. 2.19).

 

 

Рис. 2.19. Спиральный (расширяющийся) характер процесса тестирования

 

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

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

1. Тестирование элементов. Цель — индивидуальная проверка каждого модуля. Используются способы тестирования «белого ящика».

2. Тестирование интеграции. Цель — тестирование сборки модулей в программную систему. В основном применяют способы тестирования «черного ящика».

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

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

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

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

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




php"; ?>