DevOps without Test Automation = Coffee without Cream, Peanut Butter without Jelly

Insyirah Amirul
3 min readDec 21, 2020

In organizations where Agile & DevOps are not being practiced, software delivery process includes the development team passing a release candidate to testers every a few months or so. Testers will then try to validate the application as thoroughly as possible. Even with a long timeline and infrequent changes, they are already racing to keep pace.

With Agile & DevOps, organizations are releasing much more frequently, pushing the traditional testing methods to their breaking point. Without effective test automation, DevOps means either:

  1. Getting feedback at a snail pace — DevOps becomes less efficient & effective.
  2. Continuously delivering bugs to your user.

To prove the first point, here’s the result from a survey conducted by Gitlab to find out the biggest source of delays in software development.

When it comes to testing in DevOps, delays are more likely to happen when test automation is not in place/yet to mature. Here are two common scenarios that might be relatable to some of you.

Scenario 1

Manual testers are responsible to validate changes every time the developer deploys a new build during a sprint. The validation will involve functions related to user stories/bug fixes within the sprint’s scope. That’s pretty much what they can cover. “Everything else”, will be deferred until towards the end of the release. In this scenario, the team is pushing the biggest testing effort downstream. Hence, their release is more likely to be interrupted with issues that are found too late.

Scenario 2

Development team and product owner always end up staying up late because deployment could take hours to wrap up. The problem is not off-hours deployment, but LONG deployment. Since the application is big, the team needs to wait for at least 1–2 hours just for the post-release testing result, in case the build needs to be rolled back or re-deployed (and another round of testing will be needed).

No doubt, that’s painful. So how..

Source : https://www.quoteslyfe.com

Test automation comes to the rescue!!

The main benefit of test automation is to address the issue in the first scenario. Automating your test allows you to test the “everything else” earlier and frequently. The idea is, once you automate a percentage of your regression test, every new build deployed by the developer will trigger it. You get immediate insight on how your application’s critical functions are behaving.

Some organizations are willing to go the extra miles by having another version of test automation script to run on production. In the eyes of many people, this could be risky. To me, it could be a great help if it’s done right.

Testing, in any kind of industry, is an activity that does not directly add value to the product/service. In software, more often than not, it is a major stumbling block in the value stream. Look again at the survey’s result, it’s not an unfounded rumour. But we can’t ignore the fact that it is necessary.

So if we want to safely deliver features faster, we need to learn to test faster.

--

--