Mobile browser usage is increasing every day. According to StatCounter, phone and tablet usage accounts for about 30% of web traffic. This means that consumer expectations for mobile websites are higher than ever. Even with smart techniques like mobile-first responsive design, testing a site before delivery is critical due to the overwhelming variety of mobile devices that are available to consumers.
There are many different ways to test websites on mobile devices, but they are not all created equal. Here are five different methods to test a mobile site, ordered from the most ideal to the least favorable.
1. Test on Real Mobile Devices
It’s always best to test a website on real devices, because there are many parts of the experience that simply can’t be emulated or faked. The user experience contains many factors like variable network conditions, pixel densities, the relative size of tap targets, and real page load times. In a perfect world, every website would be tested on every mobile device that it might be viewed on.
Of course, comprehensive testing is not practical, because time and money are always a factor on any project. However, it’s still a smart idea to invest in a mobile device test suite. If you’re running a client business that’s any larger than just you, this is essential. A mobile device test suite typically consists of a few of the most popular web browsing devices. This enables physical testing under real-world conditions and allows near 1-to-1 parity with what a user will actually experience. Brad Frost wrote an excellent article about which mobile devices to test (the article is a few years old now, but the general principles should remain the same).
If a mobile device test suite is out of your budget, the next best thing is to use your own smartphone and mobile devices. Most likely, you’re using an iOS or Android phone, which will at least give you some idea of what a large portion of the population will see. If you have some friends or family members that are using other mobile platforms, then you can probably quickly check it out on their devices, too (ask nicely).
2. Use the iOS Simulator and Android Emulator
There’s no substitute for the physical hardware, but software emulators are still pretty decent. The emulators for iOS and Android are mostly designed for testing native apps, but they also include the default web browsers for each device which will show you a very good approximation of how pages will be rendered. I say approximation because they still won’t show real network conditions, page load times, the relative size of tap targets, and other details that can be gleaned from physical devices. However, the rendering engines will still be functionally equivalent which can help you spot cross-browser issues.
The iOS simulator is a tool available within Xcode. First, install Xcode from the Mac App Store. Then, go to the Xcode menu and select Xcode > Open Developer Tool > iOS Simulator. Unfortunately Xcode is Mac only, so if you’re on Windows or Linux, you’ll have to test with another method.
The Android emulator is included with the Android SDK. You can read more about the Android emulator here.
3. Test on BrowserStack
If you can’t get your hands on a device testing suite and installing the iOS and Android software emulators doesn’t work out, there are still more options. BrowserStack is a web service that provides access to desktop and mobile devices so that web professionals can test their sites.
It is a paid service, so for completeness, I should mention that this is not a paid endorsement. However, I have spotted a few free screenshot services over the years, and as the idiom goes, you get what you pay for. BrowserStack is more than just screenshots, because they also make it possible to interact directly with web pages on test devices. Even if you do have a device testing suite, BrowserStack is still pretty great to fill in any holes that you might have missed.
4. Check using Responsinator
You should always strive for testing on real devices or at least an accurate simulation of those devices. However, if for some reason that’s not possible, the solutions start to open up quite a lot, because it basically just involves resizing a desktop web browser. There are many fancy tools that will do this, but one of the most straightforward tools in this category is Responsinator.
Simply visit the Responsinator website, type in your own URL at the top of the page, and it will generate live previews for you that are resized to the same resolutions as many popular devices. This can be helpful for a quick “sanity check”, but remember that this is not a substitute for real device testing or even using a simulator, because it’s using the same rendering engine as your browser. In other words, it doesn’t magically render sites using mobile browser rendering engines. Rather, it’s just the same as resizing your browser to a specific size.
5. Resize the Browser
While developing a site, it’s very common for designers and developers to quickly check responsive behavior by resizing a desktop browser. This works perfectly fine while coding and should be encouraged. However, it’s the most basic form of testing and really shouldn’t be called “testing” at all. While it can be helpful for quick checks when making responsive code changes, it doesn’t even begin to compare to all the other testing methods. The browser sizes are arbitrary, the rendering engines are different, there’s no network delay, and so on. There’s too many differences for this to be substituted for real-world rigor.
How do you test?
This is not a comprehensive list. While this covers most of the major categories of mobile website testing, there are still a few in-between that I may have missed, and certainly a huge number of responsive testing tools that were not mentioned. If you have a unique way of testing mobile sites or you test in a way that’s not mentioned, I’d love to hear about it in the comments!