Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Принципы и задачи детерминированного тестирования ⇐ ПредыдущаяСтр 5 из 5
Основной задачей детерминированного тестирования является установление факта работоспособности программ и соответствие их техническому заданию, а также выявление и устранение ошибок и доведение характеристик программ до уровня требований, заданных заказчиком. Диагностирование производится автоматическими человеко-машинными системами, в которых:
При детерминированном тестировании получаются результаты при фиксированном наборе исходных данных, а так же сравнение этих значений с эталонными. Диапазон варьирования исходных данных и число вариантов сочетания переменных определяют достоверность отладки. Сравнение рез исполнения с эталонами, как правило, происходит автоматически. Если результат отличается от эталона, определяется место и тип ошибки. В зависимости от используемой при тестировании информации различают два метода:
Программу рассматривается, как чёрный ящик и после установления факта неработоспособности на каком-то наборе используется информация о структуре программы, т.е. от общего к частному с надеждой, что ошибки нет. 2. Метод с учётом промежуточных результатов. Анализируются логические маршруты исполнения программы и промежуточные результаты в точках маршрута. Проверка программы осуществляется походу её исполнения от частного к общему с уверенностью, что ошибка есть. Метод – белый ящик. «Серый ящик» – частично структура известна частично – нет. Метод белого ящика более прост при локализации ошибок, но требует больше времени, чем метод проверки по окончательным результатам. Процесс отладки программы при детерминированном тестировании подразделяется на следующие этапы:
Детерминированное тестирование включает:
Порядок тестирования может быть:
Методы тестирования Восходящее тестирование Программа собирается и тестируется снизу вверх, только модули самого нижнего уровня тестируются изолированно или автономно. После их тестирования вызов их должен быть также надёжен, как вызов встроенной функции языка. Затем тестируются модули, вызывающие уже проверенные. Эти модули тестируются не автономно, а вместе с уже протестированными. При восходящем тестировании для каждого модуля нужен драйвер. Нужно подавать тесты в соответствии с сопряжением модуля. Одно из возможных решений – написать для каждого модуля небольшую ведущую программу, тестовые данные представляются как встроенные в эту программу переменные. Другое решение – использовать программу тестирования модулей, тесты написать на специальном языке и избавится от необходимости писать драйвер. Нисходящее тестирование (нисходящая разработка) Изолированно тестируется только головной модуль. После завершения тестирования этого модуля с ним соединяются модули, непосредственно вызываемые им, и тестируется полученная комбинация. Процесс повторяется до тех пор, пока не будет собраны все модули. Возникают 2 проблемы 1. Что делать, когда тестируемый модуль вызывает модуль более низкого уровня, которого в данный момент еще не существует? Для имитации функций недостающих модулей программируются модули-заглушки, которые моделируют функции отсутствующих модулей. 2. Как подаются тестовые данные? Плюсы метода
Минусы метода
Нисходящий подход выгоден в тех случаях, когда есть сомнения в осуществлении программы в целом. Нормальный стиль проектирования структуры программы предполагает при окончании проектирования нижних уровней вернуться назад и поправить верхний уровень, внося в него усовершенствования и исправляя ошибки. Если головная часть программы запрограммирована и оттестирована, разработчик с трудом идет на его модификацию. Популярное:
|
Последнее изменение этой страницы: 2017-03-08; Просмотров: 835; Нарушение авторского права страницы