PIT (Pitest) is a popular mutation testing framework for Java / JVM-based languages. This project is to develop a plugin for the IntelliJ / Android Studio (JetBrains) IDE so that mutation tests can be conveniently run from within the IDE, similar to the JUnit plugins available for most IDEs. Users of the IDE shall be able to
- Start a Pitest run for a class directly in the code editor
- Control (rerun, stop, ...) the execution
- Configure (verbosity, mutators, targeting tests, ...) the execution
- Receive results as inline annotations of the code
- Inspect the results, in particular any surviving mutations
Scrum Master: @oliviadargel
Product Owner: @emuguy1, @Felix-012
Developer: @lheimbs, @QW3RAT, @nikomall34, @timherzig, @lfogarty98, @brianneoberson
Software quality hinges on robust testing practices. While code coverage remains a prevalent metric, evaluating the true effectiveness of tests in ensuring expected behavior often gets overlooked. This is where Mutation Testing steps in—a method that generates code variations to evaluate the ability of tests to detect changes.
PiTest, a leading tool in Mutation Testing, falls short due to its limited integration capabilities. It lacks the functionality to display test run results and configure test scope dynamically, creating a gap in assessing test effectiveness within the environment best known to the developer.
Our product vision is to introduce an IntelliJ IDE plugin that not only presents PiTest results but also empowers users to seamlessly fine-tune test scopes, even down to specific classes. By integrating these features, we aim to bridge the existing gap, providing enhanced visibility and control within the familiar IntelliJ environment, thereby ensuring higher-quality test outcomes.
Our mission is to enhance software mutation testing within the IntelliJ IDE by implementing a specifically designed plugin that integrates with PiTest. The approach involves several key steps:
Integration Development: We will develop an plugin that integrates with IntelliJ IDE, ensuring that PiTest's functionalities are easily accessible within the developer's primary workspace.
Dynamic Test Configuration: A core feature of our plugin will be to enable dynamic configuration of test scopes. This will allow developers to selectively fine-tune their testing efforts, focusing on specific classes or modules.
Result Visualization: The plugin will provide visualizations of Mutation Testing results. This will make it more comfortable for developers to interpret PiTest outputs.
User-Centric Design: The interface and functionality of the plugin will be designed with a strong focus on user experience, ensuring that it is both powerful and easy to use.
By following these steps, we aim to not only enhance PiTest’s functionality within IntelliJ IDE but also empower developers with more efficient, precise, and user-friendly software testing tools, ultimately leading to higher quality software development.