What is Selenium
Selenium is an open source tool used for test automation. It is mainly used for automating web application. Selenium is a suite of tools:
1.Selenium 2.0 (WebDriver): It is the current product being used in industries. It has become more powerful and robust automation tool.Selenium 2 still runs Selenium 1’s Selenium RC interface for backwards compatibility.
2.Selenium 1.0( Selenium RC or Remote Control): Selenium RC was the main tool used for automation before WebDriver came into picture. Now, It is depricated and mostly used in maintenance projects.
3.Selenium IDE: Selenium IDE (Integrated Development Environment) is a Firefox plugin and has capability of record and playback the activity performed on any web Application.
4.Selenium GRID: It is used to run the multiple test parallels. It can run the test on different browser and different remote machines.
Languages supported in Selenium:
There are three flavor’s of selenium available for for automation
Selenium IDE
Selenium RC
For more information visit
http://seleniumhq.org/about/platforms.html
Setup for Selenium WebDriver:
Selenium is a suite of tools to automate browsers. It is for automating web applications for testing purposes.
Selenium is not just a single tool but it is suite of software tools. It has four component
Selenium Integrated Development Environment (IDE) Selenium Remote Control (RC) WebDriver Selenium Gridi).Test management Tools: These tools managing requirements, planning tests,preparing tests, providing interface for executing tests,tracking and report defects. Quantitative analysis related to tests and test objects can be easily obtained Ex: Quality centre, Silk Central, Rational quality manager
ii).Requirement management tools: Stores requirement statements checks for consistency and undefined requirements, allow prioritization and traceability requirementsEx: Rational requiste priority
iii).Test Incident management tools: Stores and managers incident reports (i.e defects, failures, problems, faults)Ex: Bugzilla, Rational clear quest
iv).Configuration management tools: Not exactly testing tools, however they are needed to keep track of different versions & builds of the software testsEx: Rational clear case
Static Testing tools: They provide a cost effective way of finding more defects at an earlier stage in the development process. It is used by developers.
These are classified as
i. Review tools
ii. Static analysis tools
iii. Modelling tools
i).Review tools: Assists with review process, check lists, guidelines and are used to store and report defect
ii).Static analysis tools:It helps developers and testers find defects prior to dynamic testing by providing support for enforcing coding standards Ex: J-Test
iii) Modelling tools:Use to validate software tools.These tools can often aid in generating some test cases on the model Ex: physical data model (PDM)for relational database
Test specification tools
i. Test design tools
ii. Test data preparation tools
i) Test design tools:It is used to generate test inputs or executable tests and test oracles from requirements, graphical user interfaces, and design tools
ii) Test data preparation tools: Used to manipulate databases,files or data,transmissions to setup test data to be used during the execution of tests to ensure security.
Test execution and logging tools
I. Test Execution tools
II. Test Harness/unit
III. Test Comparators
IV. Coverage measurement tools
V. Security tools
i) Test Execution tools:Used at all levels of testing, to run and check the outcome of tests which reduces costs, run more tests,make tests are more repeatable. Generally used for automate regression testsEx: QTP,Winrunner,RFT, Selenium
ii) Test Harness/Unit tools:A unit Test Harness or framework facilitates the testing of components or paths of a system by simulating the environment in which that test object will run, through the provision of objects as stubs or drivers
iii) Test Comparator tools:Test Comparators determine the differences between files, databases or test results
iv)Coverage measurement tools:Measure the percentage of specific types of code structures that have been exercised by set of tests
v)Security tools:Used to evaluate the security characteristics of software. This includes evaluating the ability of the software to project data confidentially, integrity, Authentication, Authorization
Performance and monitoring tools
i). Dynamic analysis tools
ii). Performance testing/Stress Testing/load testing
iii). Monitoring tools
i)Dynamic tools: These tools find defects are evident only when software is executing such as primary dependencies or memory leaks. They are typically used in components and component Integration testing
ii) Performance testing tools:It is used by testers. It is used to monitor and report on how a system behaves under a variety of stimulated usage conditions in terms of number of concurrent users.
iii)Monitoring tools:Used to analyze, verify and report on usage of specific system resources and give warnings of possible service problems.