Centric connect.engage.succeed

Don’t Go Insane with Automated Testing

Written by Lucian Bara - 29 August 2018

Lucian Bara
Not sure how much automated testing is too much? Lucian will tell you all you need to know about how to make the most of your time and energy.

A long time ago (like 5 years or so), in the land of software testing, everything was milk and honey. But since everything tends to evolve over time, the land of software testing started to change. Manual testing started to grow into a new form of testing called automated testing. Everyone started to see automated testing as a knight in shining armor and manual testing as just some dirty hard-working peasant. The problem we have nowadays is that we have more knights in shining armor than hard-working peasants. As we know, wars are won through hard work and dedication. We shouldn’t waste time cleaning armor when we could be training the peasants to fight better and more often. But enough with the storytelling, let’s get serious and see what exactly is happening in software testing today.

What is happening now

I have been seeing a lot of frenzy related to automated testing, starting with the people joining the internships in QA. They have no knowledge whatsoever of the testing field but they immediately want to write automated tests. I know, I know manual testing can be boring sometimes, it can be time wasting, but we can’t forget our roots. We can’t lose the pleasure of doing manual tests. I see more and more sad testers who are stressed more about writing automated tests than in finding bugs.  We don’t give enough time and importance to manual testing; most of the time we are concerned more about the quality of the code of the automated tests. Things are getting extreme: testers are working more on code quality, applying all kinds of complex programming principles, and making sure that they respect all the coding best practices while forgetting about one of the advantages of automated testing: creating more time for the tester.

Testers started to brag about the number of automated tests they were implementing instead of bragging about the number of bugs they were finding on the project. They forgot that the quality of the application is not improved with a huge number of automated tests, but that quality is improved through manual testing. The imagination of the tester, the exploratory testing, the weird and sometimes stupid negative scenarios, all these can improve the quality of the application by finding and fixing bugs in the darker corners of the application. The end user doesn’t care about the happy flow, doesn’t care that he shouldn’t do things wrong; he pays for the application and sometimes he expects to be able to do anything he wants in any way he wants.

Be aware of the monster automated testing can become

If automated testing goes mad, it becomes a monster. It will eat your workday and you won’t even notice it. Instead of finding bugs, you will work on fixing an automated test which is failing but not because there is a bug in the application but because there is a sum of other factors like environments, configurations, settings, frameworks problems, code errors and so on. 

You are not a great tester if you know how to write automated tests, you are a great tester if you are not afraid to get dirty, you are not afraid to break a sweat finding that holy grail of bugs in your application. Applications are becoming more and more complex, programmers and architecture are becoming better and better and testers need to work more if they want to find bugs. We need to invest time in doing exploratory testing - taking this part of our creative software tester skills to the next level.

Dark clouds were hanging over my project when I started writing automated tests. All the tests were passing but somehow I had the sensation that it was a false sense of quality. Deep in my heart I wasn’t happy with the way I was testing the application because most of my work capacity went to automated testing.

Be a happy tester

Here is some advice for anyone who feels that they are investing too much time in automated testing:

  • Always give yourself time to do manual testing until you feel you are finally happy with your results and the bugs found.
  • Make automated tests as simple as possible, independent and error prone.
  • When deciding to write an automated test first think if the test will work for you and not you for it. Don’t become a slave to your tests. Only automate the important test cases and the ones you use for regression testing.
  • Invest in exploratory testing. Create your own way of doing this and let your imagination go wild.
  • Create a balance between manual testing and automated testing. There is no set number for this. You need to find something that suits you and the project. Leave time for exploratory testing.
  • When you don’t have enough time to finish testing (in a proper way) leave the automated tests for later.

There is some evidence that something is happening in the software testing field: there is more focus on exploratory testing and teams that, until now, focused on automating as much as possible. They are now realizing that this is a distraction from what really matters.

So, dear testers, let’s go back in time and regain the joy of testing. Find that moment of happiness that only a bug, found by coincidence in a part of the application which seemed to be bug free, can bring you. Make testing fun and creative again!

       
Write Your Comment
  • Captcha image
  • Send