Комментарии 2
Я у себя поймал похожую зависимость от условий проверки, когда готовил проект с агентами к передаче. В рабочей папке команды выполнялись, а чистый клон сразу падал с ModuleNotFoundError. Общий модуль попал под правило исключения разовых скриптов и не уехал в репозиторий. Проверка в привычном каталоге этого не замечала: нужный файл всё время лежал рядом.
Спасибо за разбор. В таблице осталась неиспользованной одна метрика — и она переставляет верх.
Автор считает стоимость прогона (141–162 долл.) и отдельно pass rate на скрытых тестах (40,5–45,1 %), но не делит одно на другое. Если считать цену одной решённой задачи как cost / pass rate, порядок выходит такой: QuickCheck ≈ 330, Proptest ≈ 332, ACL2 ≈ 345, Mutation ≈ 347, Differential ≈ 348, Default ≈ 354, Fuzzing ≈ 359, Audit ≈ 367, TDD ≈ 383 долл.
Differential первый по проценту, но пятый по цене решения: он дороже на прогон (157) и выигрывает у QuickCheck всего 0,6 п.п. Свойство-ориентированные условия оказываются наверху именно на той метрике, которая для инженера и есть решающая — сколько стоит одна успешно закрытая задача, а не сколько стоит попытка. Про Default точнее так: 44,1 % — это дележ 4–6 места с ACL2 и Verus, а по цене решения он шестой.
Второе, что видно по той же таблице, — разрыв между скрытыми и видимыми тестами, и у TDD он самый большой: 40,5 % против 64,2 %, то есть +23,7 п.п. По видимым тестам TDD делит 5–6 место с Proptest, а не в хвосте. У Default и Verus разрыв 23,5 п.п., у Proptest 19,9. Похоже, заголовок «TDD снова в хвосте» измеряет не качество тестов, а перенос на то, чего агент не видел: на видимой части он оптимизируется нормально, и это как раз содержательный вывод.
Оговорку про шум не отменяю — разброс 4,6 п.п. на 25 прогонах значимости не создаёт. Но если разница незначима, то и порядок строк в заголовке держится на сортировке, а не на данных. Одна колонка «долл. за решённую задачу» снимает половину спора.

Прогнал агента на $90 тысяч с разными техниками тестирования: TDD снова в хвосте