
Лекции / Лекция 4. Модульное, интеграционное и системное тестирования
.pdf
Интеграционное тестирование
Особенности интеграционного тестирования для объектно-ориентированного программирования
Пример MM-путей и P-путей в графовой модели класса
1)ММ-путь msg a -> метод 3 -> msg 3 -> метод 4 -> msg d
2)ММ-путь msg b -> метод 1 -> msg 1 -> метод 4 -> msg d
3)ММ-путь msg b -> метод 1 -> msg 2 -> метод 5
4)ММ-путь msg c -> метод 2
5)P-путь call -> метод 5

Интеграционное тестирование
Особенности интеграционного тестирования для объектно-ориентированного программирования
Пример включения объекта в модель программного проекта, построенного с использованием MM-путей и P-путей
После того, как класс программы P протестирован, объект данного класса может быть включен в общий граф G программного проекта, содержащий
все ММ-пути и все вызовы методов классов и процедур, возможные в программе.

Интеграционное тестирование
Особенности интеграционного тестирования для объектно-ориентированного программирования
Уровни тестирования классовой модели программного проекта
интеграционное
тестирование
Методика проведения тестирования программы, представленной в виде классовой модели программного проекта, включает в себя несколько этапов, соответствующих уровням тестирования.

Интеграционное тестирование
Особенности интеграционного тестирования для объектно-ориентированного программирования
Уровни тестирования классовой модели программного проекта
интеграционное
тестирование
На первом уровне проводится тестирование методов каждого класса программы, что соответствует этапу модульного тестирования.
На втором уровне тестируются методы класса, которые образуют контекст интеграционного тестирования каждого класса.
На третьем уровне протестированный класс включается в общий контекст (дерево классов) программного проекта и отслеживается реакция программы на внешние события.
Второй и третий уровни соответствуют этапу интеграционного тестирования. Явный учет границ между интеграционным и системным уровнями тестирования дает преимущество при планировании работ на фазе тестирования,
а возможность сочетать различные методы и критерии тестирования в ходе |
|
работы над программным проектом дает наилучшие результаты. |
_ |
|
Системное тестирование
Системное тестирование производится над проектом в целом с помощью метода "черного ящика". Структура программы не имеет значения, для проверки доступны только входы и выходы, доступные пользователю, а тестированию подлежат коды и пользовательская документация.
Системное тестирование качественно отличается от интеграционного и модульного. Системное тестирование рассматривает тестируемую систему в целом и осуществляется на уровне пользовательских интерфейсов, в отличие от последних фаз интеграционного тестирования, которое производится на уровне интерфейсов модулей. Различны и цели этих уровней тестирования. На уровне системы часто сложно и малоэффективно анализировать прохождение тестовых траекторий внутри программы или отслеживать правильность работы конкретных функций.
Цель системного тестирования - выявление дефектов, связанных с работой системы в целом, таких как:
-неверное использование ресурсов системы,
-непредусмотренные комбинации данных пользовательского уровня,
-несовместимость с окружением,
-непредусмотренные сценарии использования,
-отсутствующая или неверная функциональность, неудобство в применении
Системное тестирование
Категории тестов системного тестирования:
-полнота решения функциональных задач
-надежности, отказоустойчивости и резервирования компонентов (в т.ч. стрессовое тестирование на предельных объемах нагрузки входного потока)
-корректность использования ресурсов (утечка памяти, возврат ресурсов)
-оценка производительности
-эффективность защиты от искажения данных и некорректных действий
-проверка инсталляции и конфигурации (в т.ч. на разных платформах)
-корректность документации
Поскольку системное тестирование проводится на пользовательских интерфейсах, постольку создается иллюзия того, что построение специальной системы автоматизации тестирования не всегда необходимо. Однако объемы данных на этом уровне таковы, что обычно целесообразным подходом является полная или частичная автоматизация системного тестирования,
что приводит к созданию тестовой системы, осуществляющей системное тестирование и являющейся гораздо более сложной, чем системы тестирования, применяемые на уровнях тестирования модулей или их комбинаций.
Системное тестирование
Методика проверки надежности, отказоустойчивости и резервирования компонентов системы
Оцениваемые характеристики:
Проверка осуществляется на соответствие требованиям п. 4.1, 4.2, 4.5 и 4.6 ТЗ на ОКР «НаименованиеОКР».
При проведении проверки оцениваются:
-поддержка кластеризации;
-управление агентами;
-балансировщики нагрузки;
-резервирование компонентов системы;
-отказоустойчивость работы системы.
Порядок проведения проверки:
-проверка поддержки кластеризации системы осуществляется методом анализа механизмов реализации отказоустойчивости системы (возможные схемы построения, используемые технологии "холодного" и "горячего" резерва, модульной избыточности, используемые алгоритмы восстановления при отказах и сбоях, использование библиотек MPI и/или др.).
Системное тестирование
Методика проверки надежности, отказоустойчивости и резервирования компонентов системы (продолжение)
-проверка возможностей централизованного управления, обновления и конфигурирования агентов осуществляется в соответствии с руководством системного программиста. В ходе проверки устанавливается наличие балансировщиков нагрузки, входящих в состав системы и их возможности по распределению задач сбора и обработки событий по компонентам системы (используемые алгоритмы планирования, другие возможности и специальные характеристики)
-проверка балансировки нагрузки осуществляется в час наибольшей нагрузки
-проверка резервирования ядра системы и компонентов сбора событий осуществляется анализом механизмов резервирования (технологии резервирования на сетевом уровне (lag, rstp, mrp и/или др.), на прикладном уровне (резервное архивирование, резервное копирование и/или др.) и, возможно, на др. уровнях)
-в ходе проверки отказоустойчивости системы выполняется, например, моделирование выхода из строя сервера системы нарушением ip-связности между одним из агентов и сервером системы, при этом агент системы продолжает функционировать, собирать события и, после восстановления ipсвязности, перенаправляет их серверу системы
-полученные в ходе выполнения проверки результаты занести в протокол проверки
Системное тестирование
Методика проверки надежности, отказоустойчивости и резервирования компонентов системы (завершение)
Оценка результатов проверки:
Требования п. 4.1, 4.2, 4.5 и 4.6 ТЗ на ОКР «НаименованиеОКР» считать выполненными, если:
-установлена поддержка кластеризации ядра системы
-установлена возможность централизованного управления агентами
-установлено наличие и работоспособность балансировщиков нагрузки
-выполнена проверка наличия технологий резервирования и успешного функционирования отказоустойчивого кластера
Системное тестирование
Методика проверки инсталляции и конфигурации
Оцениваемые характеристики:
Проверка осуществляется на соответствие требованиям п. 3.1, 3.2, 3.5 и 3.6 ТЗ на ОКР «НаименованиеОКР».
При проведении проверки оцениваются:
-возможность установки и функционирования в вычислительной среде программно-аппаратных комплексов;
-функционирование на защищённой программно-аппаратной платформе;
-функционирование в виде совокупности взаимосвязанных программных средств и компонентов;
-обеспечение возможности установки на накопитель на жёстком магнитном диске; обеспечение возможности функционирования в нормальных климатических условиях.
Порядок проведения проверки:
Проверка проводится в соответствии с эксплуатационной документацией. При выполнении проверки необходимо в соответствии с руководством оператора программного компонента доступа пользователей на ОС Astra Linux SE выполнить следующие операции:
-загрузить операционную систему на АРМ
-пройти процедуру авторизации с категорией «оператор»;