Development
Hello fellow reader, today we’re going to talk about the importance of automated testing. If you’re still testing all your products manually, and don’t see why you should switch to automated, keep reading.To be clear, there are several situations when manual may be more suitable than automated testing, however, situations like that occur much less frequently.
These are the cases when manual testing may be more appropriate than automated:
To elaborate...
Starting a new project — nobody expects QA engineers to develop automated tests by heart, especially when starting a new project. First, they get familiar with it and test it manually. But why wouldn't they, based on everything they gathered, continue the project with automated testing?
Short-term and small projects — it may seem more logical to go with manual testing when the project is small, but wouldn’t it be nice to automate the key features? That way, the functionality could be checked, within seconds, any time.
Human factor — you may think the human factor would be fully absent from automated tests since they’re performed by small robots in our computers. 😄 But that’s not completely true. Especially not to the extent where you should give up on automated testing. Anyways, one of the first steps in developing automated tests is to manually test the features that will, later on, be automated. So the human factor will be present, one way or another.
Unstable environment — the beginning of a project usually means a lot of changes in requirements and features that’ll be done later on, so I understand that it wouldn’t make sense to develop automated tests at that point. But that doesn’t mean you shouldn’t invest in developing automated tests later on, in a more stable phase of the project.
The right tools — depending on your wishes and the project you’re working on, sometimes it’s difficult to find the right tools for developing automated tests. But if something is difficult, it doesn’t right away mean it’s impossible.
After rethinking the situations above, you’re ready for the next step - getting familiar with the benefits of investing in automated testing.
Sounds compelling, right? Let’s dive into it a bit deeper though.
I’m aware of how a large investment would initially repel anyone, but if you stop and think of it as an investment in the future, then it should do the opposite. I’m sure you’ve heard of ROI (return on investment). Well, that’s what you’re trying to achieve here. So, not only will every penny you invest pay off, but you’ll also save time.
Take a look at the graph below.
The initial investment is always higher, but less than halfway through, you see how much you’re saving. This is when your period of happiness begins. 🤗
Do you still want to invest less in the beginning, only to invest more later?
The main benefit of detecting errors early on is saving money. It’s a well-known fact that fixing an early detected error is much cheaper than fixing errors detected in the later stages of a project. After implementing new features, but before testing them, we normally apply a so-called Smoke test that confirms that the key, most important features in the app are still functional. The manual performance of the Smoke test can take up to 15 minutes, and sometimes there's just no time for it. By automating the Smoke test, your QA team will be able to run it any time and detect potentially new defects early on.
Do you still think investing in the development of automated tests does not save you money and time? 💸
As much as people strive for perfection, we’re still very human. And it’s a human thing to make mistakes. Especially when we’re surrounded by external factors that affect our work.
Unlike humans, automated tests are not affected by:
Although there is constant talk about the importance of the human factor QA engineers bring to the table, sometimes it’s the human factor you want to exclude.
Automated testing has been proven to work faster than manual - certain studies show it makes an astonishing 70% difference.
To back that up, I’ll talk about something called a Regression test. It’s an indispensable part of Quality Assurance, everyone wants to be conducted as often as possible. On average, depending on the size of a project, the Regression test takes over 2 hours. Apply simple mathematics into that equation, and you can conclude how a manual Regression test, that lasts for about 2 hours, if automated, can last under 70 minutes.
And please don’t start with the whole “but how much time do we lose on developing an automated test”, because the time spent developing it, is incomparable to the time and number of manual Regression tests, that will be performed.
Do you still think investing in automated tests is unnecessary?
Don't worry, manual testing is still on the table, but it’s important to find a balance between manual and automated and to choose the right way when necessary. When developing any product, it’s important not to skimp on quality, and to look at it from a long-term profit perspective. Investing more at the beginning of the project is not insane - it’s actually quite the opposite. You’ll be investing in a future of faster, greater, and more accurate testing.
So next time you find yourself in a situation where you could invest in the development of automated tests, think of me. I mean, of all the benefits I’ve just listed for you. And let me know how it goes. 😊
Ivan Hmelik is a Quality Assurance Engineer. In addition to dealing with manual testing, he has strong interest in the field of developing automated tests. Outside of the Quality Assurance world, he loves hanging out with friends and watching sports.