Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций (рус) v1.1.doc
Скачиваний:
11
Добавлен:
14.04.2019
Размер:
449.02 Кб
Скачать

3.2.2. Анализ граничных значений

Анализ граничных значений отличается от эквивалентного разбиения в двух отношениях:

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

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

3.2.3. Применение функциональных диаграмм

Построение тестов этим методом осуществляется в несколько этапов:

      1. Спецификация разбивается на «рабочие» участки.

      2. В спецификации определяются причины и следствия.

      3. Анализируется семантическое содержание спецификации, которая преобразуется в булевский граф, связывающий причины и следствия.

      4. Диаграмма снабжается примечаниями

      5. Путем методического прослеживания состояний условий диаграммы она преобразуется в таблицу решений с ограниченными входами.

      6. Столбцы таблицы решений преобразуются в тесты.

3.2.4. Предположение об ошибке

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

3.3. Стратегия

Приемлемая стратегия состоит в следующем:

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

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

  3. Определить правильные и неправильные классы эквивалентности для входных и выходных данных и дополнить, тесты.

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

  5. Проверить логику программы на полученном наборе тестов.

3.4. Нисходящее и восходящее тестирование

3.4.1. Нисходящее тестирование

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

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

Данная стратегия предполагает начало тестирования с терминальных классов.

3.4.3. Сравнение

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

Недостатки

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

1. Имеет преимущества, если ошибки главным образом в верхней части программы.

2. Представление теста облегчается после подключения функции ввода-вывода.

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

1. Необходимо разрабатывать заглушки.

2. Заглушки часто оказываются сложнее, чем кажется вначале.

3. До применения функций ввода/вывода может быть сложно представлять тестовые данные в заглушки.

4. Может оказаться трудным или невозможным создать тестовые условия.

5. Сложнее оценка результатов тестирования.

6. Допускается возможность формирования представления о совмещении тестирования и проектирования.

7. Стимулируется незавершение тестирования некоторых классов/модулей.

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

1. Имеет преимущества, если ошибки главным образом в классе/модуле нижнего уровня.

2. Легче создавать тестовые условия.

3. Проще оценка результатов.

1. Необходимо разрабатывать драйверы.

2. Программа как единое целое не существует до тех пор, пока не добавлен последний класс/модуль.