Как написать требования к IT-продукту и их протестировать, чтобы результат соответствовал ожиданиям |
13.05.2024 00:00 |
Автор: Зубов Вадим QA специалист IT компании Intelsy С техническим заданием, и в частности с требованиями, лично я имею дело постоянно, поэтому собрал полезную для начинающих и продолжающих специалистов информацию по требованиям к IT-продукту, их видам, техникам и метрикам тестирования требований. На эту инфу стоит ориентироваться не только аналитикам и тестировщикам, но и остальным членам команды. Что такое требования?Требования служат фундаментом для каждого проекта и необходимы для глубокого понимания командой всех аспектов предстоящей работы. Ошибки и неточности в документации требований могут привести к проблемам в самый неожиданный момент. Внести пару правок в требования на первоначальном этапе гораздо проще, нежели вносить изменения в тысячи строк кода. Поэтому тщательное тестирование требований является критичным элементом процесса разработки, который помогает оптимизировать работу команды, предотвратить недопонимания и оценить выполнимость требований в установленных рамках времени, бюджета и доступных ресурсов. Благодаря высокому качеству сформулированных требований достигается высокое качество конечного программного продукта. Процесс тестирования требований направлен на выявление и исправление потенциальных ошибок на ранних этапах проектирования, что в долгосрочной перспективе позволяет:
Что же включает в себя процесс тестирования требований? Виды требованийПри разработке продукта выделяют следующие виды требований: Бизнес-требования определяют цели, ради которых разрабатывается продукт. Они устанавливают, какую ценность должен принести продукт и каковы пути получения прибыли с его помощью. Эти требования фиксируются в документе, который представляет общее видение и границы проекта, без детального описания системы или других технических характеристик. Пользовательские требования описывают взаимодействие конечных пользователей с продуктом и выгоды, которые они получают. Пользовательские требования описывают, что пользователь может делать с продуктом и какие преимущества он получает (рабочие сценарии, реакция системы). Они часто представлены в форме пользовательских историй (user stories) и сценариев использования (use cases). Бизнес-правила включают в себя набор ограничений и правил, которые регулируют определённые процессы в рамках выбранной области деятельности. Это могут быть корпоративная политика компании, государственные законодательные акты, отраслевые стандарты и т.д. Функциональные требования описывают функциональные возможности продукта, а также поведение системы в различных ситуациях. Нефункциональные требования описывают качественные характеристики продукта: удобство использования, безопасность, надежность, производительность, масштабируемость и другие атрибуты, а также различные технологические и эксплуатационные ограничения. Тестирование требований в жизненном цикле разработки ПОЖизненный цикл тестирования ПО — это процесс выполнения различных действий в ходе проведения тестирования. Каждая модель жизненного цикла тестирования программного обеспечения состоит из следующих шести ключевых этапов:
Анализ и тестирование являются важнейшим и в то же время наименее затратным по времени этапом работ. По этой причине важно начинать тестирование с момента разработки технической спецификации. Задача тестирования требований – устранить как можно больше ошибок на ранних стадиях проектирования системы. Тестирование требованийДля обеспечения высокого качества разработки программного обеспечения важно точно и ясно сформулировать требования к нему. Основные критерии, по которым тестировщики проводят анализ требований:
Техники тестирования требованийТестирование документации и требований является частью общего процесса нефункционального тестирования, для чего применяются разнообразные методики: 1. Взаимный просмотр (PEER REVIEW):Рецензирование или взаимный просмотр — одна из самых используемых техник при тестировании требований. Эта техника представляется в одной из следующих форм (по мере увеличения сложности и цены):
2. Тест-кейсы и чек-листы
Хорошее требование должно быть проверяемым, то есть должен быть объективный способ определить, выполнено ли оно. Создание чек-листов или полноценных тестовых сценариев в процессе анализа требований помогает убедиться в их проверяемости. Наличие нескольких пунктов в чек-листе еще не означает, что требование выполнено полностью (например, возможно наличие противоречий с другими требованиями). Рекомендуется сначала убедиться, что вы полностью понимаете требование (включая чтение соседних требований и обсуждение с коллегами). Изучение других требований поможет лучше понять конкретное требование. Однако, если это не работает, требование должно быть пересмотрено.
Этот метод является продолжением предыдущего и предполагает проверку не одного требования, а группы. Тестировщик создает модель поведения пользователя с системой для выявления возможных проблем или недоработок. Этот метод требует высокой квалификации и опыта от тестировщика, однако позволяет обнаружить ошибки, которые могли бы остаться незамеченными при проверке каждого требования по отдельности.
Для обобщенного представления требований эффективно использовать графические элементы, такие как рисунки, схемы, диаграммы, интеллект-карты и другие. В этом случае на помощь к тестировщикам приходят аналитики. Текстовое описание базы данных может быть громоздким и сложным для восприятия. Графическое представление упрощает понимание, позволяет быстро выявить несоответствия и недостающие элементы. Использование общепринятых нотаций, таких как язык UML, обеспечивает дополнительное преимущество: схема становится доступной для понимания и доработки коллегами, и в результате может стать ценным дополнением к текстовым требованиям.
После создания графического представления и анализа поведения системы часто создается прототип. Используя специальные инструменты, можно быстро создать наброски пользовательского интерфейса, оценить различные решения и даже создать основу для дальнейшей разработки. Возможно, прототип после небольших доработок будет удовлетворять требованиям заказчика. Метрики покрытия требованийМетрики используются для отслеживания усилий по обеспечению качества выпускаемого программного кода. С их помощью удаётся в численном выражении получить представлении о достижении заданного уровня качества или поставленных целей. Существуют следующие метрики:
ВыводыВажным аспектом в тестировании требований является единое их понимание всеми участниками проектной команды, что предотвращает лишние правки уже реализованного функционала. В этом случае рекомендуется использовать метод технического просмотра. Это снизит риск возникновения внутренних разногласий, связанных с расхождениями в трактовании требований между разработчиками, аналитиками и тестировщиками, а также ускорит написание тестовой документации. Качество проверки документации в значительной степени определяется квалификацией проверяющего. Поэтому целесообразно выделить опытного специалиста с экспертизой в области тестирования требований на данную роль. Кроме того, предпочтительно, чтобы документацию проверяли представители и других направлений: тестировщики, разработчики. Это позволит им задавать более точные и профессиональные вопросы, что повысит шансы на успешную реализацию требований. Аналитикам полезно чаще пользоваться методами графического представления при разработке требований, чтобы улучшить процесс понимания требований разными членами команды. Это, в свою очередь, способствует ускорению процессов разработки и тестирования функционала. |