Today's applications typically involve interactions with numerous applications both in house and external. Simulating these before they are either fully developed or available across multiple environments is critical to enable earlier testing. Historically these systems have either been not simulated at all leading to delays in testing until a fully integrated environment can be built or they are met using custom test harnesses written by the development teams. The problems with an in house developed solution are:
- They become a separate branch of the development; typically not written to the same standards as production code.
- Written by individuals and quickly become un-maintainable by anyone but the original developer
- Time spent on a custom test harness can take away time from the main development aims and if often no accounted for during initial estimates. A custom harness can also be significantly more difficult to code than first estimated.
- A developer writing their own test harness is akin to running their own tests with the risk that the application is coded to work with the harness and vice versa
- A custom harness may not be written to work across all environments meaning either additional effort or lack of availability
In comparison using existing service virtualisation tools have the following advantages:
- Services can be simulated easily by recording existing ones or written using an existing stub templates saving on development time
- Service virtualisation can easily be deployed across multiple deployments with minimal effort
- Service virtualisation tools cover most service technologies so a significant part of the simulation is done for you. This means it is a configuration task rather than a coding one which can be completed using cheaper test or environment management teams rather than using development resource
- Most virtualisation tools will allow you to configure the way in which services respond without coding meaning they can be used for both functional and non-functional test scenarios