Requirements: зачем их тестировать

Что такое “требование”?

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

Важность требований:

Самая лучшая картинка, которая отображает проблемы в работе с требованиями, пониманием того, что необходимо сделать и результатом.

Составление требований к разработке фичей: Курс «Создание программного  продукта и управление его развитием» / Хабр

Основное место, где происходят и появляются все “косяки” – это работа с требованиями. Чем хуже была проработка на моменте сбора, анализа и тестирования требований – тем больше проблем появиться на следующих этапах процесса разработки.

Тестирование требований и документации

Уровни требований

Бизнес требования цель, ради которой создается продукт (для чего, какие проблемы решает, от чего получим прибыль).

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

Продуктные  требования – наши функциональные (что система должна делать) и нефункциональные требования (как система должна это делать).

НЕФУНКЦИОНАЛЬНЫЕ ТРЕБОВАНИЯ

Ограничения – факторы, которые ограничивают выбор способов и средств реализации продукта (Приложение должно работать в последних версиях браузеров Chrome, Firefox, Safari).

Требования к интерфейсам – особенности взаимодействия системы с другими системами (Весь трафик между браузером и сервером должен быть зашифрован (HTTPS соединение)).

Требования к данным – описывают структуры данных, описания баз данных, особенности их использования (Все данные системы должны храниться в БД под управлением СУБД MySQL).

Стадии выявления требований

Есть 4 основные стадии выявления требований:

  • Выявление требования
  • Первичный анализ
  • Документирование требований
  • Проверка

Основная сложность всего этого процесса – то, что он может занимать много времени, поскольку бизнес аналитик или другой человек, который занимается сбором и оформлением требований, может возвращаться с каждого этапа на предыдущий или на первый в зависимости от того, как была проделана работа и как все было зафиксировано и “понято”. Чем больше информации будет получено от заказчика или Product Owner, тем лучше будут описаны требования и тем лучше будет результат.

Способы выявлений требований:

Свойства качественных требований:

Почему важно тестировать требования?

Для менеджера:

Для автора требований:

Для разработчика:

Для тестировщика:

Если не тестировать требования, то:

Как упростить работу с требованиями:

File:UML Use Case diagram.svg - Wikimedia Commons
Пример use case диаграммы

Пример mind map диаграммы

Способы представления документации:

Пример Use-case

Пример User story

25 free mobile app mockup templates - download now! - Justinmind
Пример UI mockups

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

Тестирование документации - online presentation

Rudchenko Yuliya

Автор: Rudchenko Yuliya