Release date: May 9, 2023
Application Coverage Improvements
Collect Application Coverage without Access to Source Code
SOAtest users can now measure and collect code coverage statistics for their application even when they do not have access to the source code. You can analyze your application binaries and capture runtime coverage during test execution using SOAtest's coverage tools and agents. You can then view coverage results in Parasoft DTP's reporting and analytics dashboard. For more information, see Application Coverage.
Collect Application Coverage for Multiple Backend Services
SOAtest users can now measure and collect code coverage statistics for multiple backend applications and services as their end-to-end functional test scenarios execute. You can configure SOAtest to connect to multiple coverage agents configured against multiple services as tests are executed. See Application Coverage for more details.
Improved Application Coverage and Test Impact Analysis Workflows
Application coverage and test impact analysis workflows have been simplified and enhanced. In previous product versions, users needed to configure application coverage and test impact analysis settings in a SOAtest test configuration. Additionally, users also needed to configure SOAtest preferences to refer to separately installed and licensed Parasoft Jtest or Parasoft dotTEST installations. In this release, you will now configure application coverage and test impact analysis settings in SOAtest properties files and can now perform coverage workflows with SOAtest's built-in coverage tools and agents, without requiring a separate Jtest or dotTEST licensed installation. Lastly, a new -impactedTests
CLI argument has been added to replace separate scripts that previously were included in the SOAtest installation and were needed for test impact analysis workflows.
Migration Details
Users who are using application coverage and test impact analysis workflows will need to migrate their workflows to use the updated configuration options. Three areas are affected: coverage settings in test configurations, SOAtest Preferences, and Test Impact Analysis.
In addition, coverage reports produced by SOAtest 2023.1 that are uploaded to DTP need to be sent to DTP 2023.1. Earlier versions of DTP will not properly process coverage reports produced by SOAtest 2023.1.
Test Coverage
Application coverage settings that were previously configured in the test configuration are now configured in your SOAtest settings file (see Configuring Settings for more details). The table below shows migration details for this shift.
Old Test Configuration Property | New Settings Property |
---|---|
com.parasoft.xtest.execution.api.web.collect_application_coverage | application.coverage.enabled |
com.parasoft.xtest.execution.api.web.application_coverage_host com.parasoft.xtest.execution.api.web.application_coverage_port com.parasoft.xtest.execution.api.web.application_coverage_protocol | application.coverage.agent.url |
com.parasoft.xtest.execution.api.web.application_coverage_user_id | application.coverage.user.id |
com.parasoft.xtest.execution.api.web.application_coverage_report_as_test_failure | Not Applicable, always enabled |
com.parasoft.xtest.execution.api.web.application_coverage_upload_to_dtp | application.coverage.agent.dtp.publish |
com.parasoft.xtest.execution.api.web.application_coverage_static_coverage_file | application.coverage.static.file |
com.parasoft.xtest.execution.api.web.application_coverage_image_tags | application.coverage.images |
com.parasoft.xtest.execution.api.web.application_coverage_tia_generate_baseline_report com.parasoft.xtest.execution.api.web.application_coverage_tia_report_location | Not Applicable, replaced with -impactedTests CLI argument |
com.parasoft.xtest.execution.api.web.application_coverage_tia_application_location | application.coverage.binaries |
SOAtest Preferences
Application coverage no longer requires a separate Jtest or dotTEST licensed installation, so you no longer need to set the path to Jtest or dotTEST in SOAtest preferences. Coverage is now automatically collected, and reports are generated, when running soatestcli. SOAtest also now contains coverage tools that enable customized workflows.
Test Impact Analysis
Users previously used scripts in the test_impact_analysis
folder in the SOAtest installation to create baseline coverage reports, analyze application binraries, and calculate the set of impacted tests to run. They then passed an .lst file containing the list of impacted tests generated by the scripts to soatestcli. Now, you can create the baseline coverage report and run impacted tests using soatestcli and analyze application binaries using SOAtest's coverage tools. For more information, see Test Impact Analysis.
New Responder Mode Driven by Directory of Request and Response Files
Virtualize users can now take advantage of the new Request/Response Files input mode for JSON and Plain XML that makes use of a directory of request/response pairs. This mode checks incoming requests against the files in the directory and, when a match is found, uses the paired response as the reply. This mode will match incoming messages to request files and then return the paired response and can make it easier to add new data since correlations are automatically configured for any new request files based on the tool’s configuration. HTTP, MQ, JMS, and custom protocols are supported.
Author Stored for Message Proxies, Virtual Assets, and Test, Responder, and Action Suites
The last user to modify a Test Suite (.tst), Responder Suite (.pva), Action Suite (.pvn), Message Proxy (.pmpdd), or Virtual Asset (.pvadd) is now stored in those artifacts. You can see who the last person was to make modifications in the desktop application or in CTP. To make full use of this capability, update CTP and all SOAtest and Virtualize servers and desktop installations to 2023.1.
Breaking Changes
- Any Test Suite (.tst), Responder Suite (.pva), Action Suite (.pvn), Message Proxy (.pmpdd), or Virtual Asset (.pvadd) created or edited in 2023.1 cannot be opened in older versions of SOAtest or Virtualize. To avoid this issue, upgrade CTP and all SOAtest and Virtualize servers and desktop installations to 2023.1.
Additional Updates
- Improved look and feel when running in dark theme. Users installing the plug-in for Eclipse should have Eclipse 2022-03 (version 4.23) or later for the best dark theme experience. Affects SOAtest and Virtualize users only.
- You can configure a Message Responder to bypass any Message Proxy failover settings that have been set up and return the custom return status and payload configured in the Responder instead when you want the responder to return a failure message but don't want the proxy to failover.
In the Virtualize Server Hit Statistics report available in CTP, you can control whether hit count, peak hits per second, or both (default) are shown on the chart.
You can now create and manage Database Correlation data sources (introduced for Virtualize in 2022.2) from CTP.
- You can now connect to a MongoDB server or service that you have set up as a Data Repository using a MonogDB connection string instead of only using the host and port.
- Latest webdrivers are now automatically downloaded as needed for Google Chrome and Microsoft Edge browsers during browser playback.
- Virtualize Free Edition is now limited to 1000 hits per day.
- Support for deploying a SOAVirt Server in Kubernetes has been enhanced. You can also now deploy data repository servers in Kubernetes. See Deploying in Docker and Kubernetes for more details.
- You can install a Windows Service for SOAVirt Server. See Installation: Windows for more information.
- The SOAVirt Server WAR deployment now includes a script for encoding passwords. See Licensing the Server and Server Configuration for more information.
The SOAVirt Server WAR deployment can now run up to four test jobs in parallel. Note this update does not apply to the SOAtest and/or Virtualize desktop application, which runs tests consecutively. CTP users will need to upgrade their CTP installations to take advantage of this increased capacity.
- Enhanced XML encoding options in Form XML make it easier to switch between Form XML and Literal views while preserving Unicode characters and XML encoding configuration. See Form XML for more details.
IBM WebSphere MQ tool can now be configured to keep the connection to the queue manager alive, which allows the use of an MQ browse cursor across subsequent tests. See IBM WebSphere MQ for more information.
- Desktop users can now access the REST API locally using any valid license, allowing you to test integrations with the REST API and validating workflows locally before deploying completed assets to a remote server.
CTP users can mark some servers as "private," hiding them from non-administrators who have not been granted access to them.
- CTP users can switch message proxy mode between primary and secondary connections.
- CTP users can create proxies inside of proxy folders.
New CTP widgets are available for monitoring Hits per Second on the Virtualize server.
CTP users can configure Tomcat to log user information along with each request and response.
You can connect CTP component instances to application coverage agents as part of the Parasoft Application Coverage solution. After doing so, notifications regarding coverage agent connectivity will be displayed on the environment diagram in CTP.
- Team Server has been removed and is no longer supported. If your team configurations, rules, and rule mappings are still stored in DTP Team Server, migrate them to a shared location before upgrading DTP to version 2023.1 or later. See Migrating Team Server Information to a Shared Location for more information.
OIDC support for Google authentication added.
Support for JBoss monitors (used in Load Test) is deprecated and will end in a future release.
- Support for Windows Server 2019 has ended.
Resolved PRs and FRs
ID | Description |
---|---|
CTP-6308 | Ability to utilize proxy folders from the component view |
CTP-8223 | Increase column and box width for more visible text |
CTP-8230 | CTP attempts to create a new test step during test execution |
CTP-8541 | Configuration option to easily enable debug logging |
SOA-6016 | Form XML - add "XML Encoding" option |
SOA-6035 | Choice Elements not appearing |
SOA-15245 | Include coverage.xml in same directory as report.xml |
SOA-15284 | Report incorrectly shows test passing when pen test fails and report traffic for all tests is enabled |
SOA-15526 | Traffic Does Not Show in Report When XML Data Bank Extracts Empty Element From DB Tool |
SOA-15686 | Attachment Handler prevents "action" parameter from being added to the Content-Type header (SOAP 1.2) |
SOA-15802 | FTP Client - java.lang.NoClassDefFoundError: javax/crypto/interfaces/DHPublicKey |
SOA-15885 | Improve Preferences documentation to be searchable on "bak" |
SOA-15922 | Subsequent calls of MQGMO_BROWSE_NEXT option from Call Back Tool always return first message in the queue |
SOA-15992 | Errors are being reported when opening Web Functional Tests recordings in SOAtest |
SOA-16042 | Provide steps for installation and required changes after installation in multi-user environment |
VIRT-6451 | XML databank works differently if internal route has been used |
VIRT-6400 | 'Generate Data Source' Action Does Not Apply Correct DS When Multiple Already Exist in Suite |
VIRT-6396 | Populate with exclude saving issues |
VIRT-6237 | Internally routed request from SOAP 1.1 Client is missing SOAPAction header |
VIRT-6196 | Generate CSV creates one column for all attributes |
VIRT-6185 | Multiple responses noisy error logging on url path index |
VIRT-6151 | Worker Connections Not Decreasing On MQ |
VIRT-6146 | Virtualize message proxy is sending form-url encoded PUT incorrectly |
VIRT-6120 | Empty column causing entire array to be excluded |
VIRT-6116 | Data Source Exclude with empty string option not available for first row |
VIRT-6051 | Kafka Listener throws Exceptions when using xerial snappy compression |
VIRT-5930 | WAR Deployment - Add Password Masking Script |
VIRT-5780 | DB Tool and Database Data Source import does not decode password |