Manual Testing

БЛОК 2. Работа с требованиями — 5. Как читать требования

📚 25 вопросовПройти тест →
Лекция

БЛОК 2. Работа с требованиями — 5. Как читать требования

Manual Testing

БЛОК 2. Работа с требованиями — 5. Как читать требования

🧭 Введение: почему это база для каждого junior QA

Новичок часто читает требование как обычный текст: пробежал глазами, понял “в целом”, пошёл проверять. Проблема в том, что “в целом” почти всегда скрывает дыры: неоднозначности, пропущенные кейсы, конфликтующие ожидания между PO, Dev и QA.
Правильное чтение требований это рабочий навык, который определяет качество всех следующих шагов. Если требование прочитано поверхностно, QA строит слабые сценарии, пишет спорные баги и даёт неточную релизную оценку.
💡 Совет:
Читайте требование не как описание функции, а как будущий набор проверок.
Вывод:
Хорошее тестирование начинается с умения читать требования структурно и критически.

⚠️ Проблема -> решение

Типичная проблема junior QA: “Я прочитал задачу, но не понимаю, что конкретно проверять”. Обычно причина не в слабом тестировании, а в неправильном чтении требований: без декомпозиции, без вопросов, без проверки на тестопригодность.
Решение — использовать пошаговый разбор: контекст -> цель -> actor -> входные условия -> ожидаемый результат -> ограничения -> риски. Такой подход превращает “сырой текст” в проверяемую модель.
🟢 Если совсем просто:
Требование нужно разложить на конкретные “что делаем” и “что считаем правильным”.
🎯 Как понять, что этап прошёл успешно:
После чтения требования у вас есть понятный список проверок и уточняющих вопросов.

🛠️ Чем помогает и как работает

Системное чтение требований снижает количество ложных дефектов и помогает находить реальные риски до разработки. QA перестаёт быть “человеком, который проверяет в конце”, и становится участником раннего качества.
Как это работает:
  • Шаг 1: QA фиксирует бизнес-контекст задачи и основную цель фичи.
  • Шаг 2: QA выделяет actor и ключевой пользовательский поток.
  • Шаг 3: QA разбирает acceptance criteria на измеримые условия.
  • Шаг 4: QA ищет пробелы: что не сказано, но критично для проверки.
  • Шаг 5: QA формулирует уточняющие вопросы к PO/BA.
  • Шаг 6: QA собирает черновой тест-дизайн на основе уже уточнённого требования.
Вывод:
Правильное чтение требования экономит время всей команды и повышает точность QA-решений.

🧩 Пошаговый алгоритм: как читать требование QA-шнику

Чтобы junior не терялся в длинном тексте задачи, полезно идти по короткому фиксированному алгоритму. Этот алгоритм можно держать как мини-чеклист перед test design.
🟢 Если совсем просто:
Один и тот же порядок шагов даёт стабильное качество чтения требований.
🎯 Как понять, что этап прошёл успешно:
По каждому шагу есть конкретный зафиксированный результат, а не “вроде понятно”.
Алгоритм:
  1. Понять, кто пользователь (actor).
  2. Понять, что он хочет сделать (цель и flow).
  3. Понять, какой результат считается успешным (acceptance criteria).
  4. Найти ограничения и правила (роли, лимиты, сроки, валидации).
  5. Найти, чего не хватает (ambiguity, missing cases, assumptions).
  6. Сформулировать вопросы к PO/BA.
  7. На основе уточнённого требования собрать черновые тесты.
Вывод:
Этот алгоритм превращает чтение требования из “интуиции” в управляемый процесс QA.

📚 Ключевые термины (простыми словами)

  • Requirement (требование) — формализованное ожидание к функциональности.
  • User Story (пользовательская история) — описание ценности фичи через роль пользователя.
  • Acceptance Criteria (критерии приёмки) — проверяемые условия “готово/не готово”.
  • Scope (объём задачи) — что входит в задачу и что не входит.
  • Out of Scope (вне объёма) — то, что в этой задаче не делаем.
  • Ambiguity (неоднозначность) — формулировка, которую можно понять несколькими способами.
  • Missing Case (пропущенный кейс) — важный сценарий, который не отражён в требованиях.
  • Assumption (предположение) — то, что команда “думает”, но не зафиксировала явно.

1. Читаем требование по слоям, а не одним взглядом

