Disrupting Test Development with AI Assistants
Vijay Joshi, Iver Band

TL;DR
This paper examines how AI coding assistants like GPT-4 and ChatGPT influence software test development, showing they can generate quality tests and impact testing practices in software engineering.
Contribution
It provides a comparative analysis of AI tools' ability to generate unit tests, demonstrating their effectiveness and differences in test quality and usage.
Findings
AI-generated tests are of comparable quality to original tests
Differences exist among AI tools in test generation and effectiveness
AI tools can assist in automating parts of the testing process
Abstract
Recent advancements in large language models, including GPT-4 and its variants, and Generative AI-assisted coding tools like GitHub Copilot, ChatGPT, and Tabnine, have significantly transformed software development. This paper analyzes how these innovations impact productivity and software test development metrics. These tools enable developers to generate complete software programs with minimal human intervention before deployment. However, thorough review and testing by developers are still crucial. Utilizing the Test Pyramid concept, which categorizes tests into unit, integration, and end-to-end tests, we evaluate three popular AI coding assistants by generating and comparing unit tests for opensource modules. Our findings show that AI-generated tests are of equivalent quality to original tests, highlighting differences in usage and results among the tools. This research enhances the…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
MethodsAttention Is All You Need · Linear Layer · Layer Normalization · Position-Wise Feed-Forward Layer · Adam · Multi-Head Attention · Residual Connection · Byte Pair Encoding · Dropout · Absolute Position Encodings
