I love application failures – said no one ever.
Anyone interacting with your company’s business systems expects their transactions to “just work.” If the system hangs or spits out some cryptic error message while they’re trying to complete whatever task they had in mind, you might have lost a customer.
Given that today’s applications typically have over 50 dependencies, there’s a good chance the complexities of integrating so many, and so varied, different technologies and systems could indeed result in these kinds of application failures. Ideally, these issues are exposed and eliminated before the software is released. However, actually testing the integrations presents quite a challenge. How do you validate your application’s interactions with systems that are often:
- Unreliable, evolving, or not yet completed
- Beyond your scope of control (e.g., operated by another company or division
- Available for testing only in limited capacity or at inconvenient time
Just to name a few. You can see the full list in my last blog post, here.
In our recent webinar, ‘Test-driven Service Virtualization’, now available on-demand. Tricentis product manager Alexander Mohr talks about how service virtualization helps testers boost test automation by simulating dependencies such as third party services. This helps testers keep pace with Agile and DevOps demands.
During the webinar, Mohr stressed a number of situations where service virtualization could “shift left” testing, improve team collaboration, and allow the team to integrate end-to-end testing into a CI/CD environment for Continuous Testing. He also outlined a few situations where a simpler approach, such as stubbing, might be a better fit.
How do you decide the scope of simulation (stubs, basic service virtualization, or advanced service virtualization) that best fits your specific needs? Ask yourself these questions:
- Where do we start?
- Do we need all data?
- Do we need all services?
- Do we need all variants?
- Do we need simple Request/Response-pair or full End-to-End processes covered?
Some other key takeaways from Mohr’s presentation:
- Service Virtualization helps both testers and developers test earlier in the development cycle
- It also improves cooperation & team spirit amongst the team
- Service virtualization should be applied differently for new projects vs legacy projects