Want to see Parasoft in action? Sign up for our Monthly Demos! See Demos & Events >>

Java Code Coverage

Java Code Coverage

Powered by Parasoft Jtest, the enterprise development testing solution for Java

Code Coverage for Java

Use Parasoft Jtest to get broader visibility into what you’re testing, how well you’re testing it, and how to customize test plans based on priorities. Jtest captures code coverage from testing frameworks and at runtime for desktop/web applications. By associating coverage with specific tests (including manual tests, automated functional tests, and unit tests), Jtest helps you understand which tests you need to re-execute to validate code changes.

How Does It Work?

For unit testing, Jtest collects coverage data for unit tests that are run from different build systems (Ant, Maven or Gradle), IDEs (Eclipse and IntelliJ), and the most popular testing framework (JUnit). Jtest analyzes every line of code and marks it as covered if it was executed during the testing process. Total coverage is the ratio of covered lines to all the lines which could have been covered. Users can easily check if their code has been thoroughly tested by inspecting coverage reports, or check if they are meeting their code coverage requirements. Parasoft’s coverage report enables the user to easily identify the lines and portions of code that were not covered.

Jtest also enables customers to monitor standalone and web applications to collect coverage information for code that was executed when an application was running. QAs and testers can collect coverage data from their manual or automated testing sessions, and Jtest can easily integrate with third-party test execution software for an automated process.

To provide effective test traceability, Parasoft tracks the covered code per test, especially useful when a user wants to check what exactly is tested by their test case, or to ensure proper test isolation (for instance, if a unit test executes unintended code, that accesses locally-stored files or modifies the environment, the user can stub or mock it).


Parasoft Jtest collects coverage based on runtime execution (any kind of Java desktop or web application) and informs the user about which lines of code were executed to complete tests, so he or she can identify areas and features that have been sufficiently or tested or not tested at all. This helps users ensure that their code is thoroughly tested and that individual tests are covering the code that they are meant to test.

Parasoft Jtest can differentiate coverage on a per-test basis, regardless of whether the test is a manual test, automated functional test, or unit test. During runtime, multiple users can be touching the code at the same time, so Jtest associates coverage with the individual users who are simultaneously accessing the same web application, to associate test failures and static analysis violations to the person responsible.

Parasoft Jtest presents analysis results in a number of different forms so users can get the information they need in a way that’s most convenient. Users can get results in the IDE code editor (color-coded markers indicate covered and uncovered code), as customizable HTML or PDF reports, or dynamically on a web server to combine coverage results from different test runs into one dynamic dashboard with custom widgets.

In this dynamic view, users can navigate the details associated with the aggregated coverage to look at not only code that was touched, but which tests are touching those pieces of code. Parasoft’s Process Intelligence Engine provides further analysis and post-processing of results, with deeper historical insights and actionable analytics, along with rich traceability and reporting capabilities. Parasoft can merge coverage results from the consecutive test runs and present it back to the user in the IDE to reflect recent code changes.

Parasoft Jtest ships with out-of-the-box plugins for integrating with Ant, Maven, and Gradle build systems, and runs from the IDE (Eclipse, IntelliJ) to allow users to easily monitor tests and applications.

Benefit from the Parasoft Approach

Optimize testing

Parasoft Jtest identifies the beginning and end of each test so users can review coverage collected in a testing session for each executed test separately. This enables users to understand which tests to re-execute to optimize the testing practice.

Correlate coverage with manual and automated tests

Parasoft Jtest enables users to control the coverage collecting process in real time (for manual or automated functional tests) when coverage data is being collected. Users can start/stop test sessions, and download current coverage data in order to correlate coverage information with the test and the person doing the test.

Review coverage trends day-to-day and across builds

Parasoft Jtest enables users to view coverage trends over a period of time as well as compare coverage metrics build-over-build, to ensure quality is being met.