Everyone knows benefits of automation testing. However, starting & managing test automation is a grey area for many. As we (Codoid) are expertise in automation testing, we would like to share our thoughts and guidance to QA Managers & Directors who want to bring test automation in place to test their applications.
How to start automation testing?
If you are new to automation testing then think about Domino Toppling. You need to practice with small Straight Line formation and turns before setting up a large number of dominoes to topple.
Test automation script is a code. It needs to be created and maintained by people who has already mastered automation testing. If you have a right team with appropriate test automation skill-set, then they need your (QA Manager & Director) support to plan and kick-start automation script development.
You will not fail in test automation if you are starting with mix of both Non-programming testers and Automation Testers. Hand pick testers who need automation tool training before starting the project.
We mitigated several failed automation testing projects. Most of the failures are due to poor setup of framework and lack of technical skills. For QA manager who is new to automation testing, it is a challenge to ensure whether the test automation framework is setup well or not.
Test automation framework is also an application and it is going to test another application's functionalities. So testing your framework before script development and ensuring the required framework features are implemented correctly are the important steps to succeed in automation testing.
Important points to be considered while setting a test automation framework.
- 1. Implement the Page Object Pattern - It is to represent each page in your application as an object
- 2. Use Cucumber or Any BDD framework to enable DSL
- 3. Framework Configuration - This is the section where you can have URL for all the environments, Object Wait Time, and other common configuration data
- 4. Setup Multi-browser compatibility
- 5. Framework Logs
- 6. Reading Data from Excel, Yml, Json, and XML files
- 7. Compatibility with Mobile device platforms
- 8. Setup and Teardown Methods
- 9. Reporting with screenshots
- 10. Email Notification
- 11. Design Patterns, Clean Code methods, coding conventions
If everyone in the team delivers automated test scripts with different design patterns, then those scripts will trouble you during maintenance.
Following automation design patterns and best practices ensure that when something changes in the system under test, only one test component needs to be updated. A simple documentation with dos and don'ts and Script Reuse Guidelines will help a lot.
Maintain your automation code as same as your application code. Never merge your newly automated test scripts into master code without a review.
QA Manager's participation in initial review meetings helps to understand how the functionalities are getting automated and DSL enables effective collaboration among testers and other stakeholders.
Make Your Test Automation Efforts Visible
Automation testing provides quick feedback and avoids error prone testing. How to measure the success of test automation?
Metrics collection from the beginning will help to measure the success.
The following measures are sufficient during initial phase - No. of defects identified by automation, How many times your automated regression test suites have been executed, and No. of test cases automated & pending
Make your test automation efforts visible to top management on bi-weekly or monthly basis to get consistent support.