Automation - A new measurement of client experience
Author: Rajneesh Malviya, AVP - Delivery Head - Independent Validation Solutions
A few months ago, I was talking to one of my clients who visited us on the Pune campus. She shared how happy she was with the improved client visit process. She was given a smart card like any of our employee and was mapped / marked as visitor and with that she could move from one building to another without much of a hassle. She no longer had to go through the manual entry process at each building. Like an employee, she could use her smart card at the turnstile to enter & exit our buildings and at the same time her entry was recorded as per compliance need. As she had been in our campus before, she was clearly able to experience the great difference brought about by automation.
This made me think. Are we creating too much of a hype on the word "automation"? Are we over complicating automation problems and making it difficult to understand resulting in very little success? Do I really need a special army to do these automations? Have we really understood the objective of automation?
These questions made me to go back to the basics, pull out the fundamental objectives of automation which are:
- To reduce manual interventions (small or big) resulting in improving the productivity and reducing cost
- To improve time-to-market
But above these two objectives, and more importantly, it is taking into consideration a smoother, quicker experience for our clients / users. The satisfaction & excitement users have because of these small automations result in in the client returning again & again. If we can do this, then we can say we have accomplished true automation.
Automation in Testing Services
In testing services (QA services), automation is important as no one can do everything manually. The automation in test execution, especially in regression testing, is seen as a necessity and many testing tools / solutions have evolved over the years that have helped simplify the automation process. Automation experts became involved in automating & maintaining test cases. Then came the era of progressive automation / Shift-left automation. That is, automation done along with functional testing to further improve the level of automation.
All of these developments have definitely given us new ways of improving the automation level beyond regression testing. Automation now takes up to 20% - 30% of total test execution (with some exception up to 40%). In this entire process, the objective has remained the same - to reduce manual interventions resulting in reduced testing effort and improved time-to-market especially because scripts can run 24x7. But the benefit of automation has been limited because automation is done only on a limited set of activities.
With the adoption of devops, continuous integration and agile methodologies, the distance between testing and development is reducing. Now testers are expected to work more closely with developers and testing is done while the development process is in progress. This means testers need to have an understanding of code / architecture / design. Gone are the days when testing was seen as low-end work done by anybody who could follow a set of instructions. Today, testers are expected to not only understand functionality but also have coding / scripting knowledge.
As emerging forces like digital transformations, big data, cloud & mobility are changing the business model, testing services are also gearing up to adapt to current trends and move towards extreme automation to speed up the deployment timeline. Extreme automation means, automating every part of the testing process that is manually done. This includes automating requirements, design, and code reviews; automating builds followed by automated tests; and then automating deployments. In reality, can we do 100% automation of all that we manually do today? The answer is 'no' BUT we can always improve the current level of automation and take it to next highest level.