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 ID | Description |
---|---|
JT-49363 | SECURITY.ESD.RA is to noisy/strict |
JT-70326 | Compilation issue on the attached project (compiling properly with Oracle Java 8) |
JT-70237 | The attached Android Studio project is failing to build when executing analysis with Gradle 4.9 |
JT-70361 | Checkstyle integration instructions may be outdated |
JT-70300 | OWASP Top 10 2017 rule configuration does not contain the rule SECURITY.WSC.DSER |
JT-70188 | GLOBAL.DPPC rule potential false negative |
JT-70255 | Compilation error caused by XMLParse Exception |
JT-69944 | OPT-CEIL False Positive |
JT-69822 | False Positive FORMAT.CBRACE |
JT-70113 | Custom rule performance degradation |
JT-69977 | Custom 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-6649 | BD-PB-CC false positive on bit-AND |
FA-6447 | BD.SECURITY.SENS - inconsistencies between documentation and actual behavior |
UTA-2838 | No mockable method recommendation reported for JUnit4Parameterized test |
UTA-3316 | StackOverflowError while creating Spring test for controller |
UTA-3130 | Javadoc in test generated by UTA on Japanese OS contains garbled characters. |
UTA-3036 | java.lang.IllegalArgumentException: argument type mismatch produced when running CSV parametrized test created with UTA |