Featured On-Demand Webinar: Accelerate Software Compliance With AI Watch Now >>
Parasoft Jtest optimizes unit test execution by identifying which tests need to be run based on code changes, and automatically running just the tests needed to validate code changes, reducing the amount of time it takes to get feedback on the quality of the deliverable.
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.
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).
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 (for example, 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.
Parasoft Jtest automatically correlates test execution data with test coverage data, and identifies which tests need to run, based on the code currently being developed. Users save time without having to run unnecessary tests, and teams benefit from immediate feedback during development and after code check-in.
Parasoft Jtest’s Impacted Unit Tests view in the IDE shows developers which tests need to be run to verify changes that have been made locally in their IDE. Developers often don’t know which tests to run to validate code changes, so they either check their code in without running any tests (a very bad practice), or they run only one or two tests that they know about (which easily misses some), or they run all their tests (which wastes time). Instead, with Parasoft Jtest, impacted tests are immediately identified and can be automatically executed. Checked-in code becomes more stable since it has been thoroughly tested prior to check-in.
During the CI process, Parasoft Jtest identifies and runs just the set of tests needed to verify all of the code changes that have been committed since the last baseline build (usually the nightly build), significantly decreasing the amount of time it takes to run CI. This allows teams to maintain high velocity by benefiting from a true CI process where code is committed often.
Test impact analysis goes further with smart analytics across all of your testing techniques. Parasoft DTP provides further insights by identifying overall gaps across multiple testing techniques as teams move to functional/manual testing.