Q)What are the Best Practices and Strategies for Test Automation?
A)Below are some best practices & strategies for Test Automation:
1.Hire a Dedicated Automation Engineer or Team:
This is a basic thing to do. Don’t ask your manual testers to indulge in test automation. If you do want them to do test automation, then free them from manual testing work. Test automation is a full time job. For this you need dedicated resources.
2.An automation tool is important, but it is not the solution of everything:
Selecting the right tool is just the beginning. Tool make the process easier. But you need skilled resources to complete the process.
3.Select the automation tool which is familiar to your resources:
If your resources are familiar with C# and your application to be tested is also developed in C#, then there is no point selecting the tool which does not offer C# to write scripts.
4.Know the application being tested:
The tool selection depends heavily on the technologies used in your product. Know your product inside out before starting the automation.
If it is a web application, know the browsers it will support. Know the technologies being used in it. If it is a desktop application, know which language is built upon. What third-party controls are being used in the application. This will help you make the tool selection and future automation easier.
5.Good Automation means good manual test case:
Nicely written strong manual test cases saves us from automating those test cases which are easy to automate but weak in finding defects.
6.Identify opportunities with automation:
If you are handed over with a manual test case to automate, don’t just automate that test case as it is. Instead, find further opportunities in your automation, to expand the scope of this test case.
7.You cannot automate everything:
Automation means running fewer tests more often. You have to start small by attacking your smoke tests first. Then cover your build acceptance tests. Then move onto your frequently performed tests, then move onto your time taking tests. But make sure every test you automate, it saves time for a manual tester to focus on more important things.
8.Automation is software development :
If you develop a quality software, it needs best practices. It needs code reviews to write quality code. It needs a framework or design pattern to be followed. It needs constant maintenance.
Automation is basically software development. So all best practices you follow when you develop a software should be followed in doing automation. Automation Framework should be there. Code Reviews should be done. Bugs of automation should be reported in bug repository. Source Code of automation should be placed under a source control, etc.