Use test automation and virtual services to emulate your testing environment across the development lifecycle that can help overcome testing challenges and accelerate delivery.
One of the more pressing challenges to development and QA teams is the inability to quickly and efficiently test the components they are working on. Time-consuming manual testing processes, manual test data management, test requirements gathering, test data management, and data volatility directly impact on the delivery of quality applications.
Developers, testers, integration, and performance teams can leverage test automation to speed up testing and virtual services to simulate unavailable systems across the software development lifecycle (SDLC). This allows them to work in parallel, taking advantage of increased collaborative opportunities in a DevOps-enabled IT environment. This productive testing environment helps build strong, empowered development and testing teams.
Automated DevTest with virtual services facilitates exploratory testing by enabling testers to create more on-demand test scenarios and conditions without extensive environmental and data provisioning.
Simulating the DevTest environment with virtual services gets the testing process started earlier
CA Technologies provides solutions for the DevTest framework that shorten development and testing cycles to increase speed-to-market, improve quality, reduce infrastructure spend, and mitigate risk. DevTest teams use CA Application Test to invoke and verify the functionality at every layer of the application and CA Service Virtualization to simulate unavailable systems by emulating the apps’ dynamic behavior, data, and performance. These solutions help create an excuse-free testing environment that uses virtual services to speed up the testing of applications while increasing quality – essentially enabling true Continuous Testing. It’s a testing environment that DevTest teams can really appreciate. To put a fine point on it, in a recent survey, 97% of 91 users in IT organizations agreed that CA Service Virtualization helps improve application quality and reduces the time it takes to get them to market. 1
Several important elements differentiate CA Technologies’ solutions for testing with virtual services:
- These solutions support parallel development and testing in a DevOps environment
- “Shifting left” to test early and more often in the software lifecycle accelerates app production
- Testers can leverage the widest multi-protocol support available
- The simulation of observed behaviors, stateful transactions, and performance scenarios enable non-disruptive testing
- These solutions offer realistic ways to emulate application testing
- They also offer ease of administration and reporting
By allowing testing teams to test continuously without disruption, virtual services makes for a quick, highly productive, and collaborative chain of testing for continuous application delivery. Additionally, service virtualization provides testing teams across the application development and delivery ecosystem with a chain of API test capabilities that are automated and easy to maintain—saving time and effort. DevTest with virtual services can virtualize APIs and drive API tests at any layer, even for unavailable or isolated systems.
DevTest is supported by several capabilities enabled by virtual services, such as component-level performance testing, codeless testing ability, integration with existing app development processes and test management tools, and full stack API testing.
Development and testing teams benefit greatly by using the DevTest framework from CA to run any test, anywhere in the stack, at any time. CA Application Test builds portable, executable test suites that are easy to chain together to create workflows that save work hours and enable continuous testing. With wide protocol support, CA Service Virtualization can chain together complex scenarios, like encrypted payloads or encoded data embedded inside other date formats.
Moreover, DevTest with CA Application Test and CA Service Virtualization features the broadest and deepest multi-data protocol support across front-end, middleware, and backend technologies. This allows developers and testers to use these CA solutions to virtualize and test anything.
How can virtual services be created for the test environment?
First, CA Service Virtualization can be used to automate the creation of complete software-based environments to simulate observed behaviors, stateful transactions, and performance scenarios. There’s no need to rely on piecemeal mocks or stubs that are limited to pre-canned requests and responses every time the test is run.
As a side note, virtual services are far better than mocks and stubs. Aside from their inherent limitations, they have many drawbacks. Here are some aspects of the downside of mocks and stubs:
- Mocks and stubs need to be manually and repetitively hard-coded.
- It’s difficult to tell how they’ll respond when replicating production-level loads and pushing through thousands of transactions per second.
- They can’t scale up to the appropriate load levels needed to replicate the production environment.
- They have limited code coverage, and are not able to provide comprehensive code coverage, being Java only.
- They aren’t able to add variable information, but only static hard-coded information instead.
So, back to using virtual services to create the test environment…
Virtual Service Environments, or VSEs, offer a way for teams across the testing spectrum to have a realistic way to simulate the testing of the application. They enable performance and load testing at the component level with 24/7 availability, on-demand. VSEs require minimal setup time and overhead. CA’s virtual services can help solve testing hurdles for IT assets, such as mainframes or shared services that can be resistant to hardware virtualization approaches.
There are a wide variety of mechanisms that can be used to create VSEs with CA Service Virtualization:
- Recording live traffic via transport protocols to create a virtual service. This executes transactions against a virtual service (like inventory lookup or credit card validation).
- Designing artifacts or documents when a live service is unavailable via request/response (RR) pair files in CA’s DevTest Portal to immediately create a corresponding VSE.
- Network captures to create a virtual service with a WSDL (or RAML, also WADL, Swagger 2.0 document) that is uploaded when a live service is unavailable.
The virtual services can be edited and adjusted in the VSE. Magic strings is a virtual service for RR pairs that is automatically parameterized, so never-seen-before requests can be easily processed and meaningful responses returned. They provide specific, meaningful data, and the flexibility and strictness of how a virtual service responds can be configured to meet the needs of application data requirements.
A couple of other virtual services that can be engaged are:
- Integration API – a robust set of RESTful APIs – and command-line tools that allow users to programmatically and/or headlessly create, edit, monitor, and manage virtual services.
- Auto-updating datasets to validate and recapture relevant data from virtual test scenarios from live systems with a “self-healing” capability. This capability automatically points back to the actual service without the need to manually decrypt, extract files, open, and send, making them easy to maintain through an application test profile.
Maintaining the VSE is made much simpler by the availability of a “Learning Mode” that allows an existing VSE to add new functionality simply by connecting the VSE to an existing service, and exercising the new functionality.
The distributed, services-based architecture of the DevTest platform allows users to scale, providing flexibility to quickly and easily add more capacity on a given platform. Furthermore, the best-in-class performance of the DevTest solution maximizes utilization of the underlying hardware. This allows users to optimize capacity on a given platform and reduce the need for additional hardware.
In all, CA Technologies makes the choice easy: Automated continuous testing of an application simulated in a DevTest environment provides an accelerated process to deliver quality results continuously.
For the complete E-Book on the subject make sure do visit our site.