Лекция 11. Виды, критерии и методы тестирования. Методы структурного тестирования программ
Остановимся более подробно на критериях и методах тестирования программных модулей и групп программ, решающих законченные функциональные задачи.
При этом будут рассматриваться следующие виды тестирования:
· модульное – проверка корректности структуры модулей и их основных конструктивных компонент (циклов, блоков, разветвлений), функций и данных (входных и выходных);
· интеграционное – проверка корректности управляющих и информационных связей между модулями. При проведении интеграционного тестирования важным является порядок сбора модулей в единую программу. Существует два основных подхода к комбинированию модулей:
¨ пошаговое – каждый модуль подключается к набору ранее оттестированных модулей (сверху вниз или снизу вверх);
¨ монолитное – все модули одновременно объединяются в программу;
· системное – проверка соответствия интегрированной в единое целое программной системы спецификациям с учетом среды и режима выполнения;
Модульное и интеграционное тестирование основаны на структурных методах (принцип "белого ящика"). При применении этих методов существенно используются знания о структуре программы вне зависимости от того, является ли она отдельным модулем или группой модулей. При структурном тестировании всегда существует модель, отражающая логику работы программы и критерий проведения тестирования, причем количество необходимых тестов при этом ограничено.
При проведении системного тестирования используется методология функционального тестирования (принцип "черного ящика), в которой для построения тестов не используется информация о структуре программы, а используются ее функциональные спецификации.
При функциональном тестировании средних и больших программных проектов трудно предложить правила, ограничивающие необходимый объем тестирования, т. к. системное тестирование включает в себя множество категорий тестов, в том числе тесты для проверки:
· функциональности программы;
· работы на предельных объемах;
· работы на предельных нагрузках;
· удобства эксплуатации программы;
· защиты от несанкционированного доступа;
· производительности;
· требований к памяти;
· конфигураций оборудования;
· совместимости;
· удобства инсталляции;
· надежности;
· восстановления при сбоях;
· документации на программу.
Деление методов тестирования на функциональные и структурные производится в зависимости от источника тестовых данных. Как правило, структурное и функциональное тестирование хорошо сочетаются, так что для каждого структурного теста существует его точная функциональная интерпретация.
Остановимся более подробно на этих методах тестирования.
Дата добавления: 2015-08-26; просмотров: 1081;