Первый RAG комом: как в hh.ru учат LLM анализировать ошибки автотестов
Алексей — автотестер в hh.ru. В конторе у него порядка трёх тысяч классов с e2e (UI) тестами на Java. Гоняют их по несколько раз в сутки, и именно они — главный quality gate. Только вот тесты нет-нет да и флакнут. А с этим надо что-то делать.
Против нестабильности давно работает автокарантин: как только тест поплыл, крон выкидывает его из прогонов и заводит в Jira тикет на владельца — мол, разбирайся. Как всё это устроено, в hh.ru на Хабре уже писали. А теперь туда прикрутили LLM: тест уезжает в карантин, нейросеть смотрит на ошибку и подкидывает владельцу пачку гипотез о том, почему оно упало, плюс варианты починки — если косяк на стороне самих тестов.
В статье автор рассказывает, как задачу пилили, почему классический RAG с векторным поиском не вывез и как в итоге дошли до схемы, где LLM сама решает, какой код ей нужен для разбора. Читать далее
Проект «Terminal» стал крупнейшей библиотекой бесплатного образования. В одном канале собраны курсы, книги, полезные инструменты и практические тренажёры для всех разработчиков:
• Практические курсы и задания
• Книги и статьи известных авторов
• Полезные инструменты и ресурсы
• IT-новости и инсайды
Обучение по всем направлениям: SQL, Python, ML, Frontend, PHP, C++, Go, Git, Linux, QA, Java, Vibe-coding, InfoSec и др.
Pii-Mask и его форк: что нам дал перекрёстный обмен тестами
Чел, который ведёт форк Pii-Mask, прикрутил туда фиксы и тесты для обработки Word и Excel. На нашей сборке 13 из его тестов легли. Разберу одну найденную дырку и покажу, как обмен тестами в обе стороны дал нам план правок и не дал потерять улучшения в обеих ветках.
Тестирование до релиза и после: когда пора менять стратегию
Хабр, салют! На связи Сергей Трофимов, старший инженер по автотестам в «Юзтех». Тут не будет занудства про то, как тестировать правильно, а как — нет. Вместо этого копнём в другое: одно и то же ли тестирование до релиза и после? Точнее так — корабль обязан держаться изначального курса или руль всё же пора крутить? И как научиться вовремя затаскивать полезное, а ненужное выкидывать.
Часть 1. Начало
Даже если ты не застал проект на старте активной разработки, вопрос «а как там было в самом начале?» в голове всё равно всплывал. В этой части автор по личному опыту рассказывает, чем заняться на первом этапе, когда кода ещё нет вообще. Так вышло, что он стал первым QA на новом проекте — и нет, это не стартап с голым полем. Со стартапом порой работы даже побольше, особенно если тебе доверили выбирать инструменты. Здесь же бизнес живёт давно, идея сервиса долго зрела где-то в недрах домена, и вот пришло время собирать команду и начинать разработку. Из вводных понятно: рабочая инфраструктура уже есть, требования есть, а нет только одного — кода, который можно гонять тестами.
Генеративные тесты — серебряная пуля или костыль на подпорках: что говорят разработчики и учёные
Вокруг нейросетей, которые клепают тесты, кипит спор — и в рабочих чатах, и в академических кругах. За: они делают ровно то, ради чего вообще придумали ИИ-агентов — тащат работу, которую мало кто любит, и отжимают кучу времени и сил. Против: выдают сюрпризы — то тест-кейс подправят или вообще снесут, то пограничные сценарии просто проигнорируют.
Авторы прошерстили, какие мнения про генеративные тесты гуляют по ИТ-индустрии и что на этот счёт вещает наука — со свежими исследованиями по теме. А под конец накидали подборку открытых инструментов, чтобы можно было самому пощупать связку «нейросеть + юнит-тесты».
Тест зелёный, а баг жив: что выяснил эксперимент Дэна Лу
Агент гонял разворот палиндрома, а очередь из четырёх потоков — на четырёх одинаковых входах. Тесты всё равно проходили, хотя ошибка никуда не делась. А в опыте Дэна Лу советы про TDD, фаззинг и формальные методы так и не дали внятного перевеса над контролем.
В разборе — три механики бесполезных проверок и пример, который реально запускается: как специально подложить конкретный баг и убедиться, что тест его ловит.
До читателя текст теперь частенько добирается через двух ИИ сразу: первый — тот, с кем автор его пишет, второй — тот, кто режет инфу в выжимку для читателя. В КИПиА такое зовут измерительным каналом, и у схемы есть паршивая черта: погрешности звеньев складываются.
Знания по такому маршруту проходят норм. А вот контекст — нет. В статье копают, где именно контекст теряется, чем ошибка модели, одинаковая для всех её читателей, страшнее обычного непонимания, и как проверять канал с двух сторон — на живом кейсе с собственным комментарием, который ушёл в минус.