На этапе проектирования и разработки тестов определяются
× цели теста,
× спецификация для ввода каждого теста,
× тестовая конфигурация,
× производится автоматизация часто используемых тестов, требующих больших затрат времени.
В результате выполнения этих действий будет получен набор тестовых случаев, который может использоваться для проведения системных испытаний.
Проектирование тестов состоит из двух компонентов:
• архитектура тестов,
• подробные планы тестов.
Архитектура тестов упорядочивает тесты по группам, таким как
• функциональные тесты,
• испытания для определения рабочих характеристик,
• проверка безопасности
• и т.д.
Она также описывает структуру и соглашения по именованию хранилища тестов.
Подробные планы тестов описывают
• назначение каждого теста,
• технические средства (ОС, вычислительная платформа)
• данные для выполнения теста,
• ожидаемые результаты каждого теста,
• требование, на подтверждение которого ориентируется данный тест.
|
|
Между требованиями и планами тестов должно существовать, по меньшей мере, отношение один к одному (каждое требование должно проверяться хотя бы одним тестом).
Следующиеэтапы тестирования относятся к динамическому тестированию, состоят из прогона ПО и сравнения поведения системы с ожидаемым.Динамическое тестирование основано на выполнении заданного набора операций на конкретном модуле ПО и сравнении фактически полученных результатов с ожидаемыми. Если после прогона получен ожидаемый результат, считается, что модуль прошел тест. Если зафиксировано аномальное поведение, тест считается неудачным, однако он может оказаться успешным в смысле обнаружения дефекта. Заданный набор выполняемых операций образует тестовый случай. Следует подчеркнуть, что тестовые случаи должны быть
• спроектированы,
• закодированы,
• отлажены
до того, как их можно будет использовать.
Реализация и отладка тестов.
После этапа проектирования тест необходимо проверить на наличие дефектов с целью их немедленного устранения, и затем испытать на некоторой сборке ПО. После прогона тестов необходимо провести анализ неудачных исходов прогона тестов, выяснить причину неудачи — программный код или сам тест.