Tuesday, April 4, 2017

Manual testing is stealing from the future.

Often when arguing with testers about what to automate and what to test with manual scripts, my point of view is very simple. You will automate ALL the things. The tests, the builds, the testing of the tests on the builds, code quality tooling, the deployment further down the chain, the testing on the chain and if all is green after this firework, the deployment to production and turning it on for people to see. This is not some strange future alien technology thing, it is real and companies that are willing to invest are already doing this, keeping them in front of the hordes of competitors.

The most common arguments against doing full automation, always come down to the same things.

You cannot automate everything.
Yes, you can, but it might not be easy and it is very possible that your current testing workforce is simply not capable of pulling this off. Running manual tests is very tempting when you have been doing it for years, test automation might be scary, threatening or complex for those stuck in their ways. To these, I would like to say: either adapt by learning new skills or get out of the way please, you are holding up progress.

Test automation takes time to get set up.
Exactly, investment in time is needed, all the more reason to start today! Every day you wait is a day lost in the face of a deadline that is always around the corner.

Automating things is expensive / slow / we don't have the people for it.
Seriously, this is the best you can do? When you fire 10 manual testers and hire 2 test automation engineers who are worth their salt, you will have money left over. It is fast in execution and after setup can be repeated every build without added cost. And if you have problems recruiting people who can do this job, either train your workforce or offer higher compensation. We are talking software QA here, you want to cut corners on that and deliver buggy software? That is fine, but do not expect sympathy from anyone who did not want to work for ultra-low wages.

Our project has two weeks of regression testing and bi-monthly releases, there is no time to do any automation.
Change asks for investments. Either you do less manual testing and move people to the automation team or you spend money to speed up regression testing in the future.

And that last point is where the title comes from, all manual testing you do are taking time and people away from a better future. For every manual test executed, it could also have been automated. Once automated, the next run is without cost to your testers, so they can automate another and another and work away on that huge pile of technical QA debt you build up over the years.
When writing tests in an automation framework, your people become more trained in doing so, asking them to put the automation effort aside and do a quick manual test, or long manual test period, will hinder them in acquiring the skills to write testcases faster.

If you want to do test automation, accept these points:

  • A test automation engineer has higher pay than a manual tester, test automation is hard. Not every one is suited for it.
  • Test automation takes some time to get started, when running it can run a zillion time without added effort.
  • Automated testcases are pieces of software that fit into the project, when the project delivers code, some tests will change and require maintenance.


Test automation is the future and the future has arrived. Please don't steal from your own future.

No comments:

Post a Comment