Перейти к содержимому
    Оглавление · Тема 6

    Обновлено: 13 августа 2026 г. в 00:00

    ATDD by Example (short summary)

    mid

    ATDD by Example: A Practical Guide to Acceptance Test-Driven Development (ATDD. Разработка программного обеспечения через приемочные тесты)

    Авторы: Markus Gartner
    Издательство: Addison-Wesley Professional
    Объем: 2013

    Практика acceptance test-driven development: коллаборативная спецификация, Given-When-Then, автоматизация приемки и обновление подхода с учетом LLM и CI/CD.

    ATDD by Example: A Practical Guide to Acceptance Test-Driven Development — оригинальная обложкаОригинал

    Источник

    ATDD by Example — Part 1

    Разбор книги, кейсов и современного контекста генерации приемочных тестов с помощью LLM.

    Перейти на сайт

    ATDD by Example Маркуса Гэртнера остается фундаментальным материалом о том, как превратить размытые требования в проверяемые примеры и устойчивый delivery-процесс. Книга полезна тем, что показывает не инструмент, а дисциплину совместной разработки между product, engineering и QA.

    TL;DR

    • ATDD превращает требования в проверяемые примеры до написания кода.
    • Ключевая ценность - совместная спецификация бизнеса, разработки и QA.
    • Приемочные тесты работают как исполняемая документация продукта.
    • В 2025 подход усиливается LLM-генерацией сценариев и тест-кода, но не заменяется ею.

    Почему книга до сих пор актуальна

    Убирает разрывы в коммуникации

    Примеры и критерии приемки становятся общим контрактом между ролями.

    Снижает цену переработок

    Ошибки выявляются на этапе формулировки ожиданий, а не после релиза.

    Повышает предсказуемость delivery

    Команда измеримо понимает, что именно означает «готово» для каждой истории.

    ATDD-цикл совместной спецификации

    Discuss

    Команда синхронизирует цель user story и ожидаемый outcome для пользователя и бизнеса.

    Distill

    Из обсуждения выделяются критерии приемки и конкретные примеры поведения системы.

    Develop

    Функциональность и автотесты реализуются как точная интерпретация agreed examples.

    Demo

    Результат валидируется на тех же примерах, с которыми команда стартовала реализацию.

    Ключевые принципы ATDD

    Общий язык

    • Коллаборативная спецификация вместо передачи задачи по цепочке.
    • Примеры на языке бизнеса как единый источник правды.

    Сначала приемка

    • Тесты до кода: сначала критерии, потом реализация.
    • Given-When-Then как формат коммуникации между ролями.

    Автоматизация как актив

    • Acceptance tests это исполняемая документация, а не отдельный тестовый слой.
    • Поддерживаемость сценариев важна не меньше покрытия.

    Интеграция в delivery

    • ATDD дополняет TDD и другие уровни тестирования, а не заменяет их.
    • Demo остается обязательной точкой проверки ожиданий стейкхолдеров.

    Фокус на ценности

    • Проверяется не только корректность логики, но и бизнес-смысл результата.
    • Обратная связь по примерам ускоряет уточнение требований.

    ATDD в 2025: где помогают LLM

    Генерация черновика сценариев

    LLM быстро формирует initial Gherkin-сценарии из user story и acceptance criteria.

    Преобразование в автотесты

    Сценарии конвертируются в каркас тестов для Playwright/Cypress/API suites.

    Выявление пробелов

    Модель помогает найти missing edge cases и конфликтующие требования.

    Снижение рутинной нагрузки

    Команда тратит меньше времени на шаблонную подготовку и больше на качество примеров.

    Антипаттерны

    ATDD только силами QA

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

    Сценарии как формальность

    GWT пишется для отчетности, но не используется как реальный контракт при разработке.

    Ставка только на toolchain

    Фокус смещается на фреймворки, а качество требований и примеров остается слабым.

    Раздутый и хрупкий набор тестов

    Acceptance suite растет без ревизии, замедляет CI и теряет сигнал о реальном качестве.

    Рекомендации

    Единый шаблон criteria

    Принять общий формат acceptance criteria (например, GWT) на уровне продукта.

    Обязательный этап Distill

    Включить проработку примеров в refinement/planning до старта реализации.

    CI-гейт по приемке

    Включить acceptance tests в release quality gates и не обходить их при релизах.

    Периодическая гигиена набора

    Удалять дубли, чинить флаки и поддерживать читаемость сценариев как продукта.

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

    1. Выберите одну feature-команду и зафиксируйте единый шаблон acceptance criteria.
    2. Добавьте Distill-сессию в refinement и проведите ее на 2-3 user stories.
    3. Автоматизируйте сценарии в актуальном стеке UI/API-тестирования.
    4. Подключите приемочные тесты к CI как обязательный quality gate для merge.
    5. На ретро оцените, где снизились возвраты и где улучшилась предсказуемость.

    Связанные главы

    Трекинг прохождения выключен. Включите его в настройках.

    Доказательство обучения

    Чтение — только начало. Перенесите идею в рабочий эксперимент и разберите результат.