Здавалка
Главная | Обратная связь

Лекция 5. 5.2. Автономная отладка ПС.



При автономной отладке тестируется всегда некоторая программа

(тестируемая программа), построенная специально для тестирования

отлаживаемого модуля. В процессе автономной отладки ПС производится

наращивание тестируемой программы отлаженными модулями (интеграция

программы).

При восходящем тестировании окружение содержит только один

отладочный модуль, головной в тестируемой программе - ведущий (или

драйвер). Ведущий отладочный модуль подготавливает информационную

среду для тестирования отлаживаемого модуля, осуществляет обращение к

отлаживаемому модулю и выдает необходимые сообщения.

При нисходящем тестировании окружение в качестве отладочных

содержит отладочные имитаторы (заглушки) некоторых еще не отлаженных

модулей. Некоторые из этих имитаторов при отладке одного модуля могут

изменяться для разных тестов.

На практике в окружении отлаживаемого модуля могут содержаться

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

тестирования.

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

1) простота подготовки тестов,

2) возможность полной реализации плана тестирования модуля.

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

1) тестовые данные готовятся, как правило, не в той форме, которая

рассчитана на пользователя;

2) большой объем отладочного программирования;

3) необходимость специального тестирования сопряжения модулей.

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

1) большинство тестов готовится в форме, рассчитанной на

пользователя;

2) во многих случаях относительно небольшой объем отладочного

программирования;

3) отпадает необходимость тестирования сопряжения модулей.

Недостатком нисходящего тестирования: является то, что тестовое

состояние информационной среды перед обращением к отлаживаемому

модулю готовится косвенно - оно является результатом применения уже

отлаженных модулей к тестовым данным или данным, выдаваемым

имитаторами.

Прежде всего, необходимо организовать отладку программы таким

образом, чтобы как можно раньше были отлажены модули, осуществляющие

ввод данных. Пока модули, осуществляющие ввод данных, не отлажены,

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

включаются в имитатор как его часть, либо вводятся этим имитатором.

При нисходящем тестировании некоторые состояния информационной

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

возникать при выполнении отлаживаемой программы ни при каких входных

данных. Чаще же пользуются модифицированным вариантом нисходящего

тестирования, при котором отлаживаемые модули перед их интеграцией

предварительно тестируются отдельно. Однако, представляется более

целесообразной другая модификация нисходящего тестирования: после

завершения нисходящего тестирования отлаживаемого модуля для

достижимых тестовых состояний информационной среды следует его

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

информационной среды.

Часто применяют также комбинацию восходящего и нисходящего

тестирования, которую называют методом сандвича. Сущность этого метода

заключается в одновременном осуществлении как восходящего, так и

нисходящего тестирования, пока эти два процесса тестирования не

встретятся на каком-либо модуле где-то в середине структуры отлаживаемой

программы.

Весьма важным при автономной отладке является тестирование

сопряжения модулей.

При нисходящем тестировании тестирование сопряжения

осуществляется попутно каждым пропускаемым тестом, что считают

достоинством нисходящего тестирования.

При восходящем тестировании обращение к отлаживаемому модулю

производится не из модулей отлаживаемой программы, а из ведущего

отладочного модуля.

Автономное тестирование модуля целесообразно осуществлять в четыре

последовательно выполняемых шага.

Шаг 1. На основании спецификации отлаживаемого модуля подготовьте

тесты для каждой возможности и каждой ситуации, для каждой границы

областей допустимых значений всех входных данных, для каждой области

изменения данных, для каждой области недопустимых значений всех

входных данных и каждого недопустимого условия.

Шаг 2. Проверьте текст модуля, чтобы убедиться, что каждое

направление любого разветвления будет пройдено хотя бы на одном тесте.

Добавьте недостающие тесты.

Шаг 3. Проверьте текст модуля, чтобы убедиться, что для каждого

цикла существуют тесты, обеспечивающие, по крайней мере, три следующие

ситуации: тело цикла не выполняется ни разу, тело цикла выполняется один

раз и тело цикла выполняется максимальное число раз. Добавьте

недостающие тесты.

Шаг 4. Проверьте текст модуля, чтобы убедиться, что существуют

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

входных данных. Добавьте недостающие тесты.

 

 







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.