Testing is a crucial part of the Software development life cycle. It is carried out in order to find bugs in the developed product before it reaches the customer. In order to simplify the process, there are various ways that have been launched. Testing can be carried out using automation tools.One such Important tool is Selenium which is used to carry out end to end testing through automation. The basic language used to automate this tool is Java.There are various other automation tools such as Appium and HP's QTP. These tools are used to test Desktop and mobile applications whereas web applications require a tool like Selenium.