Аттестация программных систем. Процесс тестирования систем. Альфа и бета тестирование.

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

Этапы процесса тестирования:

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

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

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

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

5. Приемочные испытания. Это конечный этап процесса тестирования после которого система принимается к эксплуатации. Здесь система тестируется с привлечением данных предоставляемых заказчиком, а не на основе тестовых данных, как на предыдущем этапе.

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

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