Cross-browser testing, also called browser testing, is a quality assurance (QA) process that checks whether a web-based application, site or page functions as intended for end users across multiple browsers and devices.
Cross-browser testing is a type of compatibility testing, which ensures an application or software integrates as intended with interfacing hardware or software. Compatibility testing can cover hardware, operating systems and devices.
Browser test planning
A web development team prioritizes certain audiences -- and the respective browsers they expect them to use -- during the project planning stage. The team can identify potential concerns before the project begins based on those preferences. Likewise, it can determine which browsers are less important to test, such as deprecated versions of desktop browsers.
The cross-browser testing process
After the development team builds a web application or site, QA professionals can evaluate the completed project. The QA professional or team tests the consistency of the content and layout, such as how fonts and images display, and whether the responsive site design works, if applicable. Next, they check the web application or site's usability, such as features, integrations with third-party services, forms and touch input for mobile or tablets. They also test accessibility, such as the presence of alt text for images or closed captioning for video.
A QA professional or team could use these types of environments or visuals, depending on the use case, for cross-browser testing:
- Screenshots, which show how a web application or site displays on a given browser version, but without functionality;
- Simulators, which mimic how an end user would see and interact with the app, without actually testing it on a device;
- Live tests, which either use virtual machines to create a remote computing environment or real devices to replicate the end user experience; and
- Headless browsers, which enable cross-browser testing via a command-line interface, which removes the GUI
Cross-browser testing can be partially automated and incorporated into continuous testing for faster or more accurate results. A browser test automation tool loads a site on a number of browsers, and then checks in the code to the continuous testing workflow when it passes the required tests. A failed test creates a feedback loop. Automated cross-browser tests often rely on headless browsers, which enable faster tests as no visuals load.
Cross-browser tests provide information that is gathered together in a feedback loop that developers use to fix broken or otherwise unsatisfactory code. This information might include the platform that caused a failed test, as well as the device and browser version.
Additionally, an app-dev team can deploy a site or app to a user group outside the team to include real end-user experiences into the developer feedback loop.
Cross-browser testing tools
A QA professional or team can use a variety of tools to perform cross-browser tests. These tools can create the environments or visuals listed above and provide a variety of other features, such as site scanning for common functionality issues, user feedback, team collaboration and log analytics. Some tools and services can automate tests as part of a CI/CD pipeline, which reduces the time needed for developers to make fixes and for operations to deploy.
Tools are available that specifically manage and execute cross-browser tests, such as LambdaTest, BrowserStack, Browserling and CrossBrowserTesting. Several tool suites include browser testing among their features, including Sauce Labs, Selenium and Tricentis.
Some desktop browsers, such as Chrome and Firefox, also include built-in emulators that enable QA professionals to perform spot checks without switching to a different tool or browser.