Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры ТП!!.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
458.75 Кб
Скачать

32. Методы контроля и тестирования по. Структурное тестирование. Многомодульное тестирование.

При построение тестов выделяют два подхода:

1) функциональное тестирование – ПО рассматривается как «черный ящик». Для проверки работоспособности на вход должен подаваться весь набор возможных параметров

2) структурное тестирование – базируется на анализе логики ПО. Используется такой набор входных данных, который позволит пройти по всем ветвям графа состояний вычислительного процесса.

Среди методов структурного проектирования выделяют:

1) метод покрытия операторов. Предполагается выполнения каждого оператора хотя бы 1 раз;

2) метод покрытия решений. Предполагается проверка каждого оператора ветвления хотя бы 1 раз;

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

4) метод покрытие решений и условий. Каждый оператор ветвления должен быть выполнен хотя бы 1 раз и каждое условие в операторе должно выполнятся хотя бы 1 раз.

Даже при проведении полного тестирования в ПО возможны ошибки т.к.

  • ПО может не соответствовать своей внешней спецификации, что приведет к наличию неучтенных путей в графе управления;

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

Особое внимание следует уделять тестированию многомодульных программных комплексов. Его проводят в 4 этапа:

1) тестирование отдельных модулей;

2) совместное тестирование модулей;

3) тестирование функций программного комплекса в целом (поиск различия между функциями модуля и спецификацией);

4) тестирование комплекса в целом (поиск несоответствия между разрабатываемым ПО и целью проекта)

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

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

Пошаговое тестирование может выполняться как нисходящее или восходящее.

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

Проблемы:

    • создание «интеллектуальных» заглушек;

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

Достоинства нисходящего тестирования:

  • уже на ранних стадиях тестирования можно получить работоспособный вариант программы;

  • быстро выявляются ошибки, связанные с организацией взаимодействия с пользователем.

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

Преимущества:

  • отсутствует проблема выбора следующего подключаемого модуля. Каждый раз выбирается модуль, вызывающий только что протестированный.

  • тестирование ведется последовательно. Каждый более крупный модуль проверяется только после проверки предыдущего.

Недостаток – невозможность быстрого получения работающего варианта.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]