LLMs for Automated Unit Test Generation and Assessment in Java: The AgoneTest Framework
This provides a standardized tool for researchers and developers to compare LLMs and prompting strategies in software testing, though it is incremental as it focuses on evaluation rather than novel generation.
The paper tackles the problem of evaluating LLM-generated unit tests in Java by introducing the AgoneTest framework, which shows that for compiling tests, LLMs can match or exceed human-written tests in coverage and defect detection.
Unit testing is an essential but resource-intensive step in software development, ensuring individual code units function correctly. This paper introduces AgoneTest, an automated evaluation framework for Large Language Model-generated (LLM) unit tests in Java. AgoneTest does not aim to propose a novel test generation algorithm; rather, it supports researchers and developers in comparing different LLMs and prompting strategies through a standardized end-to-end evaluation pipeline under realistic conditions. We introduce the Classes2Test dataset, which maps Java classes under test to their corresponding test classes, and a framework that integrates advanced evaluation metrics, such as mutation score and test smells, for a comprehensive assessment. Experimental results show that, for the subset of tests that compile, LLM-generated tests can match or exceed human-written tests in terms of coverage and defect detection. Our findings also demonstrate that enhanced prompting strategies contribute to test quality. AgoneTest clarifies the potential of LLMs in software testing and offers insights for future improvements in model design, prompt engineering, and testing practices.