Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тестирование программного обеспечения. Фундамен...docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
935.81 Кб
Скачать

Глава 7: Разработка тестов 185

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

• Посмотрите, на какие действия программа отвечает эквивалентны­ми событиями.

• Продумайте варианты операционного окружения.

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

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

• Допустим ввод чисел от 1 до 99.

• Любое число меньше 1 слишком мало. Данный диапазон включает О и все отрицательные числа.

• Любое число больше 99 слишком велико.

• Если введена нечисловая информация, она не принимается. (Дей­ствительно ли это верно для всего, что не является числом?)

Организуйте формируемый перечень классов в виде таблицы или плана

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

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

Табличный формат информации более понятен, его легче читать, и одним взглядом можно охватить больше информации. В нем более очевид­но разделение на допустимые и недопустимые варианты. На наш взгляд,

186 Часть II: Приемы и технологии тестирования

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

Входное или

выходное

событие

Допустимые классы эквивалентности

Недопустимые классы эквивалентности

Ввод числа

Числа от 1 до 99

0

> 99

Выражение, результатом которого является недопустимое число, например, 5-5, результат которого равен 0.

Отрицательные числа

Буквы и другие нечисловые символы

Ввод первой буквы имени

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

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

Первый символ не является буквой

Рисование прямой

От одной точки до четырех сантиметров длиной

Отсутствие рисунка Длиннее четырех сантиметров Линия не является прямой

Таблица взята из книги Майерса (Myers, 1979).

РИСУНОК 7.1. Табличный формат описания классов эквивалентности

К сожалению, таблицы часто бывают очень громоздки. Как правило, в них больше столбцов, чем показано на рис. 7.1, — в этих столбцах отража­ется взаимодействие между различными элементами данных, события раз­биваются на подсобытия, или классы эквивалентности разделяются на подклассы. Например, событие “Ввод имени” может быть разбито на со­бытия “Ввод первой буквы имени” и “Ввод оставшейся части имени”.

Можно нарисовать огромную черновую таблицу, а затем превратить ее в таблицу с тремя столбцами, используя для развития одной и той же темы новые строки. Но при таком способе представления данных теряется ос­новное преимущество таблицы — ее наглядность. Сразу исчезают все логи­ческие связи, так прекрасно представленные в широкой таблице.