How Does It Work?
The quicker you can test, the quicker you can release. Parasoft Jtest helps you reduce the time it takes to test your application by optimizing unit test execution within the IDE and in the CI process, based on precisely what has changed in the code. With its Smart Test Execution capabilities, Parasoft Jtest uses Test Impact Analysis to analyze the source code to identify the changes a developer has made in the application, and automatically identifies the subset of tests that need to be executed to validate his or her changes. All the user has to do is simply click “execute” to automatically run impacted tests.
In the IDE
Built on top of Parasoft Jtest’s coverage analysis, Jtest collects information about which code is exercised by which tests, and applies that information within the developer’s IDE as the developer is changing code, enabling the developer to easily identify and execute the specific tests that need to be run to verify that the changed code doesn’t break any tests.
Jtest keeps track of which of the affected tests have been run, which have passed, and which have failed, making it easy for the developer to determine which tests still need to be run, or which tests have failed and need to be addressed. Once all tests have been run and are passing, the developer knows that it’s safe to commit their code and move on. Jtest supports projects that are in Git or SVN source control and can be run from popular IDEs (Eclipse, IntelliJ).
Within the CI process
Parasoft Jtest optimizes unit test execution during the CI process and can integrate seamlessly into projects that use either Maven or Gradle as their build system, to get immediate feedback on changes. Without this capability, bad code changes would introduce regressions not caught as quickly or that would interfere with work being done by other team members. Jtest identifies which code has changed since the baseline build (i.e. the last nightly build), determines which tests need to be run to exercise that code, and then runs just that subset of tests. This workflow enables teams to set up CI jobs that only run tests based on the most recent code changes, shrinking the amount of time it takes to run a CI job from hours to minutes.