Leaving manual testing behind

Manual testing does not scale. Just like manual anything doesn’t. This is no news. However, for various reasons people keep doing manual work.

One of the reasons I hear the most is not knowing how. This is a valid motive, but a dreadful one as well. The team will enter a negative feedback loop:

  • I don’t know how to automate
  • I can’t learn how to automate because I have no time
  • I have no time because I have to test manually
  • I have to test manually because I don’t know how to automate

Working with web applications, Selenium IDE is an amazing tool to break this negative loop. Testers have to learn very few things to automate their work by recording a test session.

This is the path that we’ve been following for some time now. And it works. Sort of.

The good

Regression-testing the whole application was taking about a day and a half. It is now taking half a day only, and it is done during the night.

The bad

Having an IDE with nice controls to, for instance, tweak the session’s speed, has its drawbacks. Some tests don’t work if set to full speed. The sessions were recorded with a copy of a live database, so there’s a huge database script to execute before a regression.

The ugly

Automating these tests is really difficult. Selenium IDE can export its scripts to test cases for different languages, but then it cannot open them. Since the testers don’t really understand programming, this is not an option. Tests cannot be run in parallel, since some of them depend on others.

What’s next?

So, one good thing vs. lots of bad and ugly stuff? Why am I writing this in the first place?

I think the good thing is an awesome thing. The team now has time. Time to do research, to learn, to get better. Then the bad and ugly things will disappear.. I hope. And I’ll try to keep you posted.