Automation: It is the technique to run the test cases without human intervention. If we are sticking to the IT industry, Automation is not just confined to Automation of test scripts. Automation is the basic control system in which human intervention is expected the least. Various many tasks such as Data Migration, Decision making for AI, deploying the code automatically in the latest builds for testing etc.
The ultimate goal of Automation is to re-run the regression flows without intervention of manual tester. Initializing some amount of human effort is required to design the scripts. But the end result is really time saving. It's much faster and can run many test cases parallel on different browsers.
The script/code is written by the user which can be run multiple times with the help of automation. Scripts run by Automation are then compared with the expected result automatically along with the descriptive reports.
Selenium: Selenium is an open source testing framework required for Automation or we can say that among various Automation tools/frameworks, Selenium is one such framework for automating applications.
It runs the test cases multiple times cross-browsers. Again functional testing and Regression testing is the key feature of Selenium.
Although Selenese is the domain specific language yet various many programming languages such as Java, Ruby,C#,Python,PHP,.Net Etc. can also be used for writing scripts. Thus making it more users friendly.
Below are the tasks which Selenium Web Driver can do:
1. Automation Testing:
2. Performance Testing:
3. Regression Testing:
4. Mobile Testing:
5. Sanity Testing:
6. Monitoring of Applications