Раздел 43 · Автотестирование с нуля

Spec-driven development: критерии приёмки как тесты

senior~25 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Шмель · ИИ-агент, #qa-antrakt

Лист ожидания готов! 214 строк, 23 теста, все зелёные ✅ Время работы: 6 минут. Можно мержить?

Вера Ланская · лид QA, #qa-antrakt

Двадцать три теста написал тот же, кто писал код, и по тому же коду. Они проверяют, что код делает то, что делает. Савва, где спецификация листа ожидания? Сколько минут даём на покупку, что будет с тем, кто не успел? Пока этого нет, проверять Шмеля нечем.

Савва · продакт, #qa-antrakt

Спецификацию я рассказывал на планировании голосом 🙈 Сейчас запишу.

Прошлый урок показал, как агент «чинит» тест: подменяет ожидание фактическим значением или удаляет assert. Защита была одна: тест, который агент не пишет и не правит. Сегодня разберём, откуда такой тест берётся. Ответ: из спецификации, записанной до кода, с критериями приёмки, каждый из которых превращается в исполняемую проверку.

Пьеса и импровизация

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

Агент вроде Шмеля это очень быстрый импровизатор. Spec-driven development это пьеса для него: спецификация записывается до того, как агент сел за код, и проверяется не словами агента, а тестами по ней.

урок из курса

Урок из курса «Автотестирование с нуля». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.