Selenium Testing
Selenium is a functional testing tool and compatible with non–functional testing tool. Selenium is free and not required any licensing.
There are specified types of testing that can be automated using Selenium:-
Functional Testing:
- Checking every component of a module individually in an application is known as functional testing. It is critical to any software, as it verifies that it is ready for Release.
- Selenium automates the functional test cases mainly at the UI layer of the Web Application under testing.
Types of Functional Testing that can be automated using Selenium:
Smoke Testing:
- Checking
the essential & critical features of an application before processing with
in-depth regressing testing is known as smoke testing.
- In smoke testing, we only review the positive flow of an application to check if the build is testable or not. A blocker bug can be identified at very early stages in smoke testing.
- Generally, we do smoke testing whenever a new build is installed. Whenever the stable build installed anywhere like UAT [user acceptance testing], test server and production server, test engineer do one round of smoke testing to find any Blocker bug.
- A smoke test case is always automated and executed on every new build when it is installed because smoke testing is a repetitive task.
Sanity Testing:
- When the production deployment is required to fix a critical bug immediately on a build, test engineer do one round of sanity testing. For detailed testing of some limited features, sanity testing follows the narrow and deep approach.
- It is a subset of regression testing, and it is typically non-scripting.
- If the build failed, the test engineer should reject the build to avoid wasting time and cost involved in testing.
- Build level regression testing is also knowns sanity testing.
UI Testing:
- UI
testing involves testing the GUI [Graphical User Interface] elements of the
Application like check-box options, buttons, menus, text alignments, etc. are
correctly displayed.
- Web-based Applications are those applications which can be accessed through a URL.
In such applications, we mainly test the front end of the Application, which is used by the end-user.
- UI
testing is also known as front-end testing or Application testing.
- A test engineer has a good understanding of business requirements, coding, functional knowledge, etc. to perform UI testing.
Database Testing:
- Check whether the data is posted and updated in the UI of Application is in sync with data stored in the database of the Application. It is also knowns as back-end testing or data testing because back-end components are not visible to the user.
- Checking the schema, tables, columns, key and indexes, triggers and stored procedures, etc. of the database is called database testing. Database testing is used to check data integrity and consistency.
Cross Browser Testing:
- Testing
the Application in all the supported web browsers, is called cross-browser
testing.
- Cross-browser testing is used for both web and mobile applications.
- Cross Browser testing is used to test your web application in multiple browsers, and it works consistently, and there is no compromise in the quality of the product.
- It is running the same set of test cases various times on different browsers.
Regression Testing:
- Whenever code changes due to the enhancement of bug fixes and to make sure that existing features are not affecting, is known as regression testing.
- Whenever there is new Release for some project, then we go for Regression Testing because the new feature may change the old features in the previous releases.
- Regression testing is used to verify that the bug fixes and the newly added functionality do not create any problem in the earlier version of the product.
- It is not dependent on any programming language like Java, C++, C#, etc.