Why Test Automation is required:
We have many software development life cycle(SDLC) models which is end to end process of creation of a software. If we talk about traditional models like waterfall, Iteration, or V & V model, all these models are time consuming. So, maximum software companies are adopting Agile methodology. Agile methodology advocates adaptive planning, evolutionary development, early delivery, and continuous improvement, and it encourages rapid and flexible response to change.
In short, we get many continuous builds frequently with new features and bug fixes and every time we need run old test cases to check whether old functionalities are working or not. It is time consuming and of course may delay launch of software.
Re-running of all test cases repeatedly which can be termed as “Regression testing” or “Sanity Testing”. Test automation comes in picture here. We can automate those regression suites and can run whenever we get a new build. It will save time, money, and resources.
Types of applications:
- Desktop based applications
- Web based applications
Definition of desktop based applications:
A desktop application is a computer program that runs locally on a computer device, such as desktop or laptop computer. Desktop applications have traditionally been limited by the hardware on which they are run. They must be developed for and installed on a particular operating system, and may have strict hardware requirements that must be met to ensure that they function correctly.
Definition of Web based application:
Applications which are accessed using browsers (For example: Chrome, Firefox etc.) are called as Web based applications. Some famous web based applications are Flipkart, Facebook, Gmail etc. To access these applications, we need a browser. To automate a web based application, we can use SELENIUM.
Introduction of Selenium:
- Selenium was created by Jason Huggins in 2004 who is an engineer at ThoughtWorks.
- Selenium automates browsers.
- Selenium is a set of different software tools each with a different approach to supporting test automation.
- Selenium is a free or open source automation testing suite which is used to automate web based applications across different browsers (Chrome, Firefox, IE, Opera etc.) and platforms (Windows, Linux, Mac etc.).
- Open source means we can see the code written in selenium and there is no fee of using this software.
- Selenium is a suite because it is not single tool. It has major 4 tools, so we are referring it as a suite. It consists of:
- Selenium Integrated Development Environment (IDE)
- Selenium Remote Control (RC)
- Selenium Webdriver
- Selenium Grid
- Selenium 1 is referred as Selenium RC.
- In 2008, selenium RC and selenium Webdriver are merged which was named as Selenium 2.
- Selenium WebDriver supported programming languages are:
- Supported browsers by Selenium Webdrivers are
- Supported platforms by Selenium Webdriver are
- Microsoft Windows
- Apple OS X
We will focus on Selenium Webdriver more. Above is basic introduction about Selenium. From next tutorials, we will start learning selenium Webdriver gradually.
Thanks for reading and please suggest how can I improve my posts quality.