Now that we are clear on the definition, various testing types, and benefits of automation testing- we want to define some common misconceptions about the methodology.
Automation eliminates the need for manual testing
Many DevOps teams rely on automation to speed up testing as well as reduce human errors, save man-hours, and reduce redundancy. At many of these shops, automation accounts for the bulk of testing. Aditya Ramachandran, Quality Assurance Head at Testhouse supports the statement saying, “About 60% of our test cases are automated and the rest are manual. However, it varies to projects. For applications under development, the test cases are primarily manual and for matured products, the test cases are primarily automated.” Anton Malyy, Co-founder and CTO of TRIARE shares with us, “Roughly it is about 30% manual testing versus 70% automated testing.” Cindy Francês of ArcTouch offers, “Even though people tend to think automation is the solution for everything, it’s not always the case. Some app projects are well suited for automation, others aren’t.”
Automation is too expensive
It is true, the initial investment in test automation can be expensive. However, according to a survey, DevOps teams that make the investment improve product quality and increase time to market. In fact, most respondents indicate they invest between ten and forty-nine percent of their overall QA budget to test automation-related expenditures. Larger companies with bigger QA teams invest up to 75% of their budget into automation. It reveals that those companies investing less than ten perfect are far behind their peers.
Record-and-playback tools are not comprehensive enough
A few years ago, record-and-playback tools probably paled in comparison to tools like Selenium. Fast-forward to the present day and you will find that no code record-and-playback automation testing tools have advanced and disrupted the industry. These tools help the industry by removing the barrier for entry that only highly skilled test automation engineers can do, but now anyone can automate testing. They reduce test case authoring as there is no “writing” of test cases- just point and click. And maintenance is a breeze as some tools use artificial intelligence and machine learning to point out test anomalies.
Aditya Ramachandran of Testhouse explains, “For us, the adoption of ‘no code’ automated testing was critical, especially on projects where Agile and DevOps methodologies were implemented. We found tests a lot more accurate and could extend the scope of automation.” Ramachandran elaborates, “We had more projects during the pandemic, as it triggered the digital transformation like never before. The need for automated testing was quite high. We see that automated testing will be used for everything – performance, load, usability, security, etc. The drive to continuous integration and continuous deployment (CI/CD) will put pressure on automated testing. There will be [an] increase in adoption of AI/ML tools as well. DevOps will be a unifier and enabler.”
How do I start automation testing?
Maxim Ivanov of Aimprosoft states, “In the age of Agile [software development life cycle] SDLC, testing goes hand in hand with development almost from the beginning. Since the primitive stages of development, you should clearly understand when and what needs to be automated. But it is worth applying automation after the user interface is approved so that it won’t lead to scripts failing. We recommend applying automation to check newly added features, re-test them, and identify regression as a result.”
Studies indicate that regardless of company size, all organizations agree that the biggest struggle to start test automation is evaluating and choosing the right tools. Experts in the field share their best practices on getting started:
Seena Ahuja, a Director of QA, explains how to get started, “You could start automation testing by first picking a tool that you’d like to use for automation (Selenium, Ranorex, etc) and also pick a language you’d like to use for coding (Java, Python, C#, Ruby, etc).”
Vlad Anhelov of HelpCrunch explains, “First of all, you need to get a good understanding of programming languages such as Java, Python, Javascript, etc. Then you need to study Selenium. It supports cross-browser and multi-platform testing and is considered one of the most popular automation tools. Once you get a good understanding of the technologies, you can start with regression testing automation. Follow your test checklist and automate it step by step.”
Igor Zaporozhets, CTO & Co-Founder at Aimprosoft explains the various tools his team uses citing, “Selenium WebDriver, Spring, Selenide, Serenity BDD, Cucumber, Appium, JUnit, TestNG, Selenium Grid, Katalon Studio, Protractor, Robot Framework, and many others.”
Are there easier tools to use?