Speaker Deck

Service Virtualization On The Cheap (Agile Testing Days 2016)

by emanuil

Published December 8, 2016 in Programming

Any sufficiently complex software application is talking to the outside world via HTTP to external services — for payments, data storage, social networks, IoT integration. Because of this, your high level automated tests have many more reasons to fail — the internet is slow, the external service throttle your requests or your credentials expire periodically.

This talk goes over the history of external service simulation and its role in creating reliable automated tests. It shows you how to start small (using internal triggers) and build your way up using open source tools for HTTP simulation.

At Komfo, we consume lots of advanced 3rd party APIs, and we hit the limits or the first generation tools pretty quickly. We had to develop our own tool — project Nagual to address today’s complex application needs for complete HTTP protocol simulation.

Nagual is written in node.js with speed and simplicity in mind. It has а number of distinct features not all present in any current tool: no code or database changes needed for the application under test, fully dynamic responses, local response storage for complex scenarios, transparent traffic routing, dynamic generation of SSL certificates to handle SSL verification of external services. It’s free, open source and can be found here: github.com/emanuil/nagual