Regression tests in SaaS environment based on inter-component communication synchronization
Publication Date: 2014-Nov-12
The IP.com Prior Art Database
This article describes how to optimize regression tests in the SaaS type of environment by placing in test environment new components and communication synchronization between production and tested components.
Page 01 of 4
Regression tests in SaaS environment based on inter -
Let's consider large software environment, which consist of multiple components which cooperate exchanging information. Communication between components goes through predefined interfaces.
To optimize new features delivery model, components are developed and delivered independently. Before new component is introduced into production it is crucial to make sure it dose not introduce any regression.
Today there is couple of levels of such verification:
− automated unit test
− manual/automated testing using test environment similar to production one
This article describes how to optimize regression tests by placing in test environment new component only (do not make a copy of full production environment) and configure production environment to broadcast all communication to original component and tested component and then compare components (old and new) answers.
This approach allows: • give development team opportunity to perform test in production without impacting production environment • lower cost of test environment • keep 2 components in parallel until it is confirmed new version works fine in production
• assuming that older component version works correctly, verification tests are simplified and limited to binary comparison of generated answer without analyzing content, as long as answer generated by old and new component is identical.
Main advantage of the idea is possibility of testing the new features or bugs in real production system without impacting it. The main goal of the regression tests are to validate that already implemented features are working correctly - proposed solutions allows to that smoothly and exactly in scenarios customers are using.
The solution contains following components:
1. set of listeners which are broadcasting input (coming from external world) flow to real production environment and test environment
2. set of listeners which are comparing input coming from test and production environment
3. set of virtual systems which will handle the test environment
4. hypervisor which is orchestrating the whole environment
Following flow diagram shows how the components interact with each other:
Page 02 of 4
Page 03 of 4
Based on the flow diagram, lets go into details about particular steps and components.
1. [Engineering] Engineering tea...