5 QA Experts Tell You the DOs and DON'Ts of Automation
Automation testing has revolutionized our approach to software testing, by drastically improving the test coverage, increasing efficiency and productivity, and bringing down testing time and efforts significantly. When organizations talk about implementing automation, the first thing that they consider is investing in a test automation tool. However, investing in a test automation tool alone is not enough as there are several factors that contribute to the successful implementation of automation and the tool is only a part of it. So, what approach should one have when implementing automation? Whether you’re starting out with automation or just want to learn a few DOs and DON’Ts that will help you, we have you covered. For, we have curated for you what 5 QA experts have to say on the DOs and DON’Ts of automation testing.
1] Identify your Testing Requirements to Find the Right automation framework
2] Ensure that Your Tests are Really Fast
Nikolay Advolodkin says in his blog, “UI tests are really slow because they run in seconds. Thousands of times slower than unit and integration tests! Even if you do everything perfectly. So it’s really important to focus on fast UI tests in your test framework design.”
Nikolay Advolodkin, Solutions Architect, mentions in his blog that for successful automation, it is key to bring down the testing time. He says that while unit and integration tests have a speed in nanoseconds which is close to the ideal test speed, UI tests can be slow, which in turn adds to the testing time. One of the solutions, according to him, is to find a way to run tests in parallel or simultaneously. “To accomplish a requirement of fast builds. You need small, fast tests, running in parallel. I’m sorry, there is no other way.”, he writes. Reducing the testing time contributes to faster time to market, which is a goal to achieve in today’s competitive market.
3] Focus on Automated Security Testing
Tanya Janca is the Senior cloud security advocate at Microsoft and she insists on the importance of automating security testing when implementing test automation. DAST, SAST, Security Hygiene, 3rd Party components, are some of the components of security testing that she enlists as mandatory. In addition to this, she also stresses on the importance of a Vulnerability Assessment beforehand to allow for sufficient time to resolve the issue, if any. “During the testing phase I suggest doing a proper Vulnerability/Security Assessment(VA) or PenTest (if you need management’s attention), but early enough that if you find something you can fix it before it’s published.”
4] Incorporate AI into the Automation Testing Process
5] Figure Out if You Really Need a Tool
Alan Richardson, testing consultant and trainer, shares how most people who meet him usually ask him for the recommendation of a good test automation tool. However, he says, that is not the only “solution”. Sometimes, all it takes to reach the testing goals is to identify issues in the technique or approach towards testing. There are certain scenarios that don’t really require a tool, and he gives the example of a scenario where one needs the access to data but is not aware of the database to look into. A test automation tool does help, but one must be aware of the technique to use it right in order to get the best benefits.
The Final Word
So, that was about some advice from the experts on successful implementation of automation. Have you already implemented any of these in your testing approach? Do share your thoughts with us in the comment box below.
Meaghan Lewis says in her blog that while choosing a test automation framework, ”The goal is to first identify what needs to be tested and then investigate to determine which framework will best support that testing.”
Meaghan Lewis, Senior Program Manager at Microsoft, tells you why choosing the right test automation framework is important for the success of automation. In her blog, she explains why understanding your testing requirements is very important before you choose the framework. She recommends analyzing about the most important areas you want to test, which includes the highest priority application features. She also stresses on the importance of deciding on who will be the owner of the framework and then build a plan for its successful implementation, as she writes, “… create a high-level plan for how the framework will be implemented. Think about the steps you need to take to get the framework set up, and then consider the scope and the timeline of the project.” The last step is to research to shortlist a few frameworks, analyze their pros and cons and try them out before you choose one.
Nikolay Advolodkin says in his blog, “UI tests are really slow because they run in seconds. Thousands of times slower than unit and integration tests! Even if you do everything perfectly. So it’s really important to focus on fast UI tests in your test framework design.”
Nikolay Advolodkin, Solutions Architect, mentions in his blog that for successful automation, it is key to bring down the testing time. He says that while unit and integration tests have a speed in nanoseconds which is close to the ideal test speed, UI tests can be slow, which in turn adds to the testing time. One of the solutions, according to him, is to find a way to run tests in parallel or simultaneously. “To accomplish a requirement of fast builds. You need small, fast tests, running in parallel. I’m sorry, there is no other way.”, he writes. Reducing the testing time contributes to faster time to market, which is a goal to achieve in today’s competitive market.
3] Focus on Automated Security Testing
Tanya Janca writes in her blog, “… testing should be done throughout the development lifecycle, and not only during the testing phase. We want feedback as soon as possible, to ensure we make a high-quality product that customers actually want. Add automated security testing into your pipeline.”
4] Incorporate AI into the Automation Testing Process
Jason Arbon writes in his blog, “We are about to turn over most test design and validation to Artificial Intelligence (AI). Instead of humans manually creating all the test automation, machines will write and execute test code, and continually improve as they learn from human input.”
Jason Arbon is the CEO of Test.ai and he insists that testing that involves human efforts, even if it is just for writing the test scripts, can be time-consuming as well as expensive. Also, this approach can never help QA teams achieve the level of speed they need to achieve for frequent deployments, and are not even scalable. The solution, according to him, is the introduction of AI into the test automation process. Jason believes that “If we had a simple AI that knew how to walk though the app like an end user (and tester), recorded everything such as performance and kept track of where every button and text box is located, it could generate and execute tens of thousands of test cases in a matter of minutes.”
In his blog, Alan Richardson explains why test automation tools are not always the only solution, as he writes, “A tool works quickly and easily when used for well defined tasks, implemented by out of the box functionality, on standard technology, used as you would expect.”
The Final Word
So, that was about some advice from the experts on successful implementation of automation. Have you already implemented any of these in your testing approach? Do share your thoughts with us in the comment box below.