- •Введение Основные понятия дисциплины
- •Взаимодействие между процессами жцпо
- •Модели жц разработки пп
- •Критерии оценки качества программного обеспечения
- •Надежность программного обеспечения
- •Виды программ, программной и эксплуатационной документации по еспд
- •Основные требования и правила оформления структурных схем алгоритмов
- •Технологические методы и средства разработки по
- •Стиль программирования
- •Выбор и обоснование языка программирования
- •Анализ требований и определение спецификаций по
- •Проектирование программного обеспечения при объектном подходе
- •Отношения между классами
- •Эффективность программ
- •Отладка и сопровождение программных продуктов
- •Методы отладки по
- •Методы и средства получения дополнительной информации об ошибке
- •Тестирование и виды тестирования
- •Тестирование модулей и комплексное тестирование
- •Оценочное тестирование
- •Методы тестирования «черного» и «белого» ящика
- •Разработка пользовательских интерфейсов
- •Корректность программ Защита программных продуктов
Тестирование модулей и комплексное тестирование
При тестировании модулей применяется как входящее, так и нисходящее тестирование.
Восходящее тестирование
Восходящий подход предполагает, что каждый модуль тестируют отдельно на соответствие спецификаций на него, затем эти модули собирают в один и снова тестируют. При этом проверяют межмодульные интерфейсы, используемые для подключения модулей более никого уровня иерархии.
Такой подход обеспечивает полностью автономное тестирование, для которого очень просто генерировать тестовые последовательности.
Недостатки:
Серьезные ошибки могут быть обнаружены только на завершающей стадии работы над проектом.
Для того, чтобы тестировать модули нижних уровней, необходимо разработать специальные программы, которые обеспечивают вызов нужных модулей.
Тестирующая программа n
Тестирующая программа k
Модуль n
Модуль n
Автономное тестирование нижнего уровня
Тестирующая программа S
Модуль S
Модуль n
Модуль k
Тестирование следующего уровня
Нисходящее тестирование
Д
Основной
модуль
анное тестирование фактически связано с нисходящим проектированием. Как только заканчивается работа над каким-либо модулем, его координируют и передают на тестирование. В этом случае автономно тестируется только основной модуль. При его тестировании все вызываемые модули заменяют такими, которые имитируют поведение вызываемых, их принято называть заглушками.
Заглушка 1
Заглушка 2
Заглушка 3
Как только тестирование основного модуля закончено, к нему подключают модули непосредственно им вызываемые и проводят совместное тестирование. Далее последовательно подключают следующий модуль и так, пока не будет собрана вся система.
Основной
модуль
Заглушка 1
Модуль 1
Заглушка 3
Заглушка 21
Заглушка 22
Заглушка 23
Недостаток: отсутствие автономного тестирования. Поскольку модуль получает данные не непосредственно, а через вызывающий модуль, то гораздо сложнее обеспечить его достаточное тестирование.
Основным достоинством является ранняя проверка основных решений и качественное многократное тестирование.
Комбинированное тестирование
Чаще всего применяют комбинированный подход: модули верхних уровней тестируют нисходящим способом, а модули нижних – восходящим. Этот способ позволяет с одной стороны начать тестирование интерфейса, ас другой обеспечить качественное автономное тестирование модулей низших уровней.
Оценочное тестирование
После завершения комплексного тестирования, приступают к оценочному тестированию, целью которого является тестирование программы на соответствие основным требованиям.
Оценочное тестирование включает в себя следующие виды:
Тестирование удобства использования.
Тестирование на предельных объемах – тестируют систему на работоспособность при загрузке максимального объема таблиц, текстов и т. д.
Тестирование на предельных нагрузках – проверка выполнения программы на возможность обработки большого объема данных, поступивших в течение короткого времени;
Тестирование удобства эксплуатации – анализ возникновения при работе с ПО ошибок;
Тестирование защиты;
Тестирование производительности;
Тестирование к требованию памяти;
Тестирование совместимости;
Тестирование удобства установки;
Тестирование надежности и восстановления;
Тестирование обслуживания.