What is testing - Software Testing is the process of finding defects in software.
The goal of testing is to release the quality software to the customer/client.
There are two types of testing - Manual Testing, Automation Testing
Manual Testing - When testing is done by manually and no tools are performed during testing is called Manual Testing.
Automation Testing - Performing the testing with the help of tools is known as Automation Testing.
Difference between Manual Testing and Automation Testing :
Manual Testing :
Manual testing involves human testers and software.
While manual testing is not cost-efficient for high-volume regression
Investment is required for human resources.
Humans can make mistakes and hence accuracy is less
In manual testing, there is no need for programming knowledge.
Automation Testing :
Automation testing utilizes automation tools to execute test cases.
Automated testing is not effective for low-volume regression
Investment is required for testing tools.
The machine hardly makes mistakes.
In automation testing, there is just a need for programming knowledge.
Selenium:
Selenium was developed by Jason Huggins in 2004 while he was working as an Engineer at ThoughtsWork.
Selenium is a web-based application. It is open source. It is a collection of multiple components.
The components are IDE, WebDriver, and Grid.
Selenium WebDriver - By using selenium WebDriver we will able to automate test cases.
Selenium IDE - It is a small component through which we can able to record all the actions and playback the actions.
Selenium Grid - We will execute our test cases in a remote environment.
There are three types of Application
Web-based applications - Whatever application we are accessing through the browser on the internet.
Desktop or Window based applications - This application we can install directly in our system. We do not need the internet or a browser. Examples - Notepad, MS Word, PowerPoint etc.
Mobile App Applications - We can directly download from Play Store.
Selenium :
Advantages :
Open source tool and also free of cost.
Selenium supports many operating systems like Windows, Macintosh, Linux, Unix etc.
Selenium supports many browsers like Internet Explorer, Chrome, Firefox, Opera, Safari etc.
Selenium supports a variety of languages that include Java, Perl, Python, C#, Ruby, Groovy, Java Script, and VB Script. etc.
Selenium can be integrated with other open-source tools for supporting other features.
Disadvantages :
We can use Selenium only to test web applications. We cannot test desktop applications.
It is not possible to perform testing on images. We need to integrate Selenium with Sikuli for image-based testing.
Selenium Versions & using components :
Selenium 1.x - IDE(Firefox), RC(Remote Control), Grid
Selenium 2.x - IDE(Firefox), WebDriver, Grid
Selenium 3.x - IDE(Firefox, Chrome), WebDriver, Grid
Selenium 4.x - IDE(Firefox, Chrome), WebDriver, Grid
Here x = 1,2,3…etc. That means Selenium 1.1 version, 1.2 version … using the same components(which are mentioned above) and Selenium 2.1, 2.5, … using the same components.