Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология
Образование Политология Производство Психология Стандартизация Технологии


Принципы и задачи детерминированного тестирования



Основной задачей детерминированного тестирования является установление факта работоспособности программ и соответствие их техническому заданию, а также выявление и устранение ошибок и доведение характеристик программ до уровня требований, заданных заказчиком.

Диагностирование производится автоматическими человеко-машинными системами, в которых:

  1. на долю человека приходится анализирующая роль в обнаружении ошибок, их анализ и принятие решений на их корректировку;
  2. вычислительные системы обеспечивают исполнение программы, управление заданиями и тестами, селективное информирование о ходе тестирования.

При детерминированном тестировании получаются результаты при фиксированном наборе исходных данных, а так же сравнение этих значений с эталонными. Диапазон варьирования исходных данных и число вариантов сочетания переменных определяют достоверность отладки. Сравнение рез исполнения с эталонами, как правило, происходит автоматически. Если результат отличается от эталона, определяется место и тип ошибки.


В зависимости от используемой при тестировании информации различают два метода:

  1. Метод проверки по исходным данным и результатам.

Программу рассматривается, как чёрный ящик и после установления факта неработоспособности на каком-то наборе используется информация о структуре программы, т.е. от общего к частному с надеждой, что ошибки нет.

2. Метод с учётом промежуточных результатов.

Анализируются логические маршруты исполнения программы и промежуточные результаты в точках маршрута. Проверка программы осуществляется походу её исполнения от частного к общему с уверенностью, что ошибка есть. Метод – белый ящик.

«Серый ящик» – частично структура известна частично – нет.

Метод белого ящика более прост при локализации ошибок, но требует больше времени, чем метод проверки по окончательным результатам.

Процесс отладки программы при детерминированном тестировании подразделяется на следующие этапы:

  1. планирование отладки;
  2. составление тестов и задач на отладку и исполнение программы;
  3. информирование о результатах по задачам теста;
  4. анализ результатов, обнаружение и локализация ошибок;
  5. устранение ошибок и корректировка исходного текста программы.

Детерминированное тестирование включает:

  1. выбор последовательности контрольных точек, входы и выходы из программы;
  2. выбор наборов значений исходных данных;
  3. выбираются промежуточные точки контроля и перечень переменных, подлежащих контролю в этих точках, маршруты исполнения программы.

Порядок тестирования может быть:

  1. безусловный, т.е. независимый от результатов исполнения предыдущих наборов;
  2. условным.

Методы тестирования

Восходящее тестирование

Программа собирается и тестируется снизу вверх, только модули самого нижнего уровня тестируются изолированно или автономно. После их тестирования вызов их должен быть также надёжен, как вызов встроенной функции языка. Затем тестируются модули, вызывающие уже проверенные. Эти модули тестируются не автономно, а вместе с уже протестированными.

При восходящем тестировании для каждого модуля нужен драйвер. Нужно подавать тесты в соответствии с сопряжением модуля. Одно из возможных решений – написать для каждого модуля небольшую ведущую программу, тестовые данные представляются как встроенные в эту программу переменные. Другое решение – использовать программу тестирования модулей, тесты написать на специальном языке и избавится от необходимости писать драйвер.

Нисходящее тестирование (нисходящая разработка)

Изолированно тестируется только головной модуль. После завершения тестирования этого модуля с ним соединяются модули, непосредственно вызываемые им, и тестируется полученная комбинация. Процесс повторяется до тех пор, пока не будет собраны все модули.


Возникают 2 проблемы

1. Что делать, когда тестируемый модуль вызывает модуль более низкого уровня, которого в данный момент еще не существует?

Для имитации функций недостающих модулей программируются модули-заглушки, которые моделируют функции отсутствующих модулей.

2. Как подаются тестовые данные?

Плюсы метода

  1. Метод совмещает тестирование модулей, тестирование сопряжений и частично тестирование внешних функций.
  2. Когда модули ввода/вывода уже подключены тесты можно готовить в удобном виде.

Минусы метода

  1. Модуль редко тестируется досконально сразу после его подключения. Это связано с тем, что тестирование некоторых модулей требуют крайне сложных заглушек и пишутся простые заглушки, проверяя часть работоспособности модуля.
  2. Этот подход может породить веру в возможность начать программирование и тестирование верхнего уровня программы до того как вся программа будет полностью спроектирована.

Нисходящий подход выгоден в тех случаях, когда есть сомнения в осуществлении программы в целом.

Нормальный стиль проектирования структуры программы предполагает при окончании проектирования нижних уровней вернуться назад и поправить верхний уровень, внося в него усовершенствования и исправляя ошибки. Если головная часть программы запрограммирована и оттестирована, разработчик с трудом идет на его модификацию.


Поделиться:



Популярное:

Последнее изменение этой страницы: 2017-03-08; Просмотров: 784; Нарушение авторского права страницы


lektsia.com 2007 - 2024 год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! (0.015 с.)
Главная | Случайная страница | Обратная связь