Test automation approach

Test automation approach

There are many reasons why automated testing is beneficial like shortening development cycles, avoiding cumbersome repetitive tasks and improve software quality.

I am often being asked – What is your approach to test automation?

The short answer - It depends on many factors like test frequently and repetitiveness, time savings , the cost of automation/maintenance, solution complexity (architecture, technology stack, integrations), team skillset etc.

        There is no “one-size-fits-all” approach

However, there are a number of best practices that could help you to ensure that your testing is successful and you get the maximum return on investment. These best practices are a successful foundation to start improving your software quality.

Calculate ROI and efficiency of automation before your start. If you don’t perform ROI calculations upfront for any project then you might not fully understand the costs of their automation effort like what types of automation you should be doing vs. what you are actually doing, and what strategies to follow to maximize their return. The best applications for implementing automated testing are when the tests are repeatable and it’s necessary to run them many times. This is also known as regression testing. Not everything can be automated, and there’s no need to try to abandon all manual testing because there are things that just can’t be automated. Sometimes it is simply easier to run something manually than automatically.

Define your goal/success criteria for automated testing. There are a few different types of testing, and each has its place in the testing process. It would be a good idea to validate your automation testing against a number of runs, whether it does real testing, finds defects and saves time.

Define which test cases to automate. It is impossible to automate all, so it is crucial to determine what test cases to be automated first .You can get the most benefit out of your automated testing efforts by automating:

  • Repetitive tests that run for multiple builds;
  • Tests that are impossible to perform manually;
  • Tests that take a lot of effort and time when manual testing;
  • Frequently used functionality that introduces high-risk conditions; 

Automate as many low-level tests as possible. Follow test pyramid concept developed by Mike Cohn. It shows how you should maximize automation, starting with your unit tests at the lowest level of the pyramid and moving on to service level testing. User interface testing sits at the very top. Unit tests are fast and reliable. The service layer allows for testing business logic at the API or service level, where you're not encumbered by the user interface (UI). Don’t start automation with a Selenium web driver otherwise, your risk to burn all your budget for testing.

 Select the Right Automated Testing Tool.   Identification of the right automation tool is important to ensure the success of the testing endeavor. A detailed analysis must be conducted before selecting a tool. The selection of the tool depends on different factors such as:

  • The application and technology stack which is to be tested;
  • Team skillset;
  • License cost of the tool;

Hire automation QAs. Really? Yes, you need someone who has an expert knowledge of scripting languages and can build a solid, sustainable framework. Test code should be treated as a first-class citizen, in the same manner, as the production code so don’t just pass automation tasks to manual testers. I would not recommend passing those tasks to developers as well. QA Engineers are not inferior to software engineers, but they are not the same either so don’t expect either too easily steps into the others role.

Usually, QAs write test code to verify higher-level integration scenarios that are UI driven. In turns, the developers trust that the QAs know what they have to test at the higher level and the QAs trust that the developers are testing 'the right stuff' at the lower level.

Conclusion

Test Automation, has its own challenges, but when executed properly can bring great benefits. The test automation practices described in this article are by no means a complete list but If you follow them and invest in test automation, you will be able to build, test and deploy your software with production-like quality, in a production-like environment, every single day.

要查看或添加评论,请登录

社区洞察

其他会员也浏览了