The World Quality Report 2016 study reveals that 88% of CIO respondents say they are using DevOps principals.Use of loosely coupled architecture and continuous testing emerge as strong levers with 88% and 85% of the respondents stating that they are using and planning to use these levers.
Service virtualization plays a key role in designing a continuous testing framework. Traditionally virtual services are used by testers to simulate API or environment dependencies.With the advent of loosely coupled architectures and micro services , there is an opportunity for the tester to shift from a pure play services automation provider and move up the value chain by designing effective services in line with business and architectural needs.
Here are seven non – traditional ways for testers to innovatively use the power of service virtualization.
- Design an enterprise wide service virtualization strategy in partnership with development and operations teams. This means resisting the temptation to design localized services focused purely for integration (the typical use case) but rather building virtual components that can be shared across all teams.
- Use non – deterministic service virtualization techniques for simulating complex algorithms. A good use case for a non-deterministic service, is in trading platforms for simulating rating and pricing algorithms. In this case, building a service for the purpose of testing enables the test team to generate a combination of numbers which enables realistic validation.
- Build design skills to determine which services should be stateful versus stateless. For example, in the case of credit card services, design stateful services to accurately test checkouts with carts whih should retain order history , hene stateful and credit card validation scenarios.
- Use dependency structure matrices to determine what services to build first and to avoid duplication. Model based analysis and behavior driven development are effective tools for the same.
- Use bootstrapping mechanisms to design test data. For example, in a multi country rollout, to determine valid phone codes, consider building a web service with three inputs (city, state and country) and output as phone codes.
- Leverage service virtualization for performance tests and security tests to enable early testing.
- Build the capability to create business cases for leveraging service virtualization for environments by estimating the costs and benefits of implementing service virtualization. Costs include cost of tools, labor and infrastructure. Quantitative benefits include speed to market and number of defects found earlier. Link speed to market benefits with return on invest and return on revenue. This will facilitate effective decision making.
“Creativity is just connecting things” – Steve Jobs
Leverage the power of connection with service virtualization and build an effective continuous testing framework.