Before I start describing the unique aspects of mobile testing, I’d like to share a true story with you.
What’s special about mobile testing? Someone asked me this exact question several years ago while at a testing conference. I started talking about mobile technologies, apps, how to test them, and what’s special about mobile testing. The guy simply smiled at me and said, “But it’s software just on a smaller screen. There’s nothing special about it.” He was really arrogant and didn’t see the challenges presented by mobile testing. No matter which arguments I used to convince him, he didn’t believe in the importance of mobile technologies, apps, and testing.
I met the same guy again in 2014 while at a testing conference where he talked about mobile testing. He spoke about the importance of apps and how important it is to test them.
As you can see, it’s very easy to underestimate new technologies. As a software tester it’s especially helpful to be curious about learning something new and exploring new technologies to broaden your skills.
So let’s come back to the initial question: What’s special about mobile testing? I think I can assume you have at least one mobile device, namely, a smartphone. Or maybe you have a tablet, or even both. If you look at your device(s), what do you see? Just a small computer with little shiny icons on its screen? Or do you see a very personal computer with lots of sensors and input options that contains all of your private data? Please take a minute to think about that.
My smartphone and tablet are very personal computers that hold almost all of my data, be it e-mails, SMS, photos, music, videos, and the like. I can access my data no matter where I am and use my smartphone as a navigation and information system to find out more about my surroundings. For that reason I expect my apps to be reliable, fast, and easy to use.
In those three sentences I described my personal expectations of mobile devices and apps. But you may have entirely different expectations, as does the next person. And this brings me to the first special characteristic or unique aspect of mobile testing: user expectations.
In my opinion, the user of an app is the main focus and main challenge for mobile teams. The fact that every user has unique expectations makes it difficult to develop and deliver the “right” app to customers. As several reports and surveys have shown, mobile users have far higher expectations of mobile apps than of other software such as browser applications.1 The majority of reports and surveys state that nearly 80% of users delete an app after using it for the first time! The top four reasons for deletion are always bad design, poor usability, slow loading time, and crashes immediately after installation. Nearly 60% of users will delete an app that requires registration, and more than half of users expect an app to launch in under two seconds. If the app takes more time, it gets deleted. Again, more than half of users experience crashes the very first time they start an app. An average user checks his or her mobile device every six minutes and has around 40 apps installed. Based on those numbers, you can deduce that mobile users have really high expectations when it comes to usability, performance, and reliability. Those three characteristics were mentioned most often by far when users were asked about their experience with mobile apps.
Currently there are more than two million apps available in the app stores of the biggest vendors. A lot of apps perform the same task, meaning that there’s always at least one competitor app, which makes it very easy for consumers to download a different app as it’s just a single tap away. Here are some points you should keep in mind when developing and testing a mobile app:
- Gather information about your possible target customer group.
- Ask your customers about their needs.
- Your app needs to solve a problem for the user.
- Usability is really important.
- Your app needs to be reliable and robust.
- App performance is really important.
- Apps need to be beautiful.
There are, of course, a plethora of other things you should take into account, but if you pay attention to these points, your users are likely to be happy.
You’ve probably already heard of the KISS principle.2 KISS is an acronym for Keep It Simple, Stupid and is always a useful reminder—especially for software projects—to not inflate the software with just another function or option. Keeping it small, easy, and simple is best in most cases and is likely to make your customers happy. Inspired by KISS, I came up with my own principle for mobile apps: KIFSU (see Figure 1.1). This abbreviation is a good mnemonic to help you cover customer needs and a constant reminder not to inflate apps with useless functions.
Figure 1.1 KIFSU