Whenever Test Automation comes up in conversation, everyone talks only about saving cost and time. I truly believe that the ultimate objective is much beyond cost and time saving – in fact, I would go to an extent of saying that Test Automation does require time and definitely requires investments – what it achieves is faster time to market with enhanced test coverage.
I was recently reading a brilliant article by Seth Godin on the Productivity Pyramid - I am always amazed at his ability to explain fairly complex concepts in such simple terms and yet so convincingly. In this article, Seth talks about 5 stages of improving productivity. When I read this article (and read it 5 times) I felt that all the stages which he has mentioned apply so well with Testing and Test Automation..
Here is what he describes these 5 stages:
- The simplest way to boost productivity is to get better at the task that has been assigned to you. To work harder, and with more skill.
The basic objective of QA is to ensure that there are virtually no bugs in production that can adversely impact business and customers. When we start talking about productivity in this context, the goal shifts – now the goal is to successfully run more test cases in the available time. QA engineers working on the application gain significant domain knowledge over a period and get better at speed of testing as well as accuracy. This journey requires dedication, hard work and off course acquiring required skills to live this life.
- The next step up is to find people who are cheaper than you to do those assigned tasks. The theory of the firm is that people working together can get more done, faster.
Most of the times, successful software product is a race against time. There are too many things to be accomplished within limited time. In such cases, to achieve maximum test coverage, the options are to either increase the headcount or think about leaning on ‘Experts’. The Experts have more understanding of the domain, have more understanding of the latest tools and technologies and therefore, there are chances that they will do it better, faster and possibly more efficiently. Sometimes, you might even realize that you have an in-house expert who can be the best one to depend on. But remember that all this put together is the cost for you – also includes hidden costs like impact on cost of quality and management overheads.
- The next step up is to invest in existing technology that can boost your team's output. Buying a copier will significantly increase your output if you’re used to handwriting each copy of the memo you've been assigned.
This is where companies start thinking about Test Automation by purchasing a tool or technology. But the word of caution here is that it is not as easy as buying a copier. The Test Automation requirement for every project is different so organizations need to map their requirements and expected results to the Test Automation technology and tool of their choice. An incorrect choice definitely leads to frustrations and failures. Point to be remembered here is that Test Automation goes much beyond the technology – it is about building a right strategy, having a solid plan and ensuring flawless execution.
- The step after that? Invent a new technology. Huge leaps in value creation come to those that find the next innovation.
Let me apply some analogy here. Seth Godin talks about inventing a new technology – in the context of Test Automation, the new technology is probably a new technology solution or framework for enabling team to build automated tests at ease, with faster pace and of course maintain them release on release.
But the next sentence above also talks about value creation. The true value does not necessarily come from the best framework or automation solution – the true value comes from using the available technology / solution to achieve the desired business objectives. In this case, it is maximum test coverage in least possible time.
- The final step, the one that that eludes so many of us: Figure out better things to work on. Make your own list, don't merely react to someone else's.
How about approaching test automation little differently – something like –
- Associate business goals to test automation – rather than taking the pride in developing unique test automation framework or solution.
- Follow a product oriented approach to test automation
- Make Test Automation scalable, which is easy to build release on release
- Constantly analyze and review the test automation results and revise the overall strategy accordingly
No doubt ‘Test automation’ is used to enhance the productivity of QA efforts. Think - How can you multiply that productivity by incrementally adding value at every phase of test automation life cycle?