? QA Design Gurus: Choosing right Automation Tool and Framework for Agile Process

Apr 29, 2015

Choosing right Automation Tool and Framework for Agile Process

In last topic I  have discussed about major QA challenges in Agile Process. Now in this read up I am going to share about the factors to be considered while choosing automation tool in agile process.

Based on the challenges mentioned in previous post, QA start thinking of automation. If we have proper automation,we can overcome most of the challenges. Also if the chosen automation tool does not meet QA requirements then it would be really painful and instead of we achieving solution for problems, we will be just spending time in fixing the automation scripts
issues or just keep the scripts aside and do manual testing. So finding the right agile automation tool is therefore incredibly important if agile teams are to have a bug-free version of the software with each iteration.

Now another biggest challenge is which tool you have to choose for automation and on what parameters.


Every automation tool has its own advantages and disadvantages. So it is up to the team on what basis they decide(But my strong feeling is automation tool should not be chosen based on the popularity of the tool but should be chosen based on the automation requirements)

Below are the key points that have to be taken care for choosing right tool

Points to be consider for building Test frameworks 
1. Continuous integration
2. Integrating with infrastructure. (like build integration tools, Email etc)
3. Error Handling
4. Scheduling
5. Easy to expand, maintain, and perpetuate
6. Code Reusability
7. Executing Tests
8. Folder Structure

Out of box support for Common Features 
1. Ease of use/Easy interface for creating tests
2. Scripting Language Used
3. Object Identification
4. Scheduling
5. Debugging
6. Maintenance
7. Error Handling/Recovery Scenarios
8. Licensing Models
9. Support for various types of test – functional, test management, mobile, performance etc.
10. Distributed Testing and then Collate the reports to Single file - Spawning test across various machines and then run the tests.
11. Email Integration - Does the tool inbuilt has email integration for reporting results
12. Integration with your other tools like Test Management tools, Project Planning, Build Infrastructure, Bug Tracking system etc.
13. Capturing Logs
14. Good Support assistance
15. Database Testing
16. Image Testing
17. Advanced features in Paid versions.
18. Extensibility - Can we extend current classes to support any specific functionality which can't be in case achieved out of box?
19. RAM and Hard disk space required. For INstallation as well as while running suites.

For Web Automation
1. Web Technologies
2. Browser Compatibility
3. Parallel execution - In one system in multiple browsers or in Multiple Systems
4. Identification Logic
5. Cloud Support
6. Headless support
7. Runtime Environment.

For Desktop Applications
1. Platform Dependency

For Mobile Applications
1. Mobile Support(Android/iOS)
2. Simulators
3. Real Time device testing (ex: Look at Telerik which will actually run on real devices)
4. Support for multiple device testing at same time.


Some of the best Tools for Automation
Selenium, Sahi - for web testing
QTP - For Desktop applications

So Better the automation tool and framework, better the product quality and better test engineer life :)

No comments:

Post a Comment