The transition to mobile testing
It’s marvelous how quickly humans can adapt to situations. It’s equally marvelous how quickly humans can reach a comfort zone where they like to stay because it’s so cosy and familiar.
For the last 2,5 years I’ve been a frontend tester and developed my skills in that area. In the course of time I’ve gathered a sort of ‘tool-belt’. It’s a set of tricks that you can deploy when testing websites. These ‘tricks’ come from experience and lessons learned. For web-testing you can consider the following examples: knowing where the common failures are (crossbrowser IE horrors), knowing how to use browser inspection tools like Firebug, knowing how a website is built up, know to ask the right kind of questions to execute your testing well (make no assumptions), knowing how to test the calls to the backend (use RESTclient, knowing what restful services are). Generally I learned to work effectively, because I have been doing this type of testing for a while. And more in depth, I’ve learned to set up automated testing on UI-level. I’ve worked with a bunch of tools specifically aimed at frontend testing. All in all, I was really in my comfort zone doing this. And frankly, I was also getting a bit bored. I yearned to learn different kind of things, but was also afraid to be a n00b again.
Well, the opportunity to change did come. I took it and am now shifting to mobile testing. And boy, is it different!
I truly feel like I am a n00b again. That’s partly wonderful. You get to ask all the dumb questions because you can say ‘I don’t know dude, I’m just learning’. (Although I think you can always ask ‘dumb questions’, you should not care what others think. Asking questions is good). Learning new things is awesome. It’s inspiring and refreshens your take on things. The downside of leaving the comfort zone is also obvious. I’m experiencing a bit more stress and distress at not being an ‘expert’ anymore. Aside from learning a new way of testing I also have to learn a new application and all the business rules and logic. At the end of last week I felt really tired. Tired but really content.
I would like to review a couple of things that I find strikingly different in mobile vs web testing.
Versions. In my time as a web tester I was never too concerned with versioning (you might be appalled.). On the web, you test on the latest version and you don’t have to go back. The main concern is that it works in all browsers, even the crappy ones. (note: when it comes to bugs it is worth noting when the bug was found and when it was fixed). I was never too aware of what exact version of the code I was on. I was only fixed on regression in the existing code; the value for the business. For this I used my automated test set. How different this is on mobile! I am constantly checking which build I am on, and we regularly have to test stuff against the current production version of the app (for example: new backend stuff has to not break an older version of the app we still support). And even though I am the ‘iOs tester’, we also check if the Android and iOS versions act the same. Android is in my opinion more difficult than iOS, simply because there is more variety in devices. Mobile testing is more prone to errors, because you have to be aware of more factors. Maybe this will change when I am more experienced, but for now I have to constantly be aware. A bug in version A could be perfectly OK in version B.
Analysis. On the web you can easily analyze the code. Inspect element with firebug and you can see what is going on. I knew my way around with the use of many tools. Now I am partly lost again. In Xcode it’s pretty doable to see the structure of the app and calls, but I have to find my way. I guess it’ll take some time before I am used to it. It seems to me that for Android it is harder. (I also HATE the Android SDK with Eclipse and the damned slow emulator).
Tools/Programs. As mentioned above, the tools for mobile testing are somewhat different than web testing. I have to learn to use Xcode and all its aspects. I have to learn to work with emulators, different kinds of tools to test service calls and for me the biggest change: a new tool to do the automated testing. I am SO used to Selenium/Java testing and now I have to learn Ruby. I am truly excited about that, because I love test automation.
In the course of time I will have a better understanding of mobile testing and all that it takes to be a good mobile tester. I hope to bundle the knowledge then and hopefully teach other people a thing or two. But for now, I am the one who has a lot of learning to do!
Thank you for reading.
Comments ()