"Мировая статистика показывает, что в среднем только около 18% приложений покрыто автотестами более чем на 75%, что является целевым уровнем. Это может приводить к ошибкам и сбоям программного обеспечения. Наше решение позволит быстрее запускать продукты, находить на 30% больше ошибок. Одна команда иИ-агентов заменяет десятки часов работы программистов...
...Виртуальные сотрудники за считанные минуты проанализируют задачу из системы управления проектами, самостоятельно напишут код для тестов, проверят его на ошибки, а также исправят недочеты — и все это без участия человека... Они не просто выполняют шаблонные операции, а мыслят, как команда: распределяют роли, ведут полемику, чтобы найти оптимальное решение, а еще — следят за качеством кода."
Ну Oк :) Это, типа, AI-TDD? 😁
В программной инженерии имеется многодесятилетняя статистика, что даже 100% покрытие кода в лучшем случае ловит лишь 50% багов, которые вылазят в проде. Это естественно, ведь главная засада в кривых требованиях, в неполной или противоречивой логике, ну и просто в мусорном коде. Если где-то из глубины стека вызовов выбрасывается исключение, что вот такой-то параметр оказался null, то на каком вышестоящем уровне оно будет поймано (и будут ли поймано вообще), не знал даже сам автор этой функции, который уволился джва года назад.
=
Сам по себе тренд автоматизации тестирования с помощью AI я одобряю и однозначно рекомендую научиться с помощью жпт покрывать свой код тестами (в меру). Не удивлюсь, если завтра БигТех начнёт массово
Но инженеры любят прежде всего циферки :)
Я например лет 5-7 работаю с базой курсов и занимающихся по некоторым мелким аспектам просто через админку phpmyadmin, потому что даже несколько часов, которые надо потратить на соответствующую автоматизацию, вряд ли компенсируются в плане выигрыша даже за все эти годы теми единичными минутами что я изредка трачу на действия в админке.
В этом плане AI смотрится крайне перспективной темой прежде всего для освоения бюджетов. Ну повысим мы например покрытие кода тестами с 42% до 73%, в целом конечно неплохо, но сама по себе, без контекста бизнес целей, это просто абстрактная метрика в вакууме.
=
Когда мы пишем тесты, мы хотя бы минимально понимаем смысл связи теста и предметной области (не говоря уже о том, что становимся взрослыми проектировщиками, когда работаем по TDD), а AI может нафигачить кучу тривиальных или изолированных тестов, тестируя реализацию (ужос), и упуская при этом ключевые edge cases. Что случится, если потом мы выполним рефакторинг кода, из которого пропали старые условные веточки, покрытые на 100%, и появились новые? :) Это техдолг, детка.
И в целом, если тесты не направлены на выявление реальных багов (в этом и заключается мастерство тру-тестировщика), они будут скорее вредить, отнимая время и создавая дополнительную нагрузку на всё и вся.
