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
-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:
-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:
-Selenium Core is a test framework for web applications written completely in JavaScript and DHTML. Supporting multiple versions of the most popular browsers, it is designed to run within the browser, utilizing its scripting capabilities to simulate user input, to capture/compare expected output.
History of Selenium
The story starts in 2004 at ThoughtWorks in Chicago, with Jason Huggins building the Core mode as "JavaScriptTestRunner" for the testing of an internal Time and Expenses application (Python, Plone).
The Selenium team has recently released Selenium 2 (Selenium WebDriver). Selenium is a popular test framework for web applications, which runs on multiple browsers and can be developed using multiple programming languages. The primary new feature of Selenium 2 is the integration of WebDriver, a rival web application testing framework to Selenium 1 (Selenium RC). While Selenium RC runs a JavaScript application within the browser, WebDriver controls the browser directly using native browser support or browser extensions.
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.