Automated software testing is a process in which software tools execute pre-scripted tests on a software application before it is released into production. The objective of automated testing is to simplify as much of the testing effort as possible with a minimum set of scripts.
The main reasons for these added costs are primarily poor test strategy, underestimated effort of test case generation, delay in testing, and subsequent test maintenance.
Test automation can improve the development process of a software product in many cases. The automation of tests is initially associated with increased effort, but the related benefits will quickly pay off.
Test Automation should be used by considering the following for the Software:
- Large and critical projects.
- Projects that require testing the same areas frequently.
- Requirements not changing frequently.
- Accessing the application for load and performance with many virtual users.
- Stable Software with respect to manual testing.
- Availability of time.
Hence it is imperative that organizations commit to a test automation tool that delivers a high quality solution that achieves a high ROI.
Introduction to Selenium
Selenium is a browser automation tool, commonly used for writing end-to-end tests of web applications. A browser automation tool does exactly what you would expect: automate the control of a browser so that repetitive tasks can be automated.
At a very high level, Selenium is a suite of three tools.
-Selenium-IDE is the Integrated Development Environment for building Selenium test cases. It operates as a Firefox add-on.
- Selenium-RC (Remote Control)/Selenium 1.0:
-Selenium Remote Control (RC) is a test tool that allows you to write automated web application UI tests in any programming language.
-Selenium Grid is a server that allows tests to use web browser instances running on remote machines. With Selenium Grid, one server acts as the hub.
- Selenium Core:
History of Selenium
Selenium vs QTP
Limitations of Selenium
- Only supports web based applications.
- No inbuilt reporting capability so you need plugins like JUnit and TestNG for test reports.
- Lot of challenges with IE browser.