Самая частая ошибка — воспринимать требование линейно: сверху вниз, без структуры. В таком режиме взгляд цепляется за общую идею, но пропускает детали, которые потом станут дефектами в production.
🟢 Если совсем просто:
Один проход по тексту не даёт качества, нужен разбор по блокам.
🎯 Как понять, что этап прошёл успешно:
Вы можете отдельно назвать цель, поток, ограничения и критерии приёмки.
Назначение:
Сделать чтение требований воспроизводимым и системным.
Простыми словами:
Мы не “читаем задачу”, а раскладываем её на части, из которых потом строим тесты.
Для новичка:
Если после чтения вы не можете коротко объяснить, что именно пользователь делает и какой результат ожидается, требование прочитано поверхностно.
Аналогия:
Это как разбор карты перед поездкой: сначала маршрут, потом повороты, потом зоны риска.
Пример:
Слой 1: Зачем нужна фича (бизнес-цель)Слой 2: Кто ей пользуется (actor)Слой 3: Что делает пользователь (flow)Слой 4: Что считаем успехом (AC)Слой 5: Где риски и ограничения
🔎 Как это происходит на практике:
  • QA читает задачу и отмечает каждую часть отдельным цветом/меткой.
  • QA проверяет, есть ли хоть один измеримый критерий в каждом блоке.
  • QA фиксирует пропуски в виде списка вопросов.
Характеристики:
  • ✅ Уменьшает “слепые зоны” в требованиях.
  • ✅ Ускоряет подготовку тестовых сценариев.
  • ✅ Делает общение с BA/PO предметным.
Когда использовать:
Для любой новой фичи, особенно если в задаче много бизнес-правил.
Вывод:
Структурный разбор требования даёт QA ясность ещё до старта тестов.

2. User Story + Acceptance Criteria: как читать связку

User story даёт контекст и ценность, а acceptance criteria дают проверяемость. Если читать только story без AC, получается “понятная идея без критериев качества”. Если читать только AC без story, легко потерять бизнес-смысл.
🟢 Если совсем просто:
Story отвечает “зачем”, AC отвечают “как поймём, что готово”.
🎯 Как понять, что этап прошёл успешно:
Каждый AC логично поддерживает цель из user story.
Назначение:
Связать бизнес-ценность с технически проверяемым результатом.
Простыми словами:
QA должен увидеть и смысл фичи, и конкретные условия её приёмки.
Для новичка:
Если AC не объясняют, как проверить ключевую ценность из story, задачу нужно уточнить.
Аналогия:
Story это “зачем строим дом”, AC это “по каким признакам дом готов”.
Пример:
User Story:"Как пользователь, хочу сбросить пароль, чтобы восстановить доступ" AC-1: Email с reset-ссылкой отправляется на валидный адресAC-2: Ссылка одноразовая и действует 15 минутAC-3: После успешного сброса старый пароль больше не работает
🔎 Как это происходит на практике:
  • QA проверяет, что AC покрывают happy, negative и security-аспекты.
  • QA смотрит, нет ли конфликта между AC и описанием user story.
  • QA фиксирует “дырки” до начала разработки.
Характеристики:
  • ✅ Убирает спор “сделали/не сделали”.
  • ✅ Уменьшает риск регресса на критичных потоках.
  • ✅ Повышает точность релизного вывода.
Когда использовать:
Во всех задачах с user-facing функциональностью и критичными пользовательскими действиями.
Вывод:
Story без AC даёт туман, AC без story даёт потерю контекста; читать нужно вместе.

3. Как находить неоднозначности и пропущенные кейсы

Требование может выглядеть “чисто”, но всё равно содержать скрытые риски. Обычно они прячутся в словах “удобно”, “быстро”, “корректно”, “при необходимости”. Такие формулировки удобны для описания идеи, но плохи для тестирования.
🟢 Если совсем просто:
Если критерий нельзя измерить, его нельзя честно протестировать.
🎯 Как понять, что этап прошёл успешно:
Все абстрактные формулировки заменены на проверяемые условия.
Назначение:
Превратить “словесное ожидание” в измеримый критерий проверки.
Простыми словами:
QA должен ловить слова-ловушки и переводить их в конкретику.
Для новичка:
Видите слова “быстро/удобно/надежно” — сразу задайте вопрос “а как это проверить цифрой или правилом?”
Аналогия:
Это как рецепт “добавьте немного соли” — без числа два повара сделают два разных блюда.
Пример:
Было: "Страница быстро открывается"Стало: "p95 времени ответа <= 2 сек в staging"
🔎 Как это происходит на практике:
  • QA отмечает в требовании все оценочные слова.
  • QA предлагает измеримый вариант формулировки.
  • PO/BA подтверждают критерий и фиксируют его в задаче.
