What is Cross Browser Testing?
  March 08, 2017

Browser testing is a method of quality assurance for web applications across multiple browsers. That is to say, it ensures the quality of your website on different screens. It’s implemented to ensure a website’s functionality and design and includes testing a range of devices and operating systems being used in the market and customer base. On top of that, screen size, screen resolution, OS version, and browser versions all change and contribute to how someone is viewing content, making the practice of cross-browser testing increasingly necessary for understanding diversified user experiences.

While fundamentally self-explanatory, browser testing has an expansive amount of components. Understanding the many factors can exponentially impact your web application and increase customer satisfaction while ignoring its importance can have a negative effect on reputation and bottom line goals.

Why it’s Needed

There used to be only a handful of browsers existing across the internet, and they were mainly situated on desktops. Additionally, with a waterfall model design process where developers were primarily making quarterly or monthly changes to code, manually testing each one was relatively simple.

Times have changed, however, and today’s consumers are on a multitude of devices ranging from desktop computers and laptops to mobile phones and tablets, while there are too many browsers and browser versions to count at this point. Furthermore, to parallel the rise of mobile and desktop internet consumption, design and development have moved to an agile methodology. Developers are no longer making yearly updates but instead instituting continuous integration with updates by the hour or day.

Meanwhile, each browser responds to these code changes differently, and so with every change of code comes a risk that any of those browser/device/OS combinations may not respond according to expectations. Layout, accessibility, connectivity, quality, and performance can vary slightly or exponentially from browser to browser, as each renders CSS, HTML, and JavaScript differently.

Developers inherently know and learn the lowest risk browsers and devices, and in turn, use them every day to view the product of their coding. However, a misconception is that another user will be visiting the same website on the same browsers and devices. "It works on my machine" is not a valid argument.

While about half of users will be on the popular, low-risk browsers that developers use such as Chrome and Firefox, the bugs will mainly be saturated in high-risk browsers like Internet Explorer. You could direct a user who’s experiencing issues on a bugged browser to either update their browser version or download different browser altogether, but it’s more likely that user will be unwilling or unable to switch browsers just to properly view your website. Instead, they’ll just leave your page.

Though it may be unrealistic to test 100 percent of all browser platforms, it’s important to create an acceptable user experience amongst the majority of your user base. The more browsers that are tested and optimized, the more inclusive your site will be for a variety of visitors. This is not to say that each should look exactly the same, but instead that there is an element of responsive design that has been implemented and tested.

Bottom Line Goals

As a developer, your job is to make your website accessible and appealing to the broadest range of users.

When someone on Internet Explorer is able to access and enjoy a website the same way somebody on Google Chrome is, it relays a dedication to the user experience and a thorough design process. This means that consumers are less likely to encounter bugs and off-putting layout elements, and most likely to foster a sense of brand loyalty.

Not only does browser testing encourage a positive reputation, it also impacts bottom line goals when users can easily view content and experience optimized functionality no matter what device, operating system, or browser they access it from.

How it’s Done

Pick Your Devices

The first thing that needs to be done is to decide how many browsers you want to test on and which ones. A popular method to determine where the majority of your audience is saturated is to measure traffic with Google Analytics, although keep in mind this only provides a sample of your visitors as well as potential visitors.

Decide on Execution

After you choose which devices and browsers you’re going to test, you have two main options for execution -- building a device lab or testing in the cloud with a tool like CrossBrowserTesting. With both options, you have to decide whether to test on a real physical devices or a desktop or mobile emulator.

First and foremost, we recommend real devices because they replicate the actions of the user, while the results received on emulators tend to vary from a true user’s experience. However, it's also important to include emulators at different stages of testing, as well.

The cost of a device lab, of course, will vary with how many machines you want to buy and test. We estimate that the minimum cost of purchasing to include all the essential devices and operating systems is around $10,000, but this will only reach about half your user market. This number also doesn’t consider the cost of replacing the devices every few years.

In this case, VMs may seem like an attractive solution to save money at a base of about $2,500 a year if you’re willing to give up some accuracy. However, the hidden costs of licenses, maintenance, and updates can result in unforeseen expenses that will continue to add up over time and put the two at comparable costs.

The other option is to go with a testing platform where the added value is in cost, speed, features, and spectrum of devices. Since cross-browser testing platforms charge a monthly fee to test on hundreds or thousands of devices, you’re likely to have a greater range of configurations to test, while saving quite a chunk of change.

Additionally, parallel testing is exclusive to automated cross-browser testing tools, allowing you to simultaneously run a multitude of tests in a fraction of the time, often cutting hours and even days off of a boring and laborious manual testing regime.

Included features such as browser screenshot comparisons, live testing, and local testing further simplifies the process for testers and developers so they have the time to focus on designing a better product instead of individually testing numerous browsers and devices every time a code is updated.

Begin Testing - Manual and Automation

Where you’re at in your development and design process always has a say in the way you’re going to execute your browser testing.

For early-stage development, one-off or exploratory testing is usually appropriate and can be done through manual testing. Once you’re further along in the process, regression testing and functional test automation is going to provide the breadth and expansion required to understand numerous coding elements and detect bugs.

No matter how you’re testing, you should be considering how your site both looks and performs across numerous browsers. Whether you manually test or automate the process, CrossBrowserTesting has a multitude of options to help save time, cut costs and improve the overall quality of your web application.