Требования служат основой при разработке ИТ-продукта. Правильно сформированные и протестированные требования помогут компании выпустить ПО, которое соответствует ожиданиям клиентов и бизнеса.
Что такое требование?
Требование — это формальное выражение ожиданий, которым должен соответствовать ИТ-продукт. Оно может касаться функциональных возможностей, производительности и других аспектов, необходимых для успешного выполнения задач пользователем.
Тестирование требований — это проверка того, являются ли задокументированные требования к системе непротиворечивыми и осуществимыми на практике. Эта проверка выполняется до того, как начнётся реализация функциональности ПО.
Цель тестирования требований — удостовериться, что на основании описанных требований можно реализовать систему, протестировать и понять, что система должна делать.
Этапы тестирования требований
Для проведения проверки качества необходимы следующие виды документации в тестировании:
- Тестируемый документ с требованиями к системе (например, ТЗ).
- Сопроводительная документация (бизнес-правила, бизнес требования, документация к смежным системам/автоматизируемым процессам).
Тестирование требований: пример
Документ должен соответствовать некоторым показателям качества. Опишем эти критерии тестирования требований:
- Корректность: требование описывает именно то, что должна делать система.
- Недвусмысленность (однозначность, ясность): формулировки в требованиях могут быть одинаково интерпретированы всеми участниками проекта.
- Полнота: представлена вся информация, необходимая для чёткого понимания требований.
- Непротиворечивость: отсутствие требований, противоречащих друг другу.
- Возможность проверки (тестируемость): поддаётся ли требование проверке.
- Трассируемость (отслеживаемость): взаимосвязь требований различных уровней, возможность отследить каждое требование до уровня выше и ниже (если таковые имеются).
- Возможность модификации (изменяемость): удобство организации документа, возможность быстро и полно внести изменения в требования.
Далее необходимо проверить соответствует ли документ указанным критериям. Ниже мы описали как тестировать требования. Для этого тестировщики выполняют следующие проверки:
- На корректность структуры документа: проверяется наличие необходимых разделов и информации в них, их соответствие утверждённому шаблону (если он есть). В этом случае проверяются полнота и возможность модификации.
- На наличие и полноту описания пользователей/ролей системы: например, в случае, если в автоматизируемом процессе участвует несколько человек, то необходимо проверить, все ли пользователи будущей системы учтены. В этом случае проверяются полнота, непротиворечивость и корректность.
- На соответствие функциональных требований бизнес целям: насколько полно покрыты бизнес-требования функциональными и нефункциональными требованиями. В этом случае проверяются полнота, непротиворечивость, трассируемость.
- На соответствие бизнес-правилам: поиск законодательных актов, нормативов, стандартов, правил и других документов, которые накладывают ограничения на процесс тестирования. В этом случае проверяются полнота, непротиворечивость, корректность
- На однозначность интерпретации: отсутствие двусмысленных слов. В этом случае проверяются непротиворечивость и тестируемость.
- На отсутствие противоречий: например, на макете в списке заявок пользователя отображена пиктограмма «Редактировать» для элемента со статусом «Принята в работу», а в текстовом описании требований описано, что редактирование возможно только для заявок со статусом «В очереди», что является противоречием. В этом случае проверяются полнота, непротиворечивость, корректность.
- На детализацию требований: использование детального текстового описания элементов интерфейса системы либо прототипов/макетов пользовательского интерфейса системы. В этом случае проверяется полнота.
- На полноту требований: например, если в требованиях перечислен список полей, обязательных к заполнению, то проверяется наличие проверок их заполнения при сохранении формы, а также описание поведения системы в случае невыполнения проверки. В этом случае проверяются полнота и корректность.
- На полноту описания сущностей в системе: например, в случае если описывается функция бронирования билета, проверяется наличие описания всех состояний брони, описаны ли все доступные действия для каждого из перечисленных состояний (возможность редактирования, отмены, удаления). В этом случае проверяются полнота и корректность.
- На полноту описания требований к взаимодействию с внешними системами: например, при оплате брони проверяется, корректно ли описано поведение системы в случае сбоя при оплате (отобразилось ли сообщение с причиной сбоя оплаты). В этом случае проверяются полнота и корректность.
- На наличие требований к доработке смежных систем или существующих модулей, если они потребуются в связи с реализацией текущего проекта. В этом случае проверяются полнота и корректность.
Виды требований в тестировании
Ниже мы разберём основные типы требований в зависимости от их природы и назначения.
Виды по назначению:
- Функциональные требования в тестировании определяют функции и особенности ПО, которые нужны пользователям.
- Нефункциональные требования описывают свойства системы и ограничения, которые она должна соблюдать. Это касается, например, надёжности и удобства сопровождения.
Виды по природе:
- Явные требования чётко изложены и легко понимаемы. Например: «Пользователь может просматривать меню и выбирать блюда».
- Неявные требования не всегда чётко прописаны, но важны для успешного функционирования системы. Они могут быть основаны на опыте использования и ожиданиях пользователей. Например: «ПО должно быть интуитивно понятным и удобным в использовании».
- Скрытые требования могут не быть явно упомянутыми, но критически важными для работоспособности системы. Например: «Приложение должно обрабатывать ошибки в случае сбоя соединения».
Преимущества тестирования требований для бизнеса
- Улучшение качества ИТ-продукта: верификация требований позволяет выпустить ПО, которое лучше всего соответствует ожиданиям пользователей, что повышает прибыль компании.
- Экономия времени и бюджета: проверка требований выполняется заранее. Как следствие, согласование документа проходит быстрее, так как дефекты уже выявлены и исправлены. Также качественная документация оставляет специалистам меньше пространства для ошибок.
- Учёт интересов заказчика: тестирование требований позволяет минимизировать риски, например, когда в требованиях не были учтены бизнес-цели автоматизации процесса, не были проанализированы смежные процессы или не хватало деталей.
Любая из этих потенциальных проблем повышает вероятность того, что важные для бизнес-пользователей функции будут упущены при реализации системы и ПО не будет в полной мере удовлетворять потребности клиента.
Что будет, если не тестировать требования
- Неправильное понимание потребностей клиента: без тестирования требований существует вероятность, что команда не поймет истинные потребности и ожидания клиентов. Это может привести к созданию ИТ-продукта, который не удовлетворяет запросы пользователей.
- Увеличение затрат: непроверенные требования часто приводят к необходимости доработок на более поздних стадиях разработки. Исправление ошибок и изменений в уже готовом ИТ-продукте обходится дороже, чем их устранение на этапе разработки требований.
- Несоблюдение сроков: изменение требований и исправление ошибок, возникающих из-за отсутствия тестирования требований, могут привести к значительным задержкам в графике проекта. Это может повлиять на репутацию компании.
- Юридические и регуляторные риски: в некоторых сферах непроверенные требования могут привести к несоответствию законодательству и стандартам качества.
- Отсутствие возможности измерения успеха: без чётких и проверяемых требований сложно определить, достигла ли команда своих целей. Это затрудняет оценку успеха проекта.
Тестирование требований — важная часть успешного процесса разработки ПО. Оно не только позволяет точно определить и понять потребности клиентов, но и служит основой для создания качественного ИТ-продукта, который соответствует ожиданиям рынка.
Вы заинтересованы в тестировании ПО? Наши QA-специалисты ответят на все ваши вопросы на
бесплатной консультации.