Mobile vs. Web App Testing
What's the difference between mobile and web app testing? What kinds of things are involved, and how to do you it? Read on to find out.
Join the DZone community and get the full member experience.Join For Free
Application testing comes in many shapes and sizes. For example, testing an internal app for your company's network is going to be a much different process than testing a mobile app that could reach thousands, if not millions of end users. In other words: The actions a quality assurance team or group of developers will take to work on the company intranet will diverge significantly from what would be needed to, say, push a working update to the mobile game "Pokémon Go."
There are some specific, fundamental differences between mobile and web app testing that deserve more attention. Let's dive into how these two realms of testing differ in terms of requirements, common practices, and useful technical tools.
Drawing the Line Between Mobile and Web App Testing
Let's start with the most obvious differences between mobile app testing and web app testing. Mobile apps are usually meant for larger numbers and more diverse ranges of devices than web apps, although that gap is closing as more web apps become available in mobile forms. A mobile application might run on a phone, tablet, smartwatch, etc., in addition to a desktop service that it corresponds to. Many messaging platforms such as Facebook Messenger, Viber and LINE fit into this category, as do apps like Instagram and Snapchat that are only fully usable on mobile.
In contrast, a web app is often something that was tailored specifically (at least at first) to a laptop or desktop screen. After all, web browsers were first created for desktops, with the World Wide Web itself developed on a workstation NeXT Computer that also served as its main server. Many of the central features of classic web apps, such as mouse cursors and landscape orientations, are either non-existent or less than ideal to implement on mobile.
The variety of mobile devices and the closer relationship that many end users have with their phones and tablets (i.e., compared to their Macs/PCs) ultimately means that testing must account for issues not applicable on desktop. For instance, a mobile device is likely going to have constant connectivity — either WiFi or cellular — as well as internet accounts (Google, Facebook, etc.) that are always signed-in. Notification management as such becomes a more pertinent matter than it ever would be on desktop. Another challenge is syncing and managing these apps with instances across multiple platforms, such as a messaging service that is available for both macOS and iOS.
"In the past it wasn't too common to have more than one station," Erdal Tuleu of messaging platform imo told TechTarget in 2013. 'People usually logged into their laptop or desktop and closed it before going home and logging in again there. Now it's fairly common for people to have more than one station. For example, you can have it open on your laptop and again on your phone. I don't think it's that common anymore to sign out and sign back in all the time. People want to always be online and always reachable."
Digging Into Some More Technical Differences in Mobile and Web App Testing
We can already see that there are some broad differences between mobile app development and desktop app development in terms of their general usage patterns and typical device types. At a more granular and technical level, there are several areas in which the divergence between mobile and web is pronounced:
- RAM and storage limitations: Many mobile device still ship with a mere 1 or 2 GB of RAM, along with their relatively paltry 16GB SSDs. These are severe constraints, especially compared to the vast amounts of memory and storage that virtually any modern desktop web browser is going to have access to. Services such as advertising platforms can severely slow down a mobile browser, meaning that porting your web app to a phone or tablet should account for such particular bottlenecks.
- Different types of user interaction: Desktop/laptop input has essentially been solved for more than 30 years, with the mouse and keyboard combo still the standard for everything from browsing Facebook to playing a PC game. On mobile, there are many more options. In addition to the wide variety of touch actions — swiping, pulling, pinching, and so on — there are voice assistants such as Siri and Google Now and device-specific innovations such as hand wave gestures on some Samsung headsets.
- Behavior with and without connectivity: A web app running on a Mac or PC is going to be useless without an internet connection. Ditto for a mobile web app. A native or hybrid mobile app, however, might have some offline functionality. Some games can be played without connectivity (albeit with some features missing) and document editors may also retain functionality while in airplane mode or out in a remote location. Mobile apps also have to be vetted for their behavior when switching between connections or relying on unstable networks such as EDGE.
There is some overlap between web and mobile apps, to be sure. Many mobile apps are at least in part web apps themselves, and you will still pursue some of the same testing regimens and techniques with either type, perhaps as part of an agile development cycle. Having test management software is a key building block as you shape your overall testing strategy and look to account for the wide range of workflows, inputs and possible problems associated with both mobile and web apps.
Published at DZone with permission of Francis Adanza. See the original article here.
Opinions expressed by DZone contributors are their own.
Redefining DevOps: The Transformative Power of Containerization
13 Impressive Ways To Improve the Developer’s Experience by Using AI
SRE vs. DevOps
Building A Log Analytics Solution 10 Times More Cost-Effective Than Elasticsearch