Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
НПО - ПОИТ (Бахтизин).doc
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
5 Мб
Скачать

8) Сборка программного средства

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

С точки зрения тестирования данная работа заключается в следующем.

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

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

  1. Сборка модулей и компонентов по мере движения по управляющей иерархии снизу – вверх.

  2. Сборка модулей и компонентов по мере движения по управляющей иерархии сверху – вниз.

В соответствии с данными подходами сборки существуют следующие варианты тестирования при сборке ПС:

  • Восходящее тестирование сборки;

  • Нисходящее тестирование сборки.

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

Применительно к взятому примеру можно установить следующую иерархию модулей и компонентов программного объекта (рис. 8.18).

В соответствии с восходящим тестированием сборки последовательность действий будет иметь следующий вид:

  • Модули компонента математического расчёта объединяются в кластер К1;

  • Тестирование кластера К1 заранее подготовленным драйвером Д1;

  • Удаление драйвера Д1 и присоединение модуля void NewParam() и float input_float() к имеющемуся кластеру К1;

  • Тестирование полученного кластера К2 драйвером Д2 и его последующее удаление;

  • Присоединение модуля int ValidationParam() и void begin_program() к кластеру К2;

  • Тестирование полученного кластера К3 с помощью драйвера Д3;

  • Удаление драйвера Д3 и присоединение модуля void main() к кластеру К3;

  • Тестирование конечного кластера 4, являющегося собственно программным объектом.

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

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

Рис. 8.18. Иерархия компонентов и модулей программного объекта