Характеристики:
  • ✅ Снижает число спорных багов.
  • ✅ Делает проверки воспроизводимыми.
  • ✅ Улучшает качество командных решений.
Когда использовать:
Каждый раз, когда формулировка не даёт однозначного expected result.
Вывод:
Поиск неоднозначностей это обязательная часть работы QA, а не “дополнительная опция”.

4. Вопросы QA к требованиям: минимальный рабочий набор

Сильные вопросы QA не усложняют процесс, а предотвращают будущие инциденты. Вопрос должен быть не “из интереса”, а для закрытия конкретного риска в проверке.
🟢 Если совсем просто:
Хороший вопрос QA должен убирать неопределённость.
🎯 Как понять, что этап прошёл успешно:
После вопросов остаётся меньше предположений и больше зафиксированных правил.
Назначение:
Закрыть пропуски в требованиях до старта разработки.
Простыми словами:
QA задаёт вопросы, чтобы потом не тестировать “наугад”.
Для новичка:
Перед каждым refinement держите короткий список “обязательных вопросов” и проходите его по задаче.
Аналогия:
Это как checklist у пилота: коротко, но критично.
Пример:
1) Что считается успешным результатом?2) Какие ошибки пользователь может получить?3) Какие ограничения по времени/объёму/ролям?4) Что явно out of scope?5) Что считаем блокером для релиза?
🔎 Как это происходит на практике:
  • QA готовит вопросы заранее до встречи.
  • По каждому вопросу фиксируется решение в тикете.
  • QA обновляет черновой test design после уточнений.
Характеристики:
  • ✅ Уменьшает переработки в конце спринта.
  • ✅ Повышает точность сценариев.
  • ✅ Экономит время на triage.
Когда использовать:
На refinement, planning, grooming и при изменении требований в ходе разработки.
Вывод:
Вопросы QA это рабочий инструмент качества, а не “формальность”.

5. Scope и Out of Scope: как не утонуть в хаосе

Один из самых недооценённых навыков junior QA — видеть границы задачи. Без этого тестирование “расползается”: часть времени уходит на чужие области, а важные риски в текущем тикете остаются без внимания.
🟢 Если совсем просто:
QA должен точно знать, что проверяем сейчас, что проверяем отдельно и где лежат интеграционные риски.
🎯 Как понять, что этап прошёл успешно:
По задаче есть явное разделение in scope, out of scope, related but separate, integration risks.
Назначение:
Сфокусировать QA на реальном объёме задачи без потери критичных рисков.
Простыми словами:
Границы задачи нужны не для “ограничения QA”, а чтобы не терять приоритет и не пропускать важное.
Для новичка:
Перед стартом проверки вы должны явно ответить на 4 вопроса:
  • что входит в задачу;
  • что не входит;
  • что связано с задачей, но тестируется отдельным тикетом;
  • какие есть интеграционные риски вне текущего scope.
Аналогия:
Это как карта зоны ответственности: вы понимаете свою территорию и соседние риски, но не пытаетесь “сделать всё сразу”.
Пример:
Feature: Password Reset In scope:- reset link flow- token validation- error messages for invalid/expired token Out of scope:- full redesign страницы логина- изменение email-шаблонов маркетинга Related but separate:- rate limiting policy (отдельный security-ticket) Integration risks:- задержка email-провайдера- нестабильность внешнего anti-fraud сервиса
🔎 Как это происходит на практике:
  • QA на refinement фиксирует 4 списка: in/out/related/integration risks.
  • QA согласует границы с PO/BA/Dev.
  • QA строит тест-план в рамках scope, но явно маркирует внешние риски.
Характеристики:
  • ✅ Убирает хаотичное расширение проверки.
  • ✅ Делает ожидания команды прозрачными.
  • ✅ Помогает аргументировать релизные риски даже вне текущего тикета.
Когда использовать:
Всегда, особенно в интеграционных фичах и задачах с несколькими командами.
Вывод:
Сильный QA умеет держать границы задачи и одновременно видеть соседние риски.

📊 Сравнение: поверхностное vs системное чтение требований

ПодходПоверхностное чтениеСистемное чтение
ФокусОбщая идея задачиПроверяемая модель поведения
Результат QA“Вроде понятно”Список проверок + список вопросов
РискиВсплывают поздноЛовятся до разработки
Качество баг-репортовЧасто спорныеВоспроизводимые и предметные
Релизная оценкаПо ощущениямПо критериям и рискам

