As we know, when doing load, services testing, we will find tools to automate business scenarios which human cannot do manually. While for functional testing, shall we automate it? The answers will vary from projects. When we are thinking about automation, firstly, we shall consider whether they are dedicated and professional resources to work on the automation evaluation, including picking up tools, making up solution on how to architect and implement test cases, estimating how much effort for development and maintenance, calculating the cost on environments and kinds of assets.
Evaluation on Automation possibility is important but difficult. When doing regression testing iteratively, you may think automation is a must to reduce the effort and cost. However, in the situations of GUIs are difficult to automate, or GUIs changes a lot for builds, you shall think twice. Despite software vendors telling you how easy it is to use record-and-playback functionality, if you simply apply the record-and-playback approach for situations mentioned above, you are entering into a maintainability nightmare.
If this is your first time in test automation, starting to automate the only things need to be automated. Give a period of time on automating test cases which are the best fit, then you can evaluate ROI ((Return on Investment) received ,and take a judge on whether going further on automation.
You may or may not hear that some projects don’t get much ROI (Return on Investment) from automation. One reason maybe the project is really not fit for automation, but in some occasions, that automation fails because we are not doing automation well. Though you get dedicated resources working on automation, but you may also need to make sure they are professionals who are processing automation just like engineering software, for example, setting up a good automation framework, holding CCR (Continuous Code Review), FCR(Formal Code Review), creating baseline, all the activities software engineering requires should be taken into Test Automation also.
I hope above points can help you make a decision whether to use test automation on your projects somehow. And if decision is made to test automation, keep one thing in mind is that try our best to reduce maintenance effort at early and on-going time.