I have got a Test Automation Project what would be my Strategy ?
Test automation is now running at its full throttle. There are abundance of tools and frameworks emerged in the industry. Most software consultancy and software development first are initiating on test automation projects.
During the initiation phase, test strategy is one of the questions that will running wild in our minds. Lets look at various aspects to consider when deciding on your test automation strategy.
The first thing that we should look at is the project that we have in hand. We should look at the nature of the project. Short term projects are not good candidates. Projects which concludes within like four to five months are not good candidates for test automation. We may have to take decisions on training, tool acquisition and framework design these might take some of your time from the project. There will be also time taken to script automation test cases, which will leave us less time to actually execute test automation. So lets try to put test automation for long run projects.
Next attribute to think upon is the platform and architecture. Some platforms it may be difficult to put automation, or some does not support. For example some POS systems cannot be automated due to its command driven architecture. Some may have third party GUI elements which cannot be automated. So there should be a borderline when you consider what to automate and what not.
The skill of your team is also a crucial element when seeking test automation in a project. There should be people in your organization or in your team who is capable of scripting the scenarios using the selected test automation tool, with the desired programming language. The engineers should be also skilled enough to develop the test framework. Sometimes there is a need for training and a learning curve will be involved in the project. You should consider the training needs of your team mates.
Next comes the most important and the heart of the test automation project. The test automation tool and the test automation framework. Test tool should be selected in terms of your project/client's budget. If you are in a tight budget, the best goes on selecting open source and free tools. You should also select a tool which has good product support or community support. Believe me ones you start automation you need this. The next factor is the type of application environment you have and the platform it uses. The test automation tool should be selected carefully as it should support the application under test. The tool should be also compatible with the application development process and practices like behavior driven development and continuous integration. Next should be the framework which you are going to design and develop. The framework should be re-usable, extendable, reportable, scalable and viable. It should be compatible with your project and customized. Not just implementing something used in the industry straight away.
You should also think about the test automation process. How the estimation for test automation should be done, how the test scripts should be developed. The test automation coding standards and best practices should be there. You should also consider the test automation review process. How should this be done. Peer review, Lead review and even client review. Next is the test automation delivery. We should look at how these scripts are to be delivered in the project. Are we going to demo this to rest of the team or client? are we going to integrate this with continuous integration? These questions should be asked during the script delivery. Finally we should also look at the automation script maintenance. When there are changes to the functionality how we are suppose to update the test scripts. Script maintenance is an important area as we tend to ignore this in our test automation process. We should also see how we are going to distribute our test execution details. Questions should be asked who will be are target audience? Which way are we going to deliver these results? Are we using email or online dashboards? Are we delivering these to the customer?
When looking at test automation tools and frameworks, my strong advice to all of you'll have a look at modern technologies and tools available. Do not always be the old roster when making decisions. The other advice when making a test automation strategy is to have a bird's eye view of everything we discussed.