Jack and Jill are both managers of software companies with the task of starting a test automation process and testing similar customer-facing web-based applications. Both are focusing on the ROI advocated by the time to market and cost savings.
Jack’s approach is to hire junior-level developers and to use open-source test automation technology.
Jill’s approach is to start a test automation culture implemented by experienced consultants.
Jack’s benefit is cost savings — his advantage is lower hourly rates and no-cost software.
Jill’s benefit is to have her test the automation process established by professionals with a proven record, despite the greater upfront cost.
Jack hired newly graduated college engineers with programming experience and assessed an open-source functional test automation tool.
Jill hired a consulting team that used commercial technology included in the cost of services. The commercial test automation tool was able to handle their application for all aspects of testing.
Jack’s team spent more time on scripting because the no-cost tool required lower-level source-code writing and had limitations in object recognition that required extra development. Another important factor was the lack of test methodology — Jack’s team was experienced in coding but didn’t have experience in developing reusable test automation frameworks.
Jill’s team spent less time on the initial development of the test scripts and the execution because the consultants were using scriptless test automation workflow available in the commercial tool that also allowed a greater level of reusability.
Jack’s team missed project deadlines as a result of being trapped in the scripting and maintenance phase. In order to expedite the effort, Jack had to engage R&D engineers from another project.
Jill’s team delivered testing frameworks ahead of time and was able to save on her budgeted funds by using seamless functional and performance testing offered in the commercial tool.
Jack ended up spending additional budgeted funds to complete the project with delays. His position in the company was jeopardized, and the company hired a team of experienced test automation engineers to continue the process.
Jill was able to complete her project within budget despite the initial cost of consulting services. The consulting team was able to deliver test automation without any disruptions.
The Three Main Test Automation Factors
What’s the conclusion we can draw from this hypothetical scenario? When creating a test automation culture, you need to look at the three main test automation factors: product, people and process.
In order to run successful test automation practices, you will need to choose the right test automation product, or tool. Then you will need to have the right people to use these tools. And finally, you will need to establish the right test automation process for your organization.
When choosing a testing tool or product, you first need to make sure that your testing tool can automate applications that you are planning to use — ideally, any application under test (AUT).
Next, you need to consider how easy it is to use the tool. You can choose a testing tool with either a scriptless or scripted approach (this will depend on your and your team’s skill set).
Another important factor to consider is just-in-time testing, or how quickly you can be ready for test execution using the tool you choose. This is especially true if you are supporting testing in an Agile development process. Your tool should offer just-in-time parallel execution.
The second factor to consider is people, or the team that will be doing your test automation. When forming test automation groups or teams, you would like to engage people who already have experience with test automation or some form of scripting and understand your business requirements.
The third factor is the process. The test automation process is very important; it’s like rules for a game. The process should establish the test automation format, change management and the schedule (these rules should meet the development and release schedules in your organization).
When creating a test automation culture, it is crucial to begin with the help of experienced professionals and technology in order to allow you to achieve your goals in an efficient and robust way.