Аттестация программных систем.
Аттестация ПО, или более обобщенно — верификация и аттестация предназначены показать соответствие системы ее спецификации, а также ожиданиям и требованиям заказчиков и пользователей.
1 – Тестирование компонентов
2 – Тестирование модулей
3 – Тестирование подсистем
4 – Тестирование системы
5 – Приемочные испытания
За исключением небольших подпрограмм программные системы невозможно протестировать как единый цельный программный элемент.
Большие системы строятся на основе подсистем, которые в свою очередь состоят из модулей, модули же компонуются из компонентов. Для таких систем процесс тестирования выполняется постепенно по мере реализации системы.
1 – Тестирование компонентов. Тестируются отдельные компоненты для проверки правильности их функционирования. Каждый компонент тестируется независимо от других.
2 – Тестирование модулей. Программный модуль — это совокупность зависимых компонентов, таких как описание класса объектов, декларирование абстрактных типов данных и набор процедур и функций. Каждый модуль тестируется независимо от других системных модулей.
3 – Тестирование подсистем. Тестируются наборы модулей, которые составляют отдельные подсистемы. Основная проблема, которая часто проявляется на этом этапе, — несогласованность модульных интерфейсов. Поэтому при тестировании подсистем основное внимание уделяется обнаружению ошибок в модульных интерфейсах путем прогона их через все возможные режимы.
4 – Тестирование системы. Из подсистем собирается конечная система. На этом этапе основное внимание уделяется совместимости интерфейсов подсистем и обнаружению программных ошибок, которые проявляются в виде непредсказуемого взаимодействия между подсистемами. Здесь также проводится аттестация системы, т.е. проверяется соответствие системной спецификации ее функциональных и нефункциональных показателей, а также оцениваются интеграционные характеристики системы.
5 – Приемочные испытания. Конечный этап процесса тестирования, после которого система принимается к эксплуатации. Здесь система тестируется с привлечением данных, предоставляемых заказчиком системы.
Последние этапы тестирования выполняются в процессе сборки системы, к которой привлекается несколько программистов, поэтому эти работы должны быть спланированы заранее. Если тестирование выполняет независимая команда испытателей, то планы проведения тестирования должны быть согласованы с этапами разработки спецификации и проектирования.
Этапы тестирования в процессе разработки ПО.
1 – Спецификация требований
2 – Системная спецификация
3 – Планирование приемочных испытаний
4 – Проектирование системы
5 – Планирование тестирования системной сборки
6 – Детальное проектирование
7 – Планирование тестирования сборки подсистем
8 – Кодирование и тестирование модулей и компонентов
9 – Тестирование и сборка подсистем
10 – Тестирование системной сборки
11 – Приемочные испытания
12 – Программный продукт
Приемочные испытания иногда называют альфа-тестированием. Сделанные на заказ системы предназначены для одного заказчика. Для таких систем процесс альфа тестирования продолжается до тех пор, пока разработчики и заказчик не удостоверятся в том, что разработанная система полностью соответствует системным требованиям.
Если система разрабатывается для продажи на рынке программных продуктов, используется бета-тестирование. Для бета-тестирования система рассылается большому числу потенциальных пользователей и заказчиков. Они отсылают разработчикам отчеты о выявленных проблемах в эксплуатации системы. Бета-тестирование позволяет проверить систему в реальных условиях эксплуатации и найти ошибки, пропущенные разработчиками. После получения отчетов об испытаниях система модернизируется и снова передается на бета-тестирование либо сразу поступает в продажу.
6.2. Эволюция программных систем.
1 – Определение системных требований
2 – Оценка существующих систем (на основе 5)
3 – Предложение об изменении системы
4 – Модифицирование системы
5 – Существующие системы
6 – Новая система
Разработка системы рассматривается как творческий процесс, начиная с этапа выработки общей концепции системы и заканчивая получением работающего программного продукта. Сопровождение системы — это внесение изменений в систему, которая уже находится в эксплуатации. Имеет смысл рассматривать процесс сопровождения как непрерывное продолжение процесса разработки.
Дата добавления: 2016-07-27; просмотров: 2281;