двигателя мотоцикла) последний обычно изображается с трех сторон:
вид спереди, вид сверху и вид слева.
Тезис
Тестировщики должны настаивать, чтобы спеки по максимуму
иллюстрировались:
• макетами (mock-up),
• блок-схемами (flow chart),
• примерами (example).
Аргументация
С примерами
все понятно: написал что-то — придумай примердля иллюстрации, заодно и сам лучше поймешь, о чем пишешь.
Народная мудрость гласит: "Лучше один раз увидеть, чем сто раз
услышать". Отличной идеей является разработка продюсером
макетов
интерфейса пользователя (User Interface или просто UI —"ю-ай"). Делается это так:
во время (или после) написания спека продюсер берет генератор
веб-страниц типа Microsoft FrontPage
и путем нехитрых манипу-ляций создает веб-страницу с кнопками, полями, картинками и
прочими милыми деталями интерфейса.
Затем эта страничка "подшивается" к спеку и помогает всем за-
интересованным лицам увидеть, ЧТО, по замыслу продюсера,
должен будет увидеть пользователь.
Кстати,
если спецификация предусматривает, что пользователь будет проходить через несколько веб-страниц для совершения какого-либо
действия (например, покупки книги), то макеты этих веб-страниц могут
не только являться частью спека, но и служить в качестве обоев, если
их развесить на стенах офиса в том порядке, в котором их будет видеть
пользователь.
82
Тестирование Дот Ком. Часть 1
Пример
Вольное изложение опека #1023 "Регистрация нового пользователя":
Регистрация пользователя состоит из трех страниц, идущих в следую-
щем порядке:
• первая страница (1)
— поле для индекса места жительства пользователя и кнопка "Продолжить регистрацию";
• вторая страница (2)
— поля для имени, фамилии, е-мейла и па-роля/подтверждения пароля пользователя, кнопка "Зарегистри-
роваться";
• третья страница
(3) — текст с подтверждением регистрации. Все поля обязательны для заполнения, и если на странице (1) или (2)
вводится недействительное либо пустое значение любого поля, то
пользователю показывается та же страница, но с сообщением об
ошибке (error message). (В данном случае мы не будем говорить о том,
какой ввод действителен (легитимен) для каждого из полей, так как это
сейчас неважно.)
Продюсер разрабатывает три страницы, распечатывает их в двух ком-
плектах, один из которых подшивает к спеку, а другой развешивает на
стене в порядке появления перед пользователем: страница (1), стра-
ница (2), страница (3).
Оговорка 1:
Макеты могут быть разной степени детализации, ивполне допустимо, когда элементы интерфейса, не имеющие от-
ношения
к иллюстрируемому спеку, не включаются в макет, на-пример, в случае с макетами для регистрации нас не интересуют
картинки на веб-странице.
Оговорка 2:
Понятно, что макеты интерфейса пользователя несоздаются, если спек полностью посвящен бэк-энду веб-сайта
(например, спек "Автоматизация отчетов по продажам"), так как
детали интерфейса пользователя, т.е. фронт-энд, в таком спеке
просто не упоминаются.
Проблема макетов (даже развешанных правильно) заключается в
том, что они позволяют увидеть в первую очередь интерфейс
пользователя,
а не логику работы кода позади интерфейса, на-зываемую алгоритмом программы.
Интерфейс — это то, ЧТО видит пользователь, а алгоритм —