In this release, we've focused on helping you streamline your unit testing process and increase your code coverage with Unit Test Assistant.

Support for Java

We've added support for Java 9 and 10.

Support for IDEs

We've added support for:

  • Eclipse 4.8
  • IntelliJ 2018.2

Test Impact Analysis

Test impact analysis allows you to identify and run a subset of tests that are affected by changes to your production code. It speeds up test execution and helps you optimize the unit testing process. To facilitate test impact analysis with Jtest, we've introduced the Impacted Unit Test view in the IDE and the Test Impact Analysis plugin for Maven and Gradle.

Impacted Unit Tests View

The Impacted Unit Tests view is a new panel in your IDE that helps you understand how changes affect your tests. You can now monitor in real time which tests are being affected by your current code modifications and select a subset of tests you want to run. See Test Impact Analysis.

Test Impact Analysis Plugin for Maven and Gradle

The new test impact analysis plugin can detect and re-run only the tests that were affected by your changes. The plugin integrates with your build systems, enabling Jtest to leverage the test impact analysis functionality and accelerate test execution processes. See Test Impact Analysis with Maven and Test Impact Analysis with Gradle.

Increasing Code Coverage

We've enhanced Jtest's code coverage capabilities.

Enhanced Uncovered Code Recommendations

The Uncovered code recommendation can now guide you through the process of increasing code coverage:

  • Hints: UTA can now provide you with hints on how to modify a test to cover the uncovered code.
  • Single-click test updates: The Clone test action can now update the selected test code according to hints with just one click.

In addition, we've optimized detecting uncovered code.  See Increasing Code Coverage for details.

Creating Tests for Private Methods

UTA can now create regular, parameterized, and Spring unit tests for private methods to help you increase your code coverage. See Creating a Basic Unit Test, Creating a Parameterized Unit Test, Creating a Spring Unit Test.

Additional Unit Test Assistant Enhancements

Support for Spring in IntelliJ IDEA

You can now create, monitor, and enhance Spring unit tests in IntelliJ IDEA. See Creating a Spring Unit Test.

Automatically Creating Assertions

We've extended UTA's tracking capabilities to automatically make assertions. The Track and make assertions option monitors a method call and automatically applies all recommended assertions. See Tracking Object Changes and Creating Assertions.

UTA Actions in the Quick-Fix Menu

UTA actions are now available form the context assist dialog, which opens with a keyboard shortcut. See About UTA Actions.

Support for Mockito 2

We've added support for Mockito 2 and enabled UTA to automatically detect the Mockito version you are using.

Standalone License Server

You can now obtain the Parasoft license from an additional instance of DTP or a standalone License Server. See Setting the Parasoft License (for desktop) and Setting the License (for automation).

Other Changes

  • Flow Analysis now supports the try-with-resource statement in Java.

  • We've enhanced the presentation of Flow Analysis results in the IDE.
  • We've removed support for Microsoft Team Foundation Server 2008.

Updated Test Configurations

The following test configurations have been updated to improve analysis results:

  • Critical Rules
  • CWE-SANS Top 25 2011
  • Find Unused Code
  • Internationalize Code
  • OWASP Top 10 2017
  • PCI Data Security Standard 3.2
  • Thread Safe Programming

Updated Code Analysis Rules

The following static analysis rules have been updated to improve analysis results:

  • BD.RES.LEAKS
  • BD.RES.FREE
  • BD.PB.VREADOBJ

The output messages of the following rules have been updated, and as a result, suppressions associated with these rules on DTP may no longer be available:

  • BD.PB.ARRAY
  • BD.PB.ZERO
  • EXCEPT.CLFIN
  • SECURITY.WSC.AMA
  • SECURITY.WSC.ARXML
  • SECURITY.WSC.FIMU

You can restore the previous messages and suppressions for the BD category rules; see Why are suppressions of some rules no longer available on DTP after Jtest was upgraded to a newer version?.

Resolved Bugs and FRs

Bug/FR IDDescription
JT-49363SECURITY.ESD.RA is to noisy/strict
JT-70326Compilation issue on the attached project (compiling properly with Oracle Java 8)
JT-70237The attached Android Studio project is failing to build when executing analysis with Gradle 4.9
JT-70361Checkstyle integration instructions may be outdated
JT-70300OWASP Top 10 2017 rule configuration does not contain the rule SECURITY.WSC.DSER
JT-70188GLOBAL.DPPC rule potential false negative
JT-70255Compilation error caused by XMLParse Exception
JT-69944OPT-CEIL False Positive
JT-69822False Positive FORMAT.CBRACE
JT-70113Custom rule performance degradation
JT-69977Custom rules created in 9.6 do not work in 10.3.x

FA-6749

BD.PB.VREADOBJ either works incorrectly or is documented incorrectly
FA-6649BD-PB-CC false positive on bit-AND

FA-6447

BD.SECURITY.SENS - inconsistencies between documentation and actual behavior
UTA-2838No mockable method recommendation reported for JUnit4Parameterized test
UTA-3316StackOverflowError while creating Spring test for controller
UTA-3130Javadoc in test generated by UTA on Japanese OS contains garbled characters.
UTA-3036java.lang.IllegalArgumentException: argument type mismatch produced when running CSV parametrized test created with UTA

  • No labels