Скачиваний:
387
Добавлен:
01.05.2014
Размер:
1.33 Mб
Скачать

4. Метод, основанный на предположении об ошибке

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

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

  • Сортируемый список пуст.

  • Сортируемый список содержит только одно значение.

  • Все записи в сортируемом списке имеют одно и то же значение.

  • Список уже отсортирован.

Общая стратегия разработки тестов

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

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

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

  2. Использовать анализ граничных значений.

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

  4. Использовать метод предположения об ошибке.

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

Критерии завершения тестирования

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

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

  2. Критерии, в основу которых положен принцип завершения тестирования при нахождении определенного экспертами до начала работ числа ошибок (например, исходя из данных о разработке других программ соответствующего класса).

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