Test automation is often perceived as expensive or difficult. But it shouldn’t be. There is a lot of automation software that is easy to learn, cheap or even free to use.
Nowadays organisations are working more and more Agile, often through Scrum. Which means the rate of deployments goes up and so do the number of times you have to do regression testing. In the first 2 or 3 sprints it’s rather easy to keep up with the delivery rate of new features. This is because the product is still relatively small, so.... not much regression.
But after the 3rd or 4th sprint the product gets more shape. The features it contains will have grown to a point where it takes a great deal of time to do a good regression test.
The regression set gets bigger and bigger and the time spent on regression testing will increase very fast. This results in a longer wait for the new feature to be done. And that increases time to market. This could be solved by automating your (regression)tests. In my opinion a real obvious choice. Yet it isn’t for businesses. They tend to over-think the usage of test automation, time wasted in my opinion. Just do it !
Start today !
In my opinion, there is no need for cold feet when it comes to test automation. There are a lot of tool options that are easy to use and affordable, some of the tools are even free! For example: Selenium is an open source and free to use tool you can download as an add-on for Firefox. A very easy record and play back tool for websites you can start using within minutes. Just do it ! So apply, engage and implement. When working on a product that involves websites the testers should download Selenium or another equivalent open source tool the minute they start on the first sprint. Why ? Because that way, the team starts learning about test automation from the start.
There are more free or cheap tools. All with their own usage and goals :
|Unit test||JUnit, Mockito, Easymock|
|Performance test||JMeter, LoadUI|
|User interface / Web||SeleniumIDE, Firebug, FirePath|
|Security||ZAP, Webscarab, Burp Suite|
|Services||Soap UI, CURL|
There are tools you can use for other than just test execution. Here is a list of some of the tools I know:
Application lifecycle management
|Trac, Jira, Bugzilla|
|Software Configuration Management||SVN|
|Build tools||Maven, ANT, Gradle|
|Continous integration||Hudson, Jenkins, Bamboo|
|Deployment||Hudson, Jenkins, Liquibase|
Which tools the team uses differs between teams and the team should have a big say in deciding which tool to use.
In my testing career I noticed that there is a group of “old school” testers. These testers are used to execute test manually and aren’t used to automate test execution by default. For them, the learning curve is steep to learn with test automation. If it’s too steep it could result in a bad experience resulting in the loss of having fun and eventually the tester loses of interest will go back to what they are used to: manual testing.
The solution is to start with tools that are cheap and easy to use. It will allow your team to switch between tools more easily due to the low costs and don’t need programming skills or a training to even start working on it. Give the team room to explore, fail, experiment and learn so they can make a better choice of tools that are really beneficial. Making the automation more cost efficient. Test automation is something to think about for the long term.
Share & Grow
When using tools and test execution gets automated people get the hang of it. When they will get a better understanding of automation they will learn other things as well. Like creating new ways to improve existing test cases. Or see new opportunities for the use of better or other more professional test tools.
“Acquire the more expensive toolsuites, based on experience with the free ones”
To use this effectively, let different teams share their knowledge with other teams . If they like their tools they’ll probably want to talk about it , share their knowledge with others, tell other people and teams how well their tools work. Support this and let them share their knowledge so the teams learn from each other. So share and Grow in the process.
So start small and simple, apply, engage, learn and share. Don’t try to build Rome in a day !
Jos Punter is an Agile-crazy test expert with a love for test automation.
This blog was first published on Sogetilabs