QA Engineer - Михаил Семынин
— User Requirements — изложение ожиданий конечных пользователей. Чаще всего оформляются в виде пользовательских историй или сценариев. Этот уровень тоже обычно не тестируют QA инженеры, хотя такое случается. Используя эти требования, QA инженер может представить абстракции того, как будут выглядеть его проверки.
— Functional Requirements — описание поведения системы или конкретных ее функций, с которыми работают конечные пользователи. На этом уровне мнение QA инженера особенно важно, так как он постоянно работает с функционалом и может не только исправить ошибку, допущенную аналитиком, но и предложить лучшее решение.
— Non — functional Requirements — описывают нефункциональные атрибуты системы, такие как: производительность, надежность, безопасность, удобство использования, совместимость и т. д. В тестировании таких требований участвуют QA инженеры. Они могут иметь ограниченные технические знания, однако это не мешает им проверить само качество требований.
— Regulatory Requirements — описывают соответствие регуляторов законодательным, нормативным и другим юридическим требованиям. QA инженеры, как и в случае с нефункциональными требованиями, могут протестировать лишь качество того, как описаны требования, но, если не имеют навыков в этой области, то относительно поверхностно.
Каждый из этих типов требований играет важную роль в процессе разработки и гарантирует, что все аспекты системы будут должным образом рассмотрены и реализованы для достижения целей проекта.
Требования могут быть качественными или нет.
Критерии качества требований:
— Конкретность — требования должны быть четко сформулированы, без неоднозначностей. Каждое требование должно быть понятно всем участникам проекта.
— Измеримость — должен существовать способ проверить, выполнено требование или нет.
— Достижимость — требование должно быть достижимым в рамках ресурсов проекта, его ограничений и доступных технологий.
— Атомарность — требование должно быть настолько неделимым, насколько это возможно.
— Релевантность — требование должно быть важным для бизнес — целей проекта.
— Полнота — требование должно полностью описывать поведение системы, не оставляя пробелов в спецификации. Все возможные сценарии использования должны быть учтены.
— Непротиворечивость — требования не могут противоречить друг другу, они должны быть согласованы.
— Модифицируемость — требования должны быть оформлены в таком виде и структуре, при которых их изменения проходят легко и не приводят к значительному влиянию на другие требования.
— Проверяемость — должна быть возможность протестировать требование, чтобы определить, что система его выполняет.
— Отслеживаемость — должна быть возможность проследить, как требование реализуется на разных этапах разработки. Каждое требование в ходе реализации функционала должно иметь нумерацию или маркер с привязками к задачам. Это значит, что не должно возникать трудностей в том, чтобы отследить любое требование от момента его возникновения до конечной реализации.
— Проранжированность — требования должны быть отсортированы в соответствии с важностью целей.
Далее рассмотрим примеры критериев качества требований. Учтите, что каждый пример описывает конкретный критерий, но для простоты может намеренно нарушать другие.
Пример конкретности требования
В хорошем примере корректно описано, что должна делать система, когда она должна совершать действия, каким способом и в рамках какого времени. Это требование очень важно, так как для каждого участника команды «быстро» — субъективное понятие, а значит работу системы каждый оценит по-своему.
Пример измеримости требования
В хорошем примере указана точная цифра, по которой можно будет судить, выполняет ли система указанное требование.
Пример достижимости требования
В плохом примере отчеты любого размера должны экспортироваться за 2 секунды, что невозможно выполнить при генерации 200 страниц. В хорошем примере цифры реалистичные и разграничены по объему экспортируемой информации.
Пример атомарности требования
В хорошем примере описано только одно требование, в плохом сразу несколько в одном предложении. В целом, такое может быть допустимо для требований бизнес-уровня. Но если вам необходимо задать несколько бизнес-требований, их лучше разделять. Польза этого особо заметна на больших и старых проектах, когда есть необходимость четко отследить, откуда появились конкретные требования и какие из них были реализованы в полном объеме или нет.
Пример релевантности требования
В хорошем примере требование описывает полезные и актуальные функции для большинства пользователей веб-сайтов электронной коммерции. Плохой пример довольно утрированный, но суть в том, что требование может быть абсолютно бесполезным или несвоевременным для выполнения бизнес-целей проекта, а значит трата ресурсов на его выполнение — избыточное или вовсе бессмысленное действие. Некоторым проектам крайне важно быть в числе первых кто реализует ту или иную функциональность. При этом гонка с конкурентами может быть достаточно обостренной чтобы действительно заботиться о релевантности буквально каждые пару недель.
Пример полноты требования
В хорошем примере есть полное понимание того, какие данные требуются от пользователя. В плохом примере не понятно, какие именно данные необходимо собирать, а это очень важно, так как разные данные требуют разного уровня обеспечения безопасности со стороны тех, кто их хранит, не говоря о соответствующих лицензиях от государственных органов и соглашений с пользователем.
Пример непротиворечивости требования
В хорошем примере нет противоречивого утверждения — учетная запись полностью заблокирована. В плохом примере либо требуется уточнение, что учетная запись блокируется не полностью, а выборочно для определенного метода входа в систему, либо возможность входа указывает на то, что сама попытка проникнуть в систему другим способом не заблокирована, но сделать это не получится.
Пример модифицируемости требования
В хорошем примере при изменении алгоритма достаточно будет обновить его только один раз, в месте куда введет ссылка, которая всегда укажет на него. Плохой пример потребует больше внимательности при обновлении и больше затрат времени.
Пример проверяемости требования
В хорошем примере существует однозначный способ проверить во время тестирования, выполнено ли требование. В то же время, «приятный» пользовательский интерфейс является очень субъективным понятием.
Пример отслеживаемости требования
В хорошем примере сразу понятно, что это требование имеет отношение к какой — то конкретной фиче и пользовательской истории с уникальными номерами. На практике это может быть не частью названия, а связью между сущностями в системе, где создаются они или такие документы.
Пример проранжированности требования
В хорошем примере сразу понятно, какие требования абсолютно необходимы для успешного выполнения целей проекта или задачи, а какие являются второстепенными и не критичны для выпуска проекта. Четкая приоритезация позволяет акцентировать работу команды на главных задачах, а
Откройте для себя мир чтения на siteknig.com - месте, где каждая книга оживает прямо в браузере. Здесь вас уже ждёт произведение QA Engineer - Михаил Семынин, относящееся к жанру Маркетинг, PR, реклама / Программирование / Справочники. Никаких регистраций, никаких преград - только вы и история, доступная в полном формате. Наш литературный портал создан для тех, кто любит комфорт: хотите читать с телефона - пожалуйста; предпочитаете ноутбук - идеально! Все книги открываются моментально и представлены полностью, без сокращений и скрытых страниц. Каталог жанров поможет вам быстро найти что-то по настроению: увлекательный роман, динамичное фэнтези, глубокую классику или лёгкое чтение перед сном. Мы ежедневно расширяем библиотеку, добавляя новые произведения, чтобы вам всегда было что открыть "на потом". Сегодня на siteknig.com доступно более 200000 книг - и каждая готова стать вашей новой любимой. Просто выбирайте, открывайте и наслаждайтесь чтением там, где вам удобно.


