One Click Automation - End to End Testing
One of the objectives of testing is to provide quality deliverables with speed. The speed can be achieved by continuous engineering and integration with enhancing test processes, adapting latest techniques in testing, automation etc. This article attempts to integrate all test activities to bring speed to the quality deliverables. Let us start with listing down typical test tasks that a test engineer performs viz., setting up environment, installing the build, performing IVT/EVT/BVT, regression, functional testing, tearing down the environment. Each of us bringing efficiency in individual tasks listed above with automation or in some way. If we can integrate these tasks automatically, we can surely deliver reduced test life cycle. In short, we should be able to do testing without having a test phase there by savings considerable dollars.
The software Development world is moving towards Agile to cater to the rapidly changing needs of customers. And just like Developers, the Testers also need to re-think about the way the work is done. Traditional Testing approach gives the ownership of entire Testing to the QA team and it comes into picture very late into the cycle which will not be very efficient in the new approach. In the fast paced environment of Agile, we need a mechanism to execute tests as and when they are getting built in dev phase. This is where “One Click Automation” comes into the picture and truly gets integrated in Enterprise Agility.
Objective of one-click automation is to:
- Eliminate Manual Effort
- Left shift the Quality
- A step towards “Go Live at CC” before code drop to test
The idea behind this approach is to automate all test activities and sequence them one after the other so that no manual effort is required once it is invoked.
Technology used – Leveraged Visual Studio Release Management software with Microsoft Test Manager. Release Management software recently released by Microsoft comes in really handy to satisfy this requirement. You can define the workflow sequence e.g. a typical Test workflow would look like EVT execution->Deployment->IVT->BVT->Regression Suite->Function Suite. All of these can be configured as a workflow component in the tool and can be sequenced one after the other. Some of the advantages of using Release Management software include inbuilt Logging, Authorization and reporting. This tool can also be used along with custom built tool to invoke Coded UI tests in Offline mode.
The major challenges faced in setting up the One Click Automation are:
- Developing Automation in parallel to dev which needs high collaboration between two streams
- Including all test cases in the automation suite (From IVT to Functional)
Best Practices Followed:
- High collaboration with dev team during build phase to incrementally build/update automation suite
- Daily execution of incremental Automation suite by dev team
Success Story:
- Reduced and eliminated the overall Test Phase
- Function test Sign-off immediately post Code Complete
Key Wins:
- Functional testing is completed during DIT phase in DIT environment
- Functional bugs caught in DIT phase
- No manual testing post Automation complete
One-click automation can greatly reduce the efforts required in the project. As there is no manual intervention needed dev team can execute this in their environment before even giving it for Testing, thus moving the quality upstream. With Functional Testing mostly getting covered in DIT itself, Test can concentrate on the integration and End-to-End scenarios which will further improve the overall quality.