Используются ли ADR в проекте
Что проверяют
Знаете ли вы, что такое ADR, и понимаете ли, где в этом процессе место тестировщика. Вопрос часто задают, чтобы понять, насколько вы включены в инженерную жизнь команды, а не только в прогон тест-кейсов. Следом могут спросить, какое решение вы бы оформили как ADR или как архитектурное решение повлияло на тестирование.
Как отвечать
ADR (Architecture Decision Record) это короткий документ об одном архитектурном решении. Формат популяризовал Майкл Найгард, и классический шаблон почти не изменился:
- номер и заголовок: например
0007-playwright-for-e2e.md; - статус: предложено, принято, устарело, заменено другим ADR;
- контекст: какая проблема и какие ограничения;
- решение: что выбрали;
- последствия: что стало проще, что сложнее, какие риски приняли.
Хранят ADR обычно в репозитории рядом с кодом, в docs/adr/, и проводят через ревью как обычный пул-реквест. Принятый ADR не переписывают: если решение меняется, пишут новый, который заменяет старый. Из инструментов можно упомянуть шаблон MADR, adr-tools и Log4brains.
Для QA ценность двойная. Во-первых, ADR объясняет, почему система устроена именно так, и из него выводятся риски и точки для тестирования: переход на очереди означает проверку повторной доставки и порядка сообщений. Во-вторых, решения о самом тестировании тоже стоит оформлять как ADR: выбор Playwright вместо Selenium, контрактные тесты на Pact, стратегия тестовых данных.
Отвечайте про свой проект честно. Если ADR были, назовите одно-два решения и свою роль в них. Если нет, скажите, где жили решения (Confluence, RFC, задачи в трекере) и чем это мешало.
Где спотыкаются
Путают ADR с общей архитектурной документацией или спецификацией. ADR фиксирует одно решение и его причину, а не описывает систему целиком.
Рассказывают, что «использовали ADR», но не могут назвать ни структуру записи, ни одно конкретное решение. Такой ответ хуже честного «у нас их не было».
Считают, что к тестировщику ADR отношения не имеют, и не видят, как архитектурное решение меняет стратегию тестирования.