Opaque Service Virtualisation: A Practical Tool for Emulating Endpoint Systems
This addresses the problem of scalable and accurate service virtualization for enterprise software developers, though it is incremental as it builds on existing record-and-replay methods.
The paper tackles the challenge of accurately emulating dependent services for enterprise software testing by improving record-and-replay techniques without requiring prior protocol knowledge, achieving over 99% accuracy across four messaging protocols and integration into a commercial product.
Large enterprise software systems make many complex interactions with other services in their environment. Developing and testing for production-like conditions is therefore a very challenging task. Current approaches include emulation of dependent services using either explicit modelling or record-and-replay approaches. Models require deep knowledge of the target services while record-and-replay is limited in accuracy. Both face developmental and scaling issues. We present a new technique that improves the accuracy of record-and-replay approaches, without requiring prior knowledge of the service protocols. The approach uses Multiple Sequence Alignment to derive message prototypes from recorded system interactions and a scheme to match incoming request messages against prototypes to generate response messages. We use a modified Needleman-Wunsch algorithm for distance calculation during message matching. Our approach has shown greater than 99% accuracy for four evaluated enterprise system messaging protocols. The approach has been successfully integrated into the CA Service Virtualization commercial product to complement its existing techniques.