Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы к зачету .doc
Скачиваний:
5
Добавлен:
13.08.2019
Размер:
317.44 Кб
Скачать
  1. Полнота тестирования. Критерии черного ящика.

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

Исчерпывающее тестирование – перебор всех возможных вариантов (невозможно для любой нетривиальной программы)

Деление множества объектов на подмножества с одинаковыми свойствами называется классификацией, сами подмножества – классами, признак, по которому один класс отличается от другого – основанием классификации.

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

Полнота тестирования – критерии, по которым проводится классификация всех возможных вариантов выполнения программы с точки зрения проверки правильности программы

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

После выбора критерия полноты, каждый тест должен анализироваться с 2 точек зрения:

1)удачен ли данный тест? 2)достаточен ли набор тестов с точки зрения критерия или нужны еще какие-то тесты?

Критерии черного ящика – описывают тестирование с точки зрения поставленной задачи без учета внутренней структуры

-тестирование функций

- тестирование классов входных данных

- тестирование классов выходных данных

- тестирование области допустимых значений

- тестирование длины набора данных

- тестирование упорядоченности

Тестирование функций – набор тестов: для каждой задачи (функции) программы выполнен хотя бы 1 тест

Тестирование классов входных данных – классифицировать входные данные: все данные из 1 класса были равнозначны с точки зрения правильности программы

Тестирование классов выходных данных – аналогично

Тестирование ОДЗ – правильно ли программа понимает все значения (если перечисление), если числовой диапазон то 1) нормальные условия 2)граничные условия 3) исключительные условия

Тестирование длины набора данных – частный случай тестирования ОДЗ, тестирование допустимого количества элементов в наборе 1) пустой набор 2) единичный набор 3) слишком короткий набор 4) набор минимально возможной длины 5) нормальный набор 6)набор из нескольких частей 7) набор максимально возможной длины 8) слишком длинный набор

Тестирование упорядоченности – важно для задач сортировки и поиска экстремумов 1) данные неупорядочены 2) данные упорядочены в прямом порядке 3) данные упорядочены в обратном порядке 4) в наборе имеются повторяющиеся значения 5) экстр значение в середине набора 6) экстр значение в начале набора 7) экстр значение в конце набора 8) в наборе несколько совпадающих экстр значений

  1. Критерии белого ящика.

Критерии белого ящика – учитывают структуру программы

- критерий покрытия операторов

- критерий покрытия ветвей (решений)

- критерий покрытия путей

- критерий покрытия условий

- критерий покрытия решений/условий

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

- Проблемы, связанные с проверкой циклов

Покрытие операторов - каждый оператор в программе выполнен хотя бы 1 раз (например, if, однако если нет ветви «иначе», то тестирование будет неполным, для устранения неполноты введем критерий покрытия ветвей)

Покрытие ветвей - каждая ветвь в программе выполнена хотя бы 1 раз ((while)«плох» тем, что ошибка проявится только в случае фиксированного количества повторений)

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

- Проблемы, связанные с проверкой сложных условий – логических выражений

Покрытие условий - каждое простое условие хотя бы 1 раз было выполнено в обе стороны (истина и ложь)

Покрытие решений/условий - каждая ветвь в программе была пройдена хотя бы 1 раз, и каждое простое условие хотя бы 1 раз было выполнено в обе стороны («плох» тем, что ошибка проявится только в случае фиксированного количества повторений)

Комбинаторное покрытие условий - хотя бы 1 раз выполнялась любая комбинация простых условий («плох» тем, что может потребовать большого количества тестов, надежнее, чем покрытие решений/условий)