For almost a decade, Max Saperstone has been a test engineer focusing on test automation and the continuous integration/delivery process. He is currently developing a new testing architecture for SecureCI to allow testing of multiple interfaces, custom reporting, and minimal test upkeep.
Max Saperstone will be presenting a presentation titled "Mobile Applications Testing: From Concepts to Practice" at STARCANADA 2014, which will take place April 5-9, 2014.
About "Mobile Applications Testing: From Concepts to Practice":
As applications for smartphones and tablets become incredibly popular, organizations encounter increasing pressure to quickly and successfully deliver testing for these devices. When faced with a mobile testing project, many testers find it tempting to apply the same methods and techniques used for desktop applications. Although some of these concepts transfer directly, testing mobile applications presents its own special challenges. Max Saperstone says if you follow the same practices and techniques as you have before, you will miss critical defects. Learn how to effectively test mobile applications and how to add more structure and organization to generate effective test ideas to exploit the capabilities and weaknesses of mobile devices. Max shares firsthand experiences with testing mobile applications and discusses how to address various challenges. Work on real problems on your own device and learn how to be productive while testing mobile applications.
Cameron Philipp-Edmonds: Today we have Max Saperstone, who is going to be speaking at STARCANADA 2014, April 5 through April 9. Max Saperstone has been a test engineer focusing on test automation and a continuous integration and continuous delivery process.
Max specializes in open storage tools, Selenium, JMeter, AutoIT, Cucumber, and Chef. He has led several testing automation efforts, including developing an automated suite focused on web-based software to operate over several applications. Max also headed a major product, developing an automated testing structure to run Cucumber tests over multiple test interfaces and environments, while also developing a system to keep test data "ageless." He is currently developing a new testing architecture for SecureCI to allow testing of multiple interfaces, custom reporting, and minimal test upkeep.
All right, did we catch everything?
Max Saperstone: Yeah.
Cameron: Fantastic. And you are doing a session at STARCANADA which is titled "Mobile Applications Testing: From Concepts to Practice," which covers the emerging trends in mobile testing. So, I would like to ask you some questions related to that.
First question is, Why is it not advisable to apply the same principles and methodologies for testing desktop applications as when you are testing mobile applications?
Max: A lot of the same principles can actually apply when you are going from just desktop applications, but really you want to be looking at a lot more things as well. Not only that, but there is a much bigger and different motivation and drive behind the testing that goes on in a mobile application. Mobile applications really put their emphasis on the usability, getting the application to market quickly—they want real quick updates and networking. You don't see those features quite as often in desktop applications. So really, you want to make sure that you are kind of focusing your testing really in those three areas.
If the application isn't usable, people who have desktop applications are usually a lot more accepting of minor bugs, whereas mobile applications, they will usually throw it away almost immediately.
Cameron: OK. Basically, the structure of how mobile applications need to be for users is a lot more strict.
Max: Yeah. Absolutely. You're looking at a much pickier user base and what they're going for, and that's one of the major differences. It really should be focused on when you're testing these mobile applications.
Cameron: OK. Your session also advises ways to create structure and better organize a test plan to exploit the strengths and weaknesses of mobile devices. So what are some of those strengths?
Max: Mobile applications are often a lot less complex than even your desktop or strictly web counterparts. So when you're going and attacking the test unit in that area, you can really kind of move your test structure to focus on that. You don't necessarily have to test the entire completeness of the project, but again, you want to focus on these different things.
One of those, again, as we mentioned, is usability. You also want to focus your testing on gates because these applications really have to make it through certain walls, especially for iPhone applications. And you really want to focus your testing on exactly what you need to pass in order to become a useful application, what it's going to need to do to make it into the store.
Another great way is to change the structure of all your test cases. And that's just another thing that really differs between those and the desktop applications.
Cameron: OK. And then what are some of those weaknesses?
Max: One of the big issues is the mobile application is relatively new and the testing is even newer. It used to be you kind of put out an application and the testing would be done when it's actually on the phone, and so the process was very immature for currently and the tools that go along with it are extremely immature, and so it's kind of difficult to get a lot of automated testing. And so you need to kind of focus on what the best ways to actually test are, both automated and manually, again with this reduced cycle, and it becomes a little bit more difficult because of the actual mobile device framework and just the usage of these devices.
Cameron: OK. And you kind of threw a word that kind of sparked another question here. You said the word "immature." Now, is it possible that—this is a little bit back to the first question—one of the reasons why people are more strict or they demand more on mobile devices is because it tends to be a younger generation who don't really understand all that goes into it?
Max: That's possible. I also think, I mean, one of the reasons I think usability is key is the older generation, you know before mobile, they weren't as familiar with the technology. Whereas now, you don't see the huge documents that are put out with applications on how to save a file, how to print a file. Everything should just kind of be extremely upfront and intuitive. Because of that new kind of thought that goes with these mobile applications, there's not quite as many automated tools out there that really focus on this because it's a different way of testing software again. It's not what was initially looked for in previous desktop or even web applications.
Cameron: OK. Where do you see the future of testing and the future of mobile applications and the testing of mobile applications?
Max: These applications have become more complex. I mentioned earlier that generally the applications aren't, but as time goes on, mobile devices get more and more powerful, the applications are also going to get a lot more complex and they'll require a lot more testing framework behind the scenes.
You know one of the big things we are going to see are the mobile application testing tools that are going to expand a lot more and you see a lot more and they have a lot more power. We're also going to be looking a lot more at security that we're testing. So both within the actual framing of the devices and actually just the testing of the security.
Right now a lot of applications are just kind of a throwaway thing, but more and more you hear in the world about security issues, whether it's information being leaked or systems being hacked, and that's just going to have to follow with mobile devices to be something that's really examined.
Cameron: OK. And you kind of mentioned security being one of the trends that's going to really catch on as far as mobile testing. Are there any other trends you see that are possibly going to catch on or that you'd like to see catch on?
Max: Yeah. Security is definitely a huge one because it's just neglected, as previously mentioned, and also using some of the newer technologies that are out there. More and more we are seeing these hybrid apps as opposed to just kind of a native or web application that is designed spefically to run on the phone, and I think that's going to be more and more prevalent, which, of course, makes it a little bit more interesting when you're testing the application. You have more things to look at.
Between those two, I don't really have too many other ideas really where the mobile world is going to be going because, again, this is relatively new. Over the next five or so years are really going to define really what direction everything is going to be heading in.
Cameron: With that being said, is there anything you feel is holding mobile application testing back?
Max: No, I don't think there is anything that's really holding it back. At this point I think people are working on tools. I know there's a lot of open source software out there that you can actually go and download and launch your emulator and test thing. And the products are actually coming along really well for the testing. But, again, they're relatively new and that makes them a little bit more difficult to use, and so there is also a huge expanse of different devices that you have to be looking at and testing. That really plays into how well these tests can go. That makes it a little bit more difficult for all these variety of devices you are looking at.
Cameron: OK. Since you said it's getting more difficult, it's getting more complex as the years go by and in five or six years it's really going to determine where mobile application testing is going, do you think it's ever going to come down to it where there's a completely separate discipline for mobile application testing versus desktop application testing?
Max: Oh, yeah. Absolutely. I'd be surprised if mobile testing does not become its completely own specialty, because beyond just the usability aspect, you have a lot more different features you have to be looking at within a mobile device. You have to be looking at the all the network activity. You have all these other different sensors and features on the phone that a desktop or even a web multitiered iPhone is not going to have. So the more familiar you get with those devices, the better tester you are going to be, so that, I think, will definitely branch out into becoming its own specialty.
Cameron: OK, awesome. Now, for someone starting today, let's say, doing application testing, what are some tips or some ideas or methodologies that they should—in brief—know to become a more effective and productive tester?
Max: Really, I would say kind of look at your application within the scope of your testing with the tools you have available to you and kind of go with whatever gives you the biggest bang for your buck. What can you knock out that are really some of the major points of the application without too much effort? And go from there.
Another big thing, make sure you test in the real world. Don't just test in your office, don't just test at home, and don't just test within your computer. Make sure you get something on a device, sure that you're testing on multiple devices, because emulators and these other nonreal testing tools can only take you so far. They're called mobile applications for a reason. They're mobile. Make sure that you test them on different networks. Make sure you are moving around. That's one of the more intricate parts of testing mobile applications. One of the things, you know, if I'm switching from one network to another and my app goes down, that's often overlooked.
Cameron: And your session is very hands-on. You do encourage attendees to bring their cellphones and mobile devices. Is there anything else you would like to say to the attendees of STARCANADA?
Max: You covered it absolutely. Bring your device. Bring two. I'm going to have four completely different mobile devices they're already hooking up. Some of those activities, you can go along with me and actually be doing some of the same things on your device at the same time. Others, we'll actually step through some codes, run some emulators, see what you can actually do when you have access to the source files—so it should be really interesting.
Cameron: Awesome. Sounds very fun. Once again, this is Max Saperstone. He has a session titled "Mobile Applications Testing: From Concepts to Practice." He will be speaking at STARCANADA 2014, which is April 5 through April 9. All right, thank you so much, Max.
Max: All right. Thanks, Cameron.
For almost a decade, Max Saperstone has been a test engineer focusing on test automation and the continuous integration/continuous delivery process. Max specializes in open source tools—Selenium, JMeter, AutoIT, Cucumber, and Chef. He has led several testing automation efforts, including developing an automated suite focused on web-based software to operate over several applications. Max also headed a major project developing an automated testing structure to run Cucumber tests over multiple test interfaces and environments, while developing a system to keep test data “ageless.” He is currently developing a new testing architecture for SecureCI to allow testing of multiple interfaces, custom reporting, and minimal test upkeep.