1.2.7. Типичные ошибки при анализе и тестировании требований
Для
лучшего понимания и запоминания материала рассмотрим типичные ошибки,
совершаемые в процессе анализа и тестирования требований.
Изменение
формата файла и документа. По
какой-то непонятной причине очень многие начинающие тестировщики стремятся
полностью уничтожить исходный документ, заменив текст таблицами (или наоборот),
перенеся данные из Word в Excel и т.д. Это можно сделать только в одном случае:
если вы предварительно договорились о подобных изменениях с автором документа. В
противном случае вы полностью уничтожаете чью-то работу, делая дальнейшее
развитие документа крайне затруднительным.
Самое
худшее, что можно сделать с документом, — это сохранить его в итоге в некоем
формате, предназначенном скорее для чтения, чем для редактирования (PDF, набор
картинок и тому подобное).
Если
требования изначально создаются в некоей системе управления требованиями, этот
вопрос неактуален, но высокоуровневые требования большинство заказчиков привыкли
видеть в обычном DOCX-документе, а Word предоставляет такие прекрасные
возможности работы с документом, как отслеживание изменений и
комментарии.
Рисунок
1
Активация
отслеживания изменений в Word.
В
итоге получается результат, представленный на рисунке 1: исходный формат
сохраняется (а автор к нему уже привык), все изменения хорошо видны и могут быть
приняты или отклонены в пару кликов мыши, а типичные часто повторяющиеся вопросы
вы можете помимо указания в комментариях вынести в отдельный список и поместить
его в том же документе.
Рисунок
2
Правильно
выглядящий документ с правками.
И
ещё два маленьких, но неприятных момента относительно
таблиц:
·
Выравнивание
ВСЕГО текста в таблице по центру. Да, выравнивание по центру хорошо смотрится в
заголовках и ячейках с парой-тройкой слов, но если так выровнен весь текст,
читать его становится сложно.
·
Отключение
границ ячеек. Такая таблица намного хуже читается.
Отметка того
факта, что с требованием всё в порядке. Если у вас не
возникло вопросов и/или замечаний к требованию — не надо об этом писать. Любые
пометки в документе подсознательно воспринимаются как признак проблемы, и такое
«одобрение требований» только раздражает и затрудняет работу с документом —
сложнее становится заметить пометки, относящиеся к проблемам.
Описание одной и
той же проблемы в нескольких местах. Помните, что
ваши пометки, комментарии, замечания и вопросы тоже должны обладать свойствами
хороших требований (настолько, насколько эти свойства к ним применимы). Если вы
много раз в разных местах пишете одно и то же об одном и том же, вы нарушаете
как минимум свойство модифицируемости. Постарайтесь в таком случае вынести ваш
текст в конец документа, укажите в нём же (в начале) перечень пунктов
требований, к которым он относится, а в самих требованиях в комментариях просто
ссылайтесь на этот текст.
Написание
вопросов и комментариев без указания места требования, к которым они относятся.
Если ваше
инструментальное средство позволяет указать часть требования, к которому вы
пишете вопрос или комментарий, сделайте это (например, Word позволяет выделить
для комментирования любую часть текста — хоть один символ). Если это невозможно,
цитируйте соответствующую часть текста. В противном случае вы порождаете
неоднозначность или вовсе делаете вашу пометку бессмысленной, т.к. становится
невозможно понять, о чём вообще идёт речь.
Задавание плохо
сформулированных вопросов. Эта ошибка была
подробно рассмотрена выше (см. раздел «Техники тестирования требований»). Однако
добавим, что есть ещё три вида плохих вопросов:
·
Первый вид
возникает из-за того, что автор вопроса не знает общепринятой терминологии или
типичного поведения стандартных элементов интерфейса (например, «что такое
чек-бокс?», «как в списке можно выбрать несколько пунктов?», «как подсказка
может всплывать?»).
·
Второй вид
плохих вопросов похож на первый из-за формулировок: вместо того, чтобы написать
«что вы имеете в виду под ?», автор вопроса пишет «что такое ?» То есть вместо
вполне логичного уточнения получается ситуация, очень похожая на рассмотренную в
предыдущем пункте.
·
Третий вид
сложно привязать к причине возникновения, но его суть в том, что к некорректному
и/или невыполнимому требованию задаётся вопрос наподобие «что будет, если мы это
сделаем?». Ничего не будет, т.к. мы это точно не сделаем. И вопрос должен быть
совершенно иным (каким именно — зависит от конкретной ситуации, но точно не
таким).
И ещё раз
напомним о точности формулировок: иногда одно-два слова могут на корню
уничтожить отличную идею, превратив хороший вопрос в плохой. Сравните: «Что
такое формат даты по умолчанию?» и «Каков формат даты по умолчанию?». Первый
вариант просто показывает некомпетентность автора вопроса, тогда как второй —
позволяет получить полезную информацию.
К
этой же проблеме относится непонимание контекста. Часто можно увидеть вопросы в
стиле «о каком приложении идёт речь?», «что такое система?» и им подобные. Чаще
всего автор таких вопросов просто вырвал требование из контекста, по которому
было совершенно ясно, о чём идёт речь.
Написание
очень длинных комментариев и/или вопросов.
История знает случаи, когда одна страница исходных требований превращалась в
20–30 страниц текста анализа и вопросов. Это плохой подход. Все те же мысли
можно выразить значительно более кратко, чем сэкономить как своё время, так и
время автора исходного документа. Тем более стоит учитывать, что на начальных
стадиях работы с требованиями они весьма нестабильны, и может получиться так,
что ваши 5–10 страниц комментариев относятся к требованию, которое просто удалят
или изменят до неузнаваемости.
Критика
текста или даже его автора.
Помните, что ваша задача — сделать требования лучше, а не показать их недостатки
(или недостатки автора). Потому комментарии вида «плохое требование», «неужели
вы не понимаете, как глупо это звучит», «надо переформулировать» неуместны и
недопустимы.
Категоричные
заявления без обоснования.
Как продолжение ошибки «критика текста или даже его автора» можно отметить и
просто категоричные заявления наподобие «это невозможно», «мы не будем этого
делать», «это не нужно». Даже если вы понимаете, что требование бессмысленно или
невыполнимо, эту мысль стоит сформулировать в корректной форме и дополнить
вопросами, позволяющими автору документа самому принять окончательное решение.
Например, «это не нужно» можно переформулировать так: «Мы сомневаемся в том, что
данная функция будет востребована пользователями. Какова важность этого
требования? Уверены ли вы в его необходимости?»
Указание
проблемы с требованиями без пояснения её сути.
Помните, что автор исходного документа может не быть специалистом по
тестированию или бизнесанализу. Потому просто пометка в стиле «неполнота»,
«двусмысленность» и т.д. могут ничего ему не сказать. Поясняйте свою
мысль.
Сюда
же можно отнести небольшую, но досадную недоработку, относящуюся к
противоречивости: если вы обнаружили некие противоречия, сделайте
соответствующие пометки во всех противоречащих друг другу местах, а не только в
одном из них. Например, вы обнаружили, что требование 20 противоречит
требованию. Тогда в требовании отметьте, что оно противоречит требованию , и
наоборот. И поясните суть противоречия.
Плохое
оформление вопросов и комментариев.
Старайтесь сделать ваши вопросы и комментарии максимально простыми для
восприятия. Помните не только о краткости формулировок, но и об оформлении
текста (см., например, как на рисунке вопросы структурированы в виде списка —
такая структура воспринимается намного лучше, чем сплошной текст). Перечитайте
свой текст, исправьте опечатки, грамматические и пунктуационные ошибки и
т.д.
Описание
проблемы не в том месте, к которому она относится. Классическим примером может
быть неточность в сноске, приложении или рисунке, которая почему-то описана не
там, где она находится, а в тексте, ссылающемся на соответствующий элемент.
Исключением может считаться противоречивость, при которой описать проблему нужно
в обоих местах.
Ошибочное
восприятие требования как «требования к пользователю». Ранее (см. «Корректность»
в «Свойства качественных требований») мы говорили, что требования в стиле
«пользователь должен быть в состоянии отправить сообщение» являются
некорректными. И это так. Но бывают ситуации, когда проблема намного менее
опасна и состоит только в формулировке. Например, фразы в стиле «пользователь
может нажать на любую из кнопок», «пользователю должно быть видно главное меню»
на самом деле означают «все отображаемые кнопки должны
быть
доступны для нажатия» и «главное меню должно отображаться». Да, эту недоработку
тоже стоит исправить, но не следует отмечать её как критическую
проблему.
Скрытое
редактирование требований.
Эту ошибку можно смело отнести к разряду крайне опасных. Её суть состоит в том,
что тестировщик произвольно вносит правки в требования, никак не отмечая этот
факт. Соответственно, автор документа, скорее всего, не заметит такой правки, а
потом будет очень удивлён, когда в продукте что-то будет реализовано совсем не
так, как когда-то было описано в требованиях. Потому простая рекомендация: если
вы что-то правите, обязательно отмечайте это (средствами вашего инструмента или
просто явно в тексте). И ещё лучше отмечать правку как предложение по изменению,
а не как свершившийся факт, т.к. автор исходного документа может иметь
совершенно иной взгляд на ситуацию.
Анализ,
не соответствующий уровню требований.
При тестировании требований следует постоянно помнить, к какому уровню они
относятся, т.к. в противном случае появляются следующие типичные
ошибки:
·
Добавление
в бизнестребования мелких технических подробностей.
·
Дублирование
на уровне пользовательских требований части бизнестребований (если вы хотите
увеличить прослеживаемость набора требований, имеет смысл просто использовать
ссылки).
·
Недостаточная
детализация требований уровня продукта (общие фразы, допустимые, например, на
уровне бизнестребований, здесь уже должны быть предельно детализированы,
структурированы и дополнены подробной технической
информацией).