Test Automation is most happening part of software testing. lot of new tools, frameworks are being developed and used by the various software industries. Test Automation plays important role in agile environment where software delivery span is small. now a days test automation start in initial phase of SDLC itself to leverage the benefit of test automation. For test automation we need software automation tools to automate the test cases. In this post we are going to look at various tools with the help of which we can automate the test cases.
1) Selenium:
Selenium is one of the most famous open source automation tool in the world. Selenium was originally developed by Jason Huggins in 2004. later on ThroughtWorks developers also join him to develop it further. The name comes from a joke made by Huggins in an email, mocking a competitor named Mercury, saying that you can cure mercury poisoning by taking Selenium supplements. Selenium is Website test automation tool. it also helps you to test the mobile application which has webforms.
Website: http://seleniumhq.org/
Tool Cost: Free (Open Source)
Object Identification Technique : DOM
Lets talk about the Technical Capabilities of it. Selenium has 4 components
- Selenium IDE: Selenium IDE is Record and playback tool which helps Tester to record and playback the script. It is Firefox plugin and it does not available for other browsers.
- Selenium RC (Remote Control): Selenium RC is also called as Selenium 1. Selenium RC is older version of Selenium. now a days it is rarely being used. Selenium RC has javascript based which is used to execute the commands on the browsers.
- Selenium Webdriver: Selenium Webdriver is also called as Selenium 2. this is latest version of Selenium. it has much improved Selenium API. now it uses internet browser’s automation mechanism to execute the commands on browsers.
- Selenium Grid: Selenium Grid provides the test execution mechanism to execute the test cases on different machines.
Main Advantages:
- Open Source
- Big user Base
- Robust
- support variety of scripting languages.
- also supports only webform based mobile applications
Main Disadvantages:
- It only supports Web and limited mobile applications
- More scripting required as it does not have IDE
- having limitations on automating custom controls, flash controls.
Overall Selenium is unbeatable for web automation.
2) QTP/UFT:
Unified Functional Testing software formerly known as QTP (Quick Test Professional). It is most used automation tool in the world. It is extensively used for Desktop and web applications.
It is complete automation tool which provides many features such as IDE to manage the scripts, Checkpoints, Object Repository, object Spy, datatable, etc. It supports keyword and scripting interfaces. It has robust data driven features which helps to run the test case for multiple datasets. It supports the VB Scripting to write code. HP Unified Functional Testing manages exception handling using recovery scenarios.
Website: http://www8.hp.com/us/en/software-solutions/software.html?compURI=1172957
Cost : 8K+ USD
Object Identification Technique : Code Injection
Advantages:
- Robust
- Big User Base
- IDE to Manage projects, scripts
- Keyword driven tests
- Predefined Verification checkpoints
- Good Object Repository management
- Remote Execution is possible
Disadvantages:
- Due to Object Identification techniques, paid plugins needs to purchase to support different applications and technology
- Cost
- Having Memory issues with large projects
- Does not support multiple platforms
Overall, QTP is Strongly recommended for Desktop applications for medium to large projects.
3) TestComplete:
TestComplete is an open test platform for easily creating, maintaining, and executing automated tests for desktop, Web, mobile, and client-server software applications. TestComplete is especially useful for teams using continuous integration and development–integrating seamlessly with popular 3rd party applications, source control, test management and CI tools.
Website: http://smartbear.com/products/qa-tools/automated-testing-tools/
Cost : 2-3K (USD) ( node lock Lic cost)
Object Identification Techniques : Multiple ( supports many object identification techniques such as MASA, UIA etc)
Advantages:
- Able to automation Web, Desktop and Mobile apps
- Support multiple Scripting languages
- Robust
- IDE to Manage projects, scripts
- Keyword driven tests
- Predefined Verification checkpoints
- Good Object Repository management
- Remote Execution is possible ( separate plugin with additional cost)
Disadvantages:
- Less User base as compare to QTP
- Not strong in Data driven as compare to QTP
- Memory issues with big projects.
Overall Very Promising tool and will be best substitute for QTP in terms of cost.
Other Automation tool list:
- Telrik Test Studio
- Watir
- VSTS – CodedUI
- Rational Functional Tester
- Silk Test
- MonkeyTalk
- SeeTest