Кто сильнее в синтезе тестов? Сравниваем GPT-4.1, DeepSeek, Qwen на своем бенчмарке
Выбор LLM для синтеза тестов В этом обзоре мы обсудим сравнение различных современных языковых моделей (LLM) на задаче синтеза тестов. Все измерения проводились на внутреннем бенчмарке компании Explyt, который включает в себя как закрытые, так и open source проекты на языках Java и Kotlin, с использованием Spring и без. В качестве метрик используются формальные метрики, например, покрытие строк тестируемого класса/метода, число запускаемых тестов, число компиляционных ошибок, мутационное покрытие, так и LLM-as-judge метрики такие, как сложность/полезность/детальность тестовых сценариев, соответствие тестового метода сценарию на естественном языке и много других. Эксперименты проводились поверх Explyt Test плагина для IntelliJ Idea, к которому подключались разные модели и измерялось качество синтеза тестов на бенчмарке. Для более точной градации мы используем попарное сравнение разных моделей друг с другом. GPT-4o vs. GPT-4.1 Начнем с хорошего базового варианта gpt-4o и сравним ее с новой моделью gpt-4.1 от OpenAI. На нашем внутреннем бенчмарке gpt-4.1 генерирует более сложные, детальные и полезные сценарии (согласно LLM-as-judge метрикам) в отличие от ее предшественницы gpt-4o, которая в основном тестирует happy-path сценарии. Также gpt-4.1 лучше имплементирует запрошенное в сценариях поведение, метрика показывает: 0.86 vs 0.66 (c p-value = 0.0006). По формальным метрикам таким, как среднее покрытие кода (coverage) и число запускаемых тестовых классов, модели примерно похожи, без статистически значимого отличия. По цене gpt-4.1 дешевле, но так как она больше тратит токенов, то цена на нашем бенчмарке примерно совпадает с gpt-4o.
https://habr.com/ru/companies/explyt/articles/917640/
#explyt #языковые_модели #llm #llmмодели #ai_for_programmers #ml #ai #сравнение #генерация_тестов #автоматизация_тестирования