✅ Must-Know для junior QA

  • Чтение требований это часть тестирования, а не подготовительный “формальный шаг”.
  • Требование без измеримого expected result нельзя проверить качественно.
  • User story и acceptance criteria читаются в связке.
  • Любая двусмысленность должна быть превращена в конкретный вопрос.
  • Missing cases (negative/edge) нужно выявлять до разработки.
  • QA обязан фиксировать assumptions, а не держать их “в голове”.
  • После чтения требования должен появляться черновой тест-дизайн.

❌ Частые мифы

Миф: Требования пишет BA, QA просто тестирует готовый код. ✅ Как правильно: QA проверяет требования на тестопригодность до разработки. 📎 Почему это важно: это снижает количество поздних багов и споров.
Миф: Если user story понятная, можно не смотреть AC. ✅ Как правильно: story и AC читаются вместе, иначе теряется либо смысл, либо проверяемость. 📎 Почему это важно: без этой связки сложно доказать “готово/не готово”.
Миф: Вопросы QA тормозят команду. ✅ Как правильно: своевременные вопросы ускоряют delivery, потому что убирают переделки. 📎 Почему это важно: дешевле уточнить в начале, чем фиксить в конце.
Миф: “Быстро/удобно/надежно” это нормальные критерии. ✅ Как правильно: такие слова нужно переводить в измеримые условия. 📎 Почему это важно: иначе результат нельзя объективно проверить.

❓ Часто спрашивают на собеседованиях

Вопрос: Что значит “читать требования как QA”? ✅ Ответ: Разбирать требование на проверяемые элементы: цель, actor, flow, AC, ограничения, риски и missing cases.
Вопрос: Как понять, что acceptance criteria слабые? ✅ Ответ: Если критерий нельзя однозначно проверить тестом и получить ожидаемый результат без интерпретации.
Вопрос: Зачем QA задавать вопросы до разработки? ✅ Ответ: Чтобы убрать неоднозначности заранее и снизить вероятность дорогих дефектов на финальной стадии.
Вопрос: Что делать, если в требованиях много абстрактных слов? ✅ Ответ: Преобразовать их в измеримые критерии или зафиксировать вопросы к PO/BA.
Вопрос: Какой главный результат хорошего чтения требований? ✅ Ответ: У QA появляется конкретный план проверок и прозрачная карта рисков ещё до build.

🚫 Типичные ошибки

Ошибка 1: Читать требование “одним проходом”

Неправильно:
Просто прочитать текст и сразу писать тесты.
Правильно:
Сначала сделать структурный разбор по слоям.
Почему:
Иначе пропускаются ограничения и edge-кейсы.

Ошибка 2: Игнорировать out of scope

Неправильно:
Тестировать всё подряд без границ задачи.
Правильно:
Явно фиксировать, что входит в задачу и что не входит.
Почему:
Это уменьшает шум и ложные ожидания от команды.

Ошибка 3: Не фиксировать assumptions

Неправильно:
Думать “и так понятно”, не документируя предположения.
Правильно:
Записывать assumptions и валидировать их с PO/BA.
Почему:
Нефиксированные предположения часто становятся источником спорных багов.

Ошибка 4: Не связывать требования с рисками

Неправильно:
Читать требования без оценки потенциального ущерба.
Правильно:
По каждому ключевому блоку видеть риск и его влияние.
Почему:
Это помогает правильно приоритизировать проверки.

🧩 Best Practices

  • Используйте чек-лист чтения требований перед началом тест-дизайна.
  • Помечайте в задаче ambiguity, missing cases и assumptions отдельными блоками.
  • Проверяйте, что каждый AC можно покрыть хотя бы одним тестом.
  • На refinement приходите с готовыми вопросами, а не формулируйте их “на месте”.
  • После уточнений обновляйте черновой тест-план сразу, пока контекст свежий.
  • Храните один короткий summary по рискам для команды.

🏁 Заключение

Умение читать требования это один из самых сильных навыков junior QA. Оно напрямую влияет на качество сценариев, точность баг-репортов и уверенность в релизных решениях.
Когда QA читает требования системно, команда получает меньше сюрпризов и больше предсказуемого качества.
🎯

Проверьте знания

Закрепите материал — пройдите тест по теме «БЛОК 2. Работа с требованиями — 5. Как читать требования»

Пройти тест →