Testing is a process of verifying and validating a software/application is bug free. It meets the technical requirements as guided by its design and also meets the customer requirements respectively.
Mainly two types of testing are there:
Manual testing
Automated testing
Selenium Testing
It is actually a type of testing technique which is basically a Open Source-tool used for automating test running in web browsers.
Can neither Test Desktop application nor test mobile application by using selenium.
Cost free as it is an opensource tool.
Test-scripts can be written and also test can be carried out in any OS platform like windows, Linux etc.
Test can also be carried by browsers like chrome, safari etc.
It can be integrate with tools like test engines and junet for managing the testcases and also the reports.
Testing that is done using Selenium tool is usually referred as Selenium Testing.
It provides a single interface that lets you write test scripts in programming languages like Ruby, Java, NodeJS, PHP, Perl, Python, and C# among others.
Selenium is not just a single tool but a suite of software's. Each of which catering to different testing needs of an organization.
Components of Selenium Testing
Selenium Testing has mainly four components. That is :
Selenium Integrated Development Environment (IDE)
Selenium Remote Control (RC)
WebDriver
Selenium Grid
Since Selenium is a collection of different tools, it has different developers as also.
Selenium IDE
Selenium Integrated Development Environment (IDE) is the simplest framework in the Selenium suite.
It is the easiest one to learn.
It is a Firefox plugin that you can install as easily as you can with other plugins.
Selenium Remote Control (Selenium RC)
Selenium RC was the flagship testing framework of the whole Selenium project for a long time.
This is the first automated web testing tool that allowed users to use a programming language they prefer.
WebDriver
It implements a more modern and stable approach in automating the browser's actions.
WebDriver, unlike Selenium RC, does not rely on JavaScript for Automation.
Selenium Grid
Selenium Grid is a tool that can be use together with Selenium RC to run parallel tests.
It can run across different machines and different browsers all at the same time.
Parallel execution means running multiple tests at once.
Features:
Enables simultaneous running of tests in multiple browsers and also environments.
Saves time enormously.
Utilizes the hub-and-nodes concept.
The hub acts as a central source of Selenium commands to each node that is connect to it.
Types of testing
Types of testing that are commonly automated with Selenium are:
Performance Testing
Integration Testing
System Testing
End-to-end Testing
Regression Testing
Selenium testing cannot replace manual testing. Testing automation, by its very definition, automates that which does not merit human evaluation. You can’t automate the testing of your newly revamped UI for human-usability. But for everything else, there’s Selenium.
Most desktop/ mobile browsers today have built-in support for automation testing with Selenium. Consumer browser vendors like Firefox, Chrome, Safari, IE, and Opera develop and ship their browser’s drivers.
In the years since it was first open-sourced, others have contributed to the Selenium project by adding third-party drivers for specialized browsers like BlackBerry 10 and HtmlUnit, as well as bindings for integration with development frameworks like PhantomJS, Qt, etc.