Parasoft released the latest version of its industry-leading functional testing tools today, and they are jam packed full of exiting new features to enable comprehensive API test automation!
It is my great pleasure to tell you about these releases, in which we focused on 3 critical areas of software testing:
- Removing the biggest bottleneck in testing — test data — with a radical new approach to test data management
- Service virtualization in support of state transition testing, with something we call “stateful virtualization”
- Aggregating functional test results across your entire SDLC for a personalized and total view of quality, through Parasoft’s reporting and analytics dashboard
More on each of these areas below.
A radical new approach to test data management
Test data has become one of the most significant bottlenecks preventing organizations from achieving high levels of test automation. A recent Sogeti report indicated that the majority of organizations spend between 30% and 60% of their total testing time on activities related to test data management — a significant challenge our industry will need to overcome in order to achieve continuous testing. Existing solutions for TDM require specialized skills and specialized knowledge of the organization’s entire data inventory, as well as a large upfront cost spent building the initial data models. This is all very complicated and time-consuming, and often fails to deliver the value that the organization was looking for in the first place.
Today, Parasoft introduced a new approach to get access to realistic and safe test data, using an intuitive, browser-based data modeling technology that helps you create even the most complex data objects without having to understand how your database works. It does this by combining service virtualization with traditional test data management to create a practical approach called data simulation.
Leveraging our experience with service virtualization, we created a new technique where users can simply record their interactions with their dependent databases or APIs, and generate both virtual services as well as simulated test data. There’s no upfront work required to build a data model because the data model is built automatically by processing the traffic. In the web browser, users can take a self-service approach to building the data required to satisfy their use cases, through simple and intuitive visual diagramming that enables them to mask, reshape, subset, and generate vast amounts of data.
Want to generate 100 new customers in your application? No problem! Simply record the API interactions between your application and the database while interacting with one customer, and use that to automatically create test cases and virtual services that understand and display the test data in an easy-to-manipulate format. You can then go right into your browser and get access to the underlying test data so that you can manipulate the data structure, if desired, and use that to generate tons of new data that is all semantically correct!
This brand new approach to test data means you don’t have to understand the entirety of your database. You can simply grab the conversations that are important to you and use them to generate all sorts of additional data. The approach reduces the total time spent waiting for test data because you can quickly build exactly what you need, use it, and then destroy it.
You know this data will be safe for use in your test environments because Parasoft enables you to mask that data upfront, enabling you to record it from private environments. Additionally, our partnership with Datprof means that you can integrate this approach with traditional test data by copying, masking, and sub- setting actual databases. Through these workflows, you can truly take control of your data and test unconstrained.
Service virtualization in support of state transition testing (“stateful virtualization”)
Another application of this approach to test data management is within service virtualization. A powerful application of service virtualization is in simulating services that undergo various transitions of state, for instance, a shopping cart or a banking app. Users can manage the most complicated transactions, and successfully undergo state transition testing, without having to write a single line of code, by leveraging Parasoft’s new test data management infrastructure, creating virtual services that update themselves based on usage (we call this “stateful virtualization”).
Parasoft Virtualize has always had the ability to create stateful virtual services, but in the latest release we have simplified the workflows significantly, making it approachable for everyone, even if you don’t have intimate knowledge of the back-end data. With one simple tool, you can write persistent data into your data model as your virtual services are being used, enabling you to create more real-world simulations. For example, you could simulate a shopping cart application that allows you to add items to cart, update their price, reorder them, and delete them. This state modeling makes creating flexible and reusable virtual services much easier because of a highly intuitive and interactive UI that pulls in a model of the data you want to update into your virtual service, so you can apply the logic appropriately. This makes it simple to handle even the most complex stateful operations.
This approach enables teams to simulate more complex and real-world workflows, critical for today’s initiatives like Open Banking. One of the key drivers in Open Banking is creating API sandboxes. Parasoft’s approach enables you to build your Open Banking virtual services via service definitions and then build in the necessary logic so that they will behave like their real counterparts, and you’ll be able to create realistic API sandboxes that have all of the underlying business rules built in from the beginning, so they can be highly reusable and distributable. Combining this with Parasoft’s data masking will allow you to also generate safe reusable test data for your API sandboxes.
Aggregating functional test results into a personal view of quality across your SDLC
There has been an explosion of services in our application environments. This is a result of the breaking down of legacy systems into reusable APIs, and the proliferation of microservices. These services make up the backbone of our critical applications, and testing these interfaces is a critical component of our DevOps ecosystems.
But this exponential service growth comes with a challenge of quality visibility. Multiple services integrate with our applications. We want to get visibility into the functional quality of those applications, but compounding that challenge is the multiple test environments in which these tests execute. These come together to form a three-dimensional matrix of quality that can be difficult to unravel. Different personas will want to slice and dice the quality data in different ways, for instance:
- If you’re a development lead, you may only be interested in service health and visibility into individual component metrics, so you can understand whether the development team is creating these services in the most optimal way.
- If you’re a product manager, you may be interested in certain key applications and the services they depend on.
- If you’re in operations, you may be interested in execution environment health and the versions of applications currently hosted in those environments.
- If you’re the CIO, you need higher-level portfolio visibility and you may only care about specific applications.
Parasoft SOAtest cuts through the reporting complexity and provides you functional test results in a personalized way through its interactive reporting and analytics hub. As functional tests execute, our enhanced Jenkins plug-in will provide multi-layered information to Parasoft’s Quality Dashboard, with information such as test type, execution environment, build ID, and so on. This information can be aggregated and combined into many different widgets, all with unique views into software quality, and different personas can combine these widgets into a customized dashboard that tells them exactly the information that is relevant to them.
In the thin client interface, Parasoft SOAtest’s continuous testing platform enables you to configure your test executions in the context of an environment so you can create a finite number of tests and then reuse them in the most optimal way possible by swapping out data sources, environment variables, endpoints, and so on. This is available as the “Jobs” UI that’s available right in your browser, that has been enhanced in the latest release to allow users to define environment variable sets individually or in bulk so that individual tests can be rapidly reused by swapping out dynamic information on the fly.
Once a job is defined, you can then execute it automatically from your build system through the Jenkins plug-in, which has been enhanced to allow you to not only define additional environment context information, but also publish those results into the reporting & analytics system, which will allow you to do all sorts of neat things.
Additional core product enhancements
As with every release, we have added many additional customer enhancements, and you can read all about them in the release notes! In addition to our customer-focused enhancements, we’ve added two new native tools to our expansive visual tooling system:
The JSON Validator: This new tool allows you to validate the schema of your JSON requests and responses. It will automatically infer the resource type from the service definition and can be added to Parasoft Virtualize to validate incoming requests, prior to responding.
The Data Repository CRUD Tool: In support of stateful virtualization, we have added a new tool that can now be attached to your existing virtual services to help you manage even the most complicated stateful transactions without having to write a single line of code. The tool communicates through our test data ecosystem, so you don’t need to set up an external database. The tool also makes complicated workflows easier, such as creating a new row if you are unable to update a record and managing the updating of hierarchical lists.
So go get it!
The latest releases of Parasoft SOAtest and Parasoft Virtualize continue to push the limits of what’s possible with test automation. By enabling users to overcome the traditional bottlenecks associated with managing test data, users can relax and enjoy the process of testing. Creating virtual services to support state transition testing will enable users to enjoy service virtualization in areas that require data manipulation, and by aggregating functional testing results across your SDLC into a personalized quality dashboard, users will be able to design focused quality dashboards with results that are important to them, at a glance.