Automation is the use of software to control the execution of tests and compare actual outcomes with predicted outcomes. It is best suited for repetitive, data-intensive, and regression tasks. Automation testing increases test coverage, reduces manual effort, and provides faster feedback on code quality.
Imagine a bank that updates its software every week. Manually checking that 'Login' still works every single week is boring and prone to error. Automation is like hiring a robot to do that specific check every time a change is made. Once set up, it runs automatically without human intervention.
A project has a one-time 'User Experience' test that requires observing human emotion. Should we automate this using Selenium?