Jonathan Kohl is a software tester and consultant based in Calgary, Alberta, Canada. One of his focuses is mobile testing, about which he has written a book, Tap Into Mobile Testing. He also leads a training course on the subject. I recently had the opportunity to speak with him about the mobile testing arena. The following is part one of our interview.
Joey McAllister: How do you explain mobile testing to someone who hasn't worked on it yet? Is it like general software testing with a few twists, or is there a very different approach?
Jonathan Kohl: A lot of the principles will hold true, but there are some differences for sure, and it's really important to strategize and figure out how to use your time the best that you can. The "mobility" part of it seems to really throw people off. People with a QA or a testing background who have worked in development shops are used to sitting at a computer. We have our comfy, ergonomic chair at our desk, or our Swiss ball we're sitting on. We have it all set up and tweaked just the way we like it. So, I go to work. I go sit in the test lab, or I sit at my desk and I do my work, and the mobility side of things is something that people don't think of. You actually really do need to move around and do physical things with the devices.
And, the devices have a lot of sensors in them. A lot of testers probably don't realize this, but just for simple things—like, even for a touch screen to work and display properly when you're moving it around—there are several sensors that are being used. It's quite specific, and there's a lot of combinations to explore from a platform perspective. You're not only looking at who manufactured the hardware or the operating system, but you're also looking at the version of the operating system and firmware. Another thing people may not realize, because we take it for granted on the web: To get data to your device, there are all these carriers that are using various types of technology and all kinds of strange partnerships need to occur for us to access these things when we travel. There are a lot of factors from a platform-testing perspective that are really difficult to set up and test well, and we don't really think about them that much when we're testing web apps or other types of applications because we just don't have that variety.
Mobility is bringing some changes. One of the interesting things is that it's bringing computing to people who hadn't been using computers before. So, you have people in developing nations and in areas that may not be as economically blessed who can now afford a smartphone, and they can afford wireless broadband, and they're getting on the Internet and using it for the first time. They're in all kinds of different locations with different speeds and technologies and languages. So, there are a lot of factors.
I talk a lot about "combined activities." We use these things on the move. How is a restaurant trip affected by the applications in these devices? We look for the map of how to get to the restaurant when we're on the move, and we use applications while we're working through our restaurant experience. There are a lot of different factors that come into play there. What's the lighting like in the restaurant? What's the weather like when you're using the application? Are you using the application during a busy time of day, when networks might be getting jammed?