Digital Transformation is increasing the number of services the organization offers through online channels. At the same time, the number of platforms through which they offer these services is increasing e.g. API services, Mobile Web, Mobile App, Web Browser, and Smart Devices. Over and above Browser, OS and Mobile Device vendors are releasing newer versions frequently.
These are exponentially increasing the number of tests organizations have to run regularly. On the other hand, business expects to reduce the time to market cycle by achieving shorter testing window.
This makes it critical for the testing teams to explore strategies to distribute their execution model and speed up their parallel processing capacity. An increase in processing capacity shouldn’t have to put a high financial burden on the QA infrastructure budget.
Micro Test strategy focuses on the following factors
1. Increase test execution capacity
2. Reduce test execution time by offline processing
3. Optimize QA Infrastructure cost
Most of our tests are a collection of multiple business processes.
Assume you have to test a business process for closing a bank account. Your test may use an existing account or create a new account and set up all the profile information and then close an account. Most of the time as closing is an irreversible process, you may create the account and then close it.
Here, the test becomes a combination of 3 business processes:
Creation of account – Business Process 1 (BP1)
Setting up of profile – Business Process 2 (BP2)
Closing of the account – Business Process 3 (BP3)
Each of these business processes (BP) can be set up as separate micro tests and can be processed in a distributed way. You don’t need the same processing engine to run all the three business processes so long as you can capture the results and return values from one processing engine to another.
You can make your test a collection of micro-components: Micro Tests.
Adoption of Micro Tests strategy will need analysis of the individual test itself as a number of factors need to be considered to come up with the sequencing and distribution model.
Workflow Manager is the core of Micro Test architecture. Itwill control the Micro Test processing and manage the queue for micro tests to be executed based on the sequencing and status of the previous business process in sequence.
MicroTest Registry can maintain the status for all the Micro Test which needs to be executed, or already executed or need to be retried. Work Flow Manager pool the MicroTest Registry to plan the execution queue.
In large organizations where there is a need for thousands of tests to be executed daily, Micro Tests will significantly reduce execution time. Micro Test strategy will allow the distribution of test execution beyond what is possible by parallel execution of tests as a single block. As each test is modularised into multiple processes and executed across distributed nodes, the testing team can execute a higher volume of tests leading to the increased capacity of test execution.
All the Micro Tests for a test don’t need to be executed at the same time.
For example, for the scenario of closing a bank account, the creation of an account and setting up the profile can be done at a different time window (maybe during off-hours) and be available in the system. The final business process i.e. closing of the account can be executed when you need to execute the closing of a bank account test.
The testing team can process multiple steps offline ahead of time and have the information available in the MicroTest Registry. When they need to run the test, the workflow manager can pick up the status of the previously completed steps from the MicroTest registry and run the last transaction and validate the business scenario. The ability to process tests partially offline will tremendously reduce the turnaround time to get the test results.
If the QA Infrastructure is on the cloud, scaling of QA infrastructure shouldn’t increase the cloud usage cost exponentially. The ability to do offline processing and retry features in the Micro Test strategy will allow testing teams to have a resilient approach. It will allow teams to use low-cost computing infrastructure in the cloud e.g. Spot Instances of EC2 instead of On-Demand instances in AWS. The cost of Spot EC2 instance is at least 70% less in cost than On-Demand instances.
Overall Micro Tests allows the testing teams to break down tests into micro components and provides a means for faster and cost-effective scaling of test execution.