The first release of the Parasoft enterprise functional testing products in 2020 is now available! In this release, there are several enhancements aimed at making API test automation and service virtualization easier and more productive for DevOps teams. Additionally, we created a brand-new service virtualization mode called “sequence responders”, which makes it much easier to simulate complex service behavior of dynamic services.
What a crazy year this has been so far. The current COVID-19 situation is forcing us all to look at business in vastly different ways. We’re seeing that, for many organizations, this is becoming the vehicle for digital transformation.
Teams are forced to suddenly work from home, which required many organizations to fundamentally change how they do business. Cloud is becoming even more important as a development test and delivery mechanism.
Remote collaboration, virtual meetings, and an increased attention towards security threatened to complicate the process of ensuring that our online experiences are delivered in a seamless way. But software delivery professionals are smart and quickly adapted the collaborative ecosystem—pushing through the barriers. This is paramount because for many organizations, it’s more important than ever to ensure the quality of their online experiences as they are the primary mechanism through which our customers will interact with us for the foreseeable future.
The way we collaborate while building our software has changed as well. We forget about how easy it is to stroll into somebody’s office and ask them about the latest release. Now you have catch them on instant message, send an email, or block time on their calendar. It’s easy for little things to get overlooked. Putting processes in place to ensure applications are thoroughly tested and requirements are covered is more important than ever.
One of the central themes for the Parasoft Continuous Testing Platform is team collaboration. The browser-based architecture allows teams to synchronize testing activities between their desktops and the browser so that they can search, reuse, share, and maintain test cases, test data, and virtual service artifacts in a centralized infrastructure. The 2020.1 release of the Parasoft functional tool suite provides an opportunity to enhance those capabilities by adding new features to enable and scale team collaboration.
Correlating test cases to business requirements gives you broader visibility into what you’re testing, how well you’re testing it, and how to customize test plans based on priorities. In the 2020.1 release of Parasoft SOAtest, we made it easier to associate test cases with work items in your requirements management and test management systems.
Specifically, users can now tag test suites, test cases, and even test tools with specific @test requirements. Those requirements can then be linked to the requirement ID in the work items system and through Parasoft DTP to update the system of record with pass/fail information associated with the test plan.
This makes it easy for testers and managers to plan and coordinate testing activities when using SOAtest. Testers gain visibility into how their test cases are covering their requirements, and managers gain confidence that their testing plan can be prioritized according to the requirements and business criticality. This capability is available across our entire testing ecosystem for:
One of the most important aspects of the Parasoft functional testing solutions is the powerful API that underpins the tools. The Parasoft API enables you to programmatically create, configure, and execute test cases while simultaneously provisioning environments, spinning up virtual services, and injecting test data.
The Parasoft API is a powerful mechanism for integrating test automation into your CI/CD pipeline. This fosters collaboration because users can manipulate the Parasoft architecture without physically manipulating the software’s UI.
In the latest releases of SOAtest and Virtualize, we upgraded the API to now be provided in Open API 3.0 specification. This not only brings the API spec up to the latest version of Open API, but also updates the API documentation UI with a new look and feel.
Service virtualization is a critical enabler for test automation. Parasoft Virtualize allows you to reduce the constraints in your test environment by simulating dependent services that are unstable, unavailable, out of your control, or lack the proper test data.
Many organizations are using service virtualization to push levels of test automation beyond 50%. With service virtualization, teams can create simulated test environments with safe test data, allowing them to test their applications earlier and more completely.
Service virtualization is a critical enabler when testers do not have access to the real systems. This is becoming more relevant as we’ve responded to digital transformation by breaking down our applications into microservices. While this transformation is taking place, systems may be under development, versions may not be available, or test data might not be correct. As a result, tests become bottlenecked by environmental constraints. Service virtualization allows DevOps teams to remove those bottlenecks.
In the latest release, we introduced a browser-based deployments dashboard for managing and maintaining those virtual services. The deployments dashboard shows the status of all service virtualization deployments for each server and helps provide important ROI information such as hit counts, transactions per second, uptime, max response time, and so on. The dashboard enables service virtualization administrators to understand their asset inventory from a high-level control, which services are deployed, and the utilization.
Additionally, deployments can be monitored from the Deployments dashboard, which enables users to get easier access to asset monitoring without having physical access to a Virtualize desktop. The event messages view in the continuous testing platform is enhanced to show asset monitoring information. It allows you to do both of the following:
This is vitally important for teams working remotely because you can reduce debugging costs by providing complete visibility into the virtual service performance at runtime and quickly identify performance bottlenecks through the browser.
Test jobs allow you to wrap up a series of test cases, test data, and environment variables into a job for execution on the SOAtest API testing server. Test jobs are a great way to parameterize the environmental information for a suite of tests enabling you to execute them across multiple environments. The test jobs perspective is available in the Continuous Testing Platform and offers many enhancements in this release such as the ability to define data groups and data source rows at runtime.
For increased security during remote team access, we enhanced the security permissions for the jobs interface. In this version, you can lock a specific test job to a user or group so that unauthorized users will not be able to view test results, test data, or configure the test execution.
There were many more enhancements to the Continuous Testing Platform. Read all about them in our release notes.
As stated earlier, service virtualization is a critical enabler when testers don’t have access to the real systems. Testers can use service virtualization to create simulated reproductions of the dependent services. This has major advantages and can significantly reduce the total cost of testing, but there are challenges associated with creating long-term maintainable services if the user doesn’t understand all the underlying business rules. Sequence responders aim to solve this problem by providing a simplified approach to record and playback complex or dynamic behavior.
Sequence responders work quite simply: You record traffic from your application under test, then you load that traffic into Parasoft Virtualize. Virtual services created this way will respond to messages in the same sequence as they were recorded.
A great example of this is a shopping cart application. Say you want to buy some hand sanitizer from an online shopping vendor. The sequence of events would look something like this:
The cart would have to start empty, then on the second response have hand sanitizer in it. On the third response it would need to be empty again. This type of behavior is fully possible with Parasoft Virtualize using state transition or CRUD.
To do that properly, you must understand how everything connects. This is straightforward when you’re dealing with one item, but if you had hundreds of calls like this, it could become cumbersome. Sequence responders simplify this whole process by creating one responder that will respond the right way in sequential order. This serves as an entry point for new users with limited knowledge of service virtualization and the services they are trying to simulate. It enables powerful and disposable virtual services.
We took the opportunity to enhance the traffic wizards in 2020.1 as well, by bringing fixed and parameterized traffic wizards closer together. The workflows appear similar and make it easier for users to choose the appropriate strategy for creating their virtual services.
To take this one step further, we made the traffic wizards much more intelligent. They can determine the best strategy for creating the virtual service by analyzing the traffic that was recorded. If the service traffic engine sees a series of repeating calls with different responses but the requests remain the same, then it may determine that this is an appropriate candidate for sequence responders.
Vice versa, when it sees requests and responses that are changing their payloads, paths, or data, it will choose to create a subset of responders, load the data into the test data repository and create correlation rules to model the real service schema and behavior.
The goal of the enhanced traffic wizards is to make it easier than ever for users to leverage service virtualization to create quick and dirty virtual services or intelligent virtual services that have long shelf life and can be reused across multiple test environments. Either way the aim is to reduce the cost of late-cycle defects that occur due to not having the appropriate test environment. This allows you and your team to test services anytime and anywhere.
There are additional enhancements to SOAtest and Virtualize, including numerous resolved bug fixes and performance optimizations. Read the full release notes for more information.
As we look forward to the 2020.2 release there are many areas that we plan to enhance. 2020.2 will be a major release for us so we will be adding some great capabilities to the solutions.
We are proud to be named again this year as a Gartner Peer Insights Customers’ Choice for Software Test Automation. That wouldn’t be possible without the partnership with you, our customers. Stay safe and we look forward to working with you all (remotely) this year.
To learn more about strengthening your DevOps team collaboration for better test automation, watch our webinar.
A Product Manager at Parasoft, Chris strategizes product development of Parasoft’s functional testing solutions. His expertise in SDLC acceleration through automation has taken him to major enterprise deployments, such as Capital One and CareFirst.