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

Глава 1: Разработка тестов 189

Для полей или параметров, принимающих фиксированные перечни значений, выясните, какие из значений в них входят

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

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

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

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

Проанализируйте возможные результаты выбора из списков и меню

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

Например, если программа задает вопрос “Вы уверены? (Д/Н)”, один класс эквивалентности должен содержать ответ Д (и, межу прочим, также и д), а второй — ответ Н (и н). Все остальные ответы являются недопус­тимыми (хотя вполне возможно, что программа интерпретирует все, что не является положительным ответом, как отрицательный, т.е. как эквивалент ответа Н).

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

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

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

Поищите переменные, значения которых должны быть равными

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

Поищите классы значений, зависящих от времени

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

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

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

Введите величины трех углов треугольника. К классу допустимых отно­сятся значения, в сумме дающие 180 градусов. Недопустимые значения можно разделить на два класса эквивалентности: с суммарным значением менее 180 и более 180 градусов.