Александр Поломодов пишет про книгу посвященную тестированию "ATDD. Разработка ПО через приемочные тесты" за авторством Маркуса ГэртнераЭтот труд оставил у меня двойственное впечатление. Например такое, что надпись ATDD большими буквами ни разу не способствует продаже книжки:) Особенно если ты не знаешь, что ATDD расшифровывается как Acceptance Test-Driven Development.
А если серьезно, то книжка достаточно неплохая, но
- отдает немного нафталином (книга 2012 года)
- построена в формате сначала разрабор примеров написания acceptance тестов для парковки, а потом для светофоров. И только после этого идет обсуждение принципов. А я такого не люблю - по-мне так сначала надо дать принципы, а потом обсудить как они работают в конкретной ситуации
Из плюсов, причем больших, следует отметить, что
- автор раскладывает варианты реализации ATDD через BDD, использование табличных форматов (таблицы решений, таблицы запросов, таблицы скриптов) и выделяет автоматизацию через ключевые слова, которые можно выстраивать в иерархии
- отмечает, что ATDD - это разработка ПО, поэтому на связующий код системы приемочных тестов надо писать свои собственные unit-тесты или вообще разрабатывать ATDD через TDD:)
- рассказывает о порочном круге фейла в acceptance тестировании, который начинается с непонятности тестов
- четко говорит про то, что нужен баланс между ручным и автоматизированным тестированием
- неплохо расписывает квадрант тестирования и типы тестов
- дает краткий обзор технологий из 2012 года 😁
- рассказывает о том, как проблемы при написании acceptance тестов сигнализируют, что при реализации кода приложения были потеряны некоторые концепции и предлагает их добавить:)
В общем, книжка определенно полезная, но основной цимес книги начинается в последней трети, где обсуждаются общие концепции и подходы к тестированию. Первые две части можно относительно безболезненно пропустить:)
P.S.
Помню, что первый раз с ATDD я столкнулся где-то в те же годы, когда проходил пару курсов университета Berkley про SaaS и использовал BDD при помощи огурца aka Cucumber😁. Кстати, курс был неплохой и был доступен на edx'е по ссылке
www.edx.org/course/software-service-uc-berkeleyx-cs169-1x