These days, there’s hardly a successful product development manager around who doesn’t appreciate the value of a good Quality Assurance team. It’s how you ensure higher quality, even while you’re still ironing things out in the initial stages of development.
But your Quality Assurance (QA) team can get bogged down by certain forces that work against them. The current market, competitive and fast-growing, forces companies to aim for high quality in their products but in increasingly shorter periods of time.
Why QA Pros Love Automated Testing
In a super-competitive environment, development teams have to grow and work even faster to meet their estimated deadlines. The friction begins when there’s a product which requires a lot of testing time but only a small manual QA team to carry that out. It’s basically a question of limited resources combined with tremendous pressure to deliver.
In cases like this, test automation is a great tool and a big step forward for the testing team. But it’s not the final solution that some make it out to be. While automation saves valuable time, there are a few things that are best handled by a manual QA process. Knowing which parts of the testing can be automated is the trick. Here’s my experience, explaining how I adopted automation and how it worked. Maybe it will help you to learn about test automation and whether it’s right for you or your current project.
Shifting From Manual Testing to Automation: a Case Study
My experience with transforming QA manual to automation is similar to the example above. The product was growing and so was the development team but the testing team… not so much.
Meanwhile, the regressions that were carried out every 2 weeks were becoming very long and cumbersome. This meant the “OK to go to production” was becoming more and more delayed as we struggled to keep up. Under these circumstances, where the pressure was building, it made perfect sense to combine manual with automated tests. Here’s how we divided up the work between the two methods:
- Manual Tests. We used manual testing for tasks that were oriented more than anything to visual elements (aspects of the elements on the screen as well as their positioning)
- Automated Tests. We automated the testing of expected behaviors that never change (elements that must be present depending on the screen, correct prices, etc)
This worked and we were able to accelerate our regression time. This allowed our manual testers to dedicate more attention to the new features that were emerging and add to more coverage on the existing tests.
In my particular case, I was lucky to have a programming background that allowed me to carry out this process more quickly. But there are other cases of testers who do not have that foundation and for them, the change toward automation can be a bit more difficult. It only adds to their frustration, especially when they start to feel the pressure of the release dates closing in on them.
For this reason, I encourage any manual tester to get some programming under their belt. Even if you’re not currently involved in an automation project, there’s a pretty good chance that someday you will be. As for which language to study, I suggest C, Java, C #, etc. This will not only help you if you want to dedicate yourself to automation, but it would also give you a wider knowledge of testing and a deeper knowledge of the product you are working with.
“Getting some programming experience will give you a wider knowledge of testing and a deeper knowledge of the product you are working with. It will get you closer to your goals and faster”.
Esteban Tedesco, QA Analyst
Here’s a little more about automation. It works here in our offices in certain circumstances but only you and your team will be able to properly gauge whether it’s right for your projects.
The Pros and Cons of Testing Automation
Here’s a quick run-down of the pros and cons of testing automation.
- Speed. One of the more obvious benefits of testing automation is greater speed in testing when compared with manual testing.
- Reliability. Then there’s reliability: automated tests execute the same operations every time, eliminating human error.
- Repetition. Another important point is that the tests can be run many times, testing how the software reacts under repeated tests.
- Reuse. And finally, the scripts can be reused for future tests, thus saving lots of time that otherwise gets eaten up when you’re creating new cases.
On the other hand, automation isn’t the end-all-be-all. What I mean by this is it still requires people who know how automation works and who can write the scripts and keep the tool running so it meets the needs of the project. Then there’s the source code that must be maintained by someone who can program. All this can really eat up resources.
Plus, automation tools can’t measure the usability of the application. The end product is, after all, going to be used by real humans in real-life scenarios. No tool can give the human perspective that a manual tester offers (and if you read our blog regularly, you’ll know that’s definitely not something you want to omit from the development process!).
Automation falls short in another area, too: manual testing offers more dynamism at the time of testing. This is especially true at the beginning of product development and for short-range projects since automation requires more processing time compared to manual testing.
Aim for the Perfect Blend
As you can see, automation isn’t the final solution for busy testers. But it is nevertheless a valuable resource for those who work in quality assurance. The trick will be for experienced and knowledgeable testers preferably with a programming background, to combine automation with a manual approach.
100% automation is not the goal.
You’ll never get to a place where you’re testing every single line of code but automation will get you closer to your goals… and faster. Combining techniques means you accelerate the process without losing the human touch.
The Future of Test Automation
Automation is growing. In my opinion, it is a big step forward both for the industry and for QA professionals. If you’re in QA, it’s good to know there’s currently lots of demand for automation specialists. You could even think of it as a career step from tester to developer, allowing you to grow your career within the IT market. That’s good for the projects you work on, and it’s good for you!