Классы эквивалентности и граничные
условия
Тестирование программного обеспечения. Базовый курс.
© EPAM Systems, 2015–2023
Стр: 241/301
Чтобы иметь возможность применить стандартную технику классов эквива-
лентности и граничных условий, нам нужно по рисунку 2.7.e дойти от центрального
элемента («SOURCE_DIR») до любого конечного, однозначно относящегося к пози-
тивному или негативному тестированию.
Один из таких путей на рисунке 2.7.e отмечен кружками. Словесно его можно
выразить так: SOURCE_DIR
→
Windows
→
Локальный каталог
→
Имя
→
Свободное
→
Длина
→
В кодировке UTF16
→
Допустимая или недопустимая.
Максимальная длина пути для Windows в общем случае равна 256 байтам:
[
диск][:\][путь][null] = 1 + 2 + 256 + 1 = 260. Минимальная длина равна 1 байту (точка
обозначает «текущий каталог»). Казалось бы, всё очевидно и может быть представ-
лено рисунком 2.7.f.
Рисунок 2.7.f — Классы эквивалентности и граничные условия для
длины пути
Но если почитать внимательно спецификацию
352
,
выясняется, что «физиче-
ски» путь может быть длиной до 32’767 символов, а ограничение в 260 символов
распространяется лишь на т.н. «полное имя». Потому возможна, например, ситуа-
ция, когда в каталог с полным именем длиной 200
символов помещается файл с
именем длиной 200 символов, и длина полного имени файла получается равной
400 символам (что очевидно больше 260).
Так мы подошли к ситуации, в которой для проведения тестирования нужно
либо знать внутреннюю реализацию поведения приложения, либо вносить правки
в
требования, вводя искусственные ограничения (например,
длина имени
SOURCE_DIR
не может быть более 100 символов, а длина имени любого файла в
SOURCE_DIR
не может быть более 160 символов, что в сумме может дать макси-
мальную длину в 260 символов).
Ввод искусственных ограничений — плохая идея, потому с точки зрения ка-
чества мы вполне вправе считать представленное на рисунке 2.7.f разбиение кор-
ректным, а сбои в работе приложения (если таковые будут), вызванные описанной
выше ситуацией вида «200 символов + 200 символов», — дефектом.
Таблица 2.7.c — Значения всех входных данных для тест-кейсов по проверке вы-
бранного на рисунке 2.7.e пути
Достарыңызбен бөлісу: