Test Automation, API Testing, and Service Virtualization in DevOps
Via DZone by Erika Delgado
From 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 can you increase the percent of automation to about 60-80%?
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 multi-tier, 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.