Как оно может сломаться, т.е. начать работать неверно? Негативных
тест-кейсов (за редчайшим исключением) оказывается намного больше, чем пози-
тивных. Итак, какие проблемы с именем каталога-источника (и самим каталогом-
источником) могут помешать нашему приложению?
•
Указанный путь не является корректным именем каталога:
o
Пустое значение (“”).
o
Слишком длинное имя:
▪
Для Windows: более 256 байт. (Важно! Путь к каталогу длиной в
256
байт допустим, но надо учесть ограничение на полное имя
файла, т.к. его превышение может быть достигнуто естествен-
ным образом, что приведёт к возникновению сбоя.)
▪
Для Linux: более 4096 байт.
o
Недопустимые символы, например: ? < > \ * | " \0.
o
Недопустимые комбинации допустимых символов, например: “....\dir”.
•
Каталог не существует:
o
На локальном диске.
o
В сети.
•
Каталог существует, но к нему нет прав доступа.
•
Доступ к каталогу утерян после запуска приложения:
o
Каталог удалён или переименован.
o
Изменены права доступа.
o
Потеря соединения с удалённым компьютером.
•
Использование зарезервированного имени:
o
Для Windows: com1-com9, lpt1-lpt9, con, nul, prn.
o
Для Linux: “..”.
•
Проблемы с кодировками, например: имя указано верно, но не в той коди-
ровке.
Если погружаться в детали поведения отдельных операционных систем и
файловых систем, данный список можно значительно расширить. И тем не менее
открытыми будут оставаться два вопроса:
•
Все ли эти варианты надо проверить?
•
Не упустили ли мы что-то важное?
На первый вопрос ответ можно найти, опираясь на рассуждения, описанные
в главе «Логика создания эффективных проверок»
{152}
.
Ответ на второй вопрос по-
могут найти рассуждения, описанные в двух следующих главах, т.к. классы эквива-
лентности, граничные условия и доменное тестирование значительно упрощают
решение подобных задач.