Forrester: Test Automation, API Testing, and Service Virtualization in DevOps

May 19, 2016

Posted by Parasoft

forrester_service-virtualization.jpgFrom Diego Lo Guidice's Continuous Delivery Conference keynote:

"For Continuous Delivery and Agile to succeed, we need to bring manual testing from 60-80% of the testing effort down to 5-20%. It's never going to disappear. Manual testing is very important—sometimes it's not worth automating something, and sometimes you just can't automate something.

How do increase the percent of automation to about 60-80%?

Emphasize API Testing

To increase automation, you have to go beyond the user interface and use API testing. UI testing is not enough for testing an application and automating the tests for distributed applications with web services, RESTful APIs, and so on. It won't help you catch everything that’s going on behind the scenes of your web or mobile app. Modern applications require a layered and decoupled architecture-driven testing approach. In fact web, mobile, connected devices (IoT), cloud, and third-party services demand a multitier architecture driven testing approach.

Moreover, Agile's fast feedback loops frequently break UI-only test suites. Agile development encourages change. When developing in short iterations, the automated UI-based test suites often break as soon as change happens, even for simple changes to the GUI layout or unexpected changes to the behavior of back-end services. Not all tools suffer from this, but most of the traditional ones do.

Download Forrester's research on API testing and functional test automation


"Shift Left" and Start Test Automation Earlier

To "shift left" and build quality in, you'll want to:

  • Bring in your QA, testers from the very beginning of each sprint and continue throughout the process

  • Incent developers to perform unit testing on all newly-developed (or modified) code

  • Have testers work with product owners and business analysts from the very beginning of each sprint and continue throughout the process

Shift Right—Including Testing in Production

"Shift right" is another term we're starting to hear more and more. Part of this is testing in production. Shift right also involves bringing in analytics and data from production and putting monitoring tools in the hands of developers so they can see how the application is behaving in production and use that to prevent problems from occurring. There's all sorts of great things happening in this space, and I think we'll be leveraging them more and more. Another thing we'll see more and more of is monitoring social networks—seeing what people are saying about the application, and feeding that back into the delivery cycle.

Simulate Depenencies with Service Virtualization

With today's complex environments, how do you test continuously? You've got all these dependencies. ING has 150 scrum teams. PayPal has 680 scrum teams across the world. Just imagine all the dependencies there. There's no manager in this room that can manage that without getting hung up on dependencies.

To get around this, you need to start simulating things—for example, if you don't have access to a mainframe you need for testing, or if you're testing against a third-party service. Service virtualization can allow you to test and integrate on a continuous basis. That's how you start doing integration testing from the beginning. It's introducing simulation into the development process. What an idea! This is used in many other industries, but we haven't really used it in the software industry. I like to think about this as a wind tunnel: you put the airplane in it and test the airplane by simulating all the conditions around it. That's what we need to do—and service virtualization helps you get there."

More from the Continuous Delivery Conference

Want to learn more from Diego Lo Guidice's Continuous Delivery Conference keynote? Check out these earlier blogs and videos:

 

 

 

 

New Call-to-action