But prior to discussion of the selenium testing, let initially have a look regarding selenium basics
What is software testing?
It is the process to evaluate the software application functionality. With software testing, we can check the functional requirements. Moreover, software testing helps to deliver the error free quality product. Moreover, testing helps to identify the gaps (or) missing requirements w.r.t the actual requirements.
And this software testing is usually classified into two types:
It is the process of finding out the defect (or) bugs in the software program. In this method of testing, tester plays a major role of the end user. And he verifies the functioning of application features. Moreover, the tester manually executes the test cases without using any tools. And the tester describes the detailed and systematic approach to software testing. This usually involves complete test cases. But this is a time-consuming process.
Automation testing :
Automation testing is an automation technique. Here the tester writes scripts by their own and uses automation tools to write and execute test cases. Additionally, this provides the efficiency and effectiveness of the testing software.
This automation testing has gain popularity over the years. But the teams do not have the time and money to invest in large teams. Besides, today developers use the different testing framework, to work with the different system aspects.
Today all applications were web-based applications. And the effectiveness of testing these application varies among the companies and organizations. So in the era of highly interactive and software development process automation testing has a become a becoming the medium for the purpose of testing.
Automation life cycle:
The automation life cycle consists of a sequence of steps. Now let us discuss one- by -one in detailed :
This phrase is also known as tool selection phase. In this phase, the tester checks whether the tool is suitable for testing the application (or ) not? And the tester checks the following aspects:
Which test cases can we automated? And how to automate them?
Which test modules can we automate and which cannot?
Which tools are suitable for testing the application? And which fits best among those tools?
Other factors like team size, effort and cost play a vital role.
Test plan / Design :
Once the test tool has selected, it time to plan the test case. This is the heart of the automation. The best plan leads to the best design. And the best design leads to testing the application in a short time. In this case, the testers have to check the following aspects
Fetch all the test cases, that the tool has to automate
Select the framework along with the advantages and disadvantages
In the test management tools, create a test suite for automation
In the planning phase, you can background, limitation and risk between the tools
To get in-depth knowledge on selenium, you can enroll for live selenium online training by OnlineITGuru with 24/7 support and lifetime access
Environment / Test lab set up:
In this step, we can define the number of machines required.
Additionally, we can mention the configuration both in terms of hardware and software.
Test Script Development:
Based on requirement, start creating the scripts
Create a common method (or) function that can reuse throughout the scripts.
Create a script that can be easily understood, reusable, well structured and well documented
Finally, review your script and the script is ready before consumption
Test Script Execution
Since we have developed the script, its time to execute the script. Things you should remember while developing the test case:
As per test case, the script should cover all the functional requirements
Make sure the script is stable and can run on multiple environments
If possible perform bath execution to save time and effort
Due to functionality if the test fails, raise the bug/ defect.
Generate test result:
This is the last phase of the cycle. Here we will gather the test result and share the test result. Here the tester
Analyzes the result and calculates the time complexity
The generated report will be XLST, Test NG and ReportnerNG.
when to perform Automation?
With automation, we can perform repetitive tests. For example, validating the login page. It is easy to check if there are few. But people in larger companies were many people. So testing against each page is a quite time taking process. So the other alternative is to write a script that automates the whole process in different environments.
When automation is not Recommended?
Automation is not implemented in a tight schedule. At this time, manual testing is more effective. Additionally, this does not suit best, if there an application deadline and no current test automation is available. if the testing to be done within the time frame, it is suggested to perform imperative testing
Advantages of automation testing:
Frequent regression testing
Rapid feedback to the developers
Support for agile and extreme development methodologies.
Customized defect reporting
So now let's move to selenium tool definition