TestSpark: IntelliJ IDEA's Ultimate Test Generation Companion

Arkadii Sapozhnikov, Mitchell Olsthoorn, A. Panichella, V.V. Kovalenko, P. Derakhshanfar

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

37 Downloads (Pure)

Abstract

Writing software tests is laborious and time-consuming. To address this, prior studies introduced various automated test-generation techniques. A well-explored research direction in this field is unit test generation, wherein artificial intelligence (AI) techniques create tests for a method/class under test. While many of these techniques have primarily found applications in a research context, existing tools (e.g., EvoSuite, Randoop, and AthenaTest) are not user-friendly and are tailored to a single technique. This paper introduces TestSpark, a plugin for IntelliJ IDEA that enables users to generate unit tests with only a few clicks directly within their Integrated Development Environment (IDE). Furthermore, TestSpark also allows users to easily modify and run each generated test and integrate them into the project workflow. TestSpark leverages the advances of search-based test generation tools, and it introduces a technique to generate unit tests using Large Language Models (LLMs) by creating a feedback cycle between the IDE and the LLM. Since TestSpark is an open-source (https://github.com/JetBrains-Research/TestSpark), extendable, and well-documented tool, it is possible to add new test generation methods into the plugin with the minimum effort. This paper also explains our future studies related to TestSpark and our preliminary results. Demo video: https://youtu.be/0F4PrxWfiXo
Original languageEnglish
Title of host publicationACM/IEEE 46th International Conference on Software Engineering - Demonstrations
PublisherACM/IEEE
Publication statusAccepted/In press - Jan 2024

Keywords

  • Test Case Generation
  • Large Language Models
  • IntelliJ IDEA Plugin,
  • Software Testing

Fingerprint

Dive into the research topics of 'TestSpark: IntelliJ IDEA's Ultimate Test Generation Companion'. Together they form a unique fingerprint.

Cite this