Why would you start Test Automation?

After working in IT for several years, seeing the common pitfalls when build and releasing software I just wondered what is your experience?

  • Have you seen defects go back and forth between a test and development department?
  • Have you seen a delivery to production with lots of defects?
  • Have you seen a delivery to production with a lot of stress from the team or other departments?
  • Have you experienced downtime during or after the release?
  • Have you heard testers complain they cannot test everything on time?

If you have answered yes on one or more of the questions up here. Ask yourself the next question as well…

Have you accepted that the team did NOT spend time on test automation?

Did you push the team to focus on functionality instead of quality? Other side, did you accept that a product owner, manager or whoever pushed you or encouraged you to skip creating tests?

Together we are responsible for delivering high quality, reliable software on a sustainable pace. The only way a team is able to do that is by automating tests. Else now way they have enough time to test the entire application over and over again each time they want to ship it.

To illustrate what can happen when you do not automate your tests I have made a small animation.

When you look at continuous delivery you often see six stages, were the last one is production. In the animation you see five conveyer belts for each stage towards production. Take your time to look for the details in the animation what do you see happening?

  • The box is upside down and no body notice it. When you do not have your tests automated an error like you can miss this because time is limited or the pressure to release is high.
  • Second step an integration test takes place. The small boxes fit, but the big box is expanded to the right. Another error that can be missed when you do not have the time to test the entire application.
  • The third step is an exploratory test. But in this case, a butterfly can distract people. In real life this can be anything so an error can me missed easily.
  • Fourth step the user acceptance test takes place. I see a lot of situations where there is no customer involved to test or the “business” does not have time to test.
  • The fifth stage is were load an performance tests should take place. But in many cases that is the least of the teams worries so they don’t take place at all.

The result is a crappy product with unhappy customers. It is scary how often this extreme example is reality.

So what is to gain?

So what possibilities do you gain when your test automation is in order? Well, I also made an animation for that scenario as well.

Take your time to look for the details in this animation as well. What do you gain when you do automate your tests?

  • The quality of your product increases. You still need to have test expertise, not to repeatedly do manual tests but to make sure the right tests are automated to reduce the risk on failure in production.
  • A very important result of automating your tests is fast feedback. You can prevent something from going to production because wrongs come out every step of the way. Result is better quality, a more stable product and reduction of costs.
  • Exploratory tests can go down to some random check every now and then to validate stuff that is hard to automate. It is also wise to do this when you release large new functionality.
  • Validation by customers/business is still interesting but also could take place earlier to fasten the feedback loop.

Beside al benefits mentioned earlier also the barrier between development and test can go down. Because developers and testers need to work together to think about what and how to test. This helps breaking down silo’s that exist sometimes even within scrum teams.

So I think my message is clear. Time spent on test automation is time well spent. Focus on the long term, what is the lifetime of this application? How often are we going to expand or change functionality? Then decide if it is smart to skip test automation to reach that deadline…?

Kind regards,

Pieter Versteijnen

Previous articleStarting TDD with legacy code
Next articleTest Automation – Where to start?
mm
Hi, my name is Pieter Versteijnen, married and father to two sons. At DevOn, I work as Technical Agile coach. This means that I, besides coaching teams in Agile/Scrum, also support teams on technical aspects such as setting up a Continuous Delivery pipeline. I also facilitate TFS related training courses, Test Automation courses and several Agile/Scrum foundation training courses. When I'm not working, I like to play tennis and working on, or of course riding my motorcycle. Training courses: Continuous Delivery training, Dealing with your legacy code & Continuous Delivery training, Scrum and Team Foundation Server, Automated builds with Team Foundation Server, Source control with Team Foundation Server, Work item management with Team Foundation Server, Test management withTeam Foundation Server, Scrum framework training.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

*