Mobile Testing is a highly rigorous field. Let’s delve into the reasons behind this.
In my search for informative apps/games for my young child, I discovered a game that allows children to perform various salon tasks on vehicles, such as washing, cleaning, painting and even tattooing (indeed, vehicles can have tattoos too!). The game’s execution and concept were captivating, drawing me right in.
Recommended IPTV Service Providers
- IPTVGREAT – Rating 4.8/5 ( 600+ Reviews )
- IPTVRESALE – Rating 5/5 ( 200+ Reviews )
- IPTVGANG – Rating 4.7/5 ( 1200+ Reviews )
- IPTVUNLOCK – Rating 5/5 ( 65 Reviews )
- IPTVFOLLOW -Rating 5/5 ( 48 Reviews )
- IPTVTOPS – Rating 5/5 ( 43 Reviews )
I quickly bought and downloaded the premium version, handing it to my toddler with the expectation that he would be so engrossed in vehicle decoration that I would gain some undisturbed time to focus on my work.
With enthusiasm, he took it and started exploring (because children are inherently keen on scripted testing 🙂 ). However, within a span of 5 minutes, he returned with a complaint that it wouldn’t work, asking me to restart it.
I noticed a pop-up message which declared, “Unfortunately, the ‘XYZ’ has stopped functioning.” I pressed OK, restarted the game and handed it back to my son. But the same problem recurred after only two minutes – the exact same complaint and identical warning resurfaced. This situation began to pique my interest. With my continuous tester mindset, I decided it was time to explore the issue.
I inquired of my toddler as to his actions. (How did you uncover the problem?)
“I did nothing, I was just playing,” was his response.
I restated my question – how exactly did you play the game, can you demonstrate for me? (Could you recreate it?)
As he played and I observed, the game seemed to operate as expected, and I started to get restless. I was almost ready to return to my work when I received the same complaint again. He rejected the game, stating his dislike for it due to its constant collapse.
At this point, the tester inside me kicked in, and I found a comfortable chair to play the game myself. It functioned seamlessly for 10 minutes without any malfunctions or crashes. I tried multiple taps, toggled data connections, switched GPS, altered between portrait/landscape modes, and even powered on/off the game, but I couldn’t find any issues. Tired and exasperated, I asked my son to resume the game so I could observe these frequent game crashes.
With a new round of gaming, he chose a car and initiated the game. He lathered some soap, sprinkled water through a designer fountain, dried the car, and transitioned to the decoration section. He painted the vehicle green but later decided he didn’t like the shade. Rather than changing the paint, he reverted to the cleaning section and doused the car with the hopes that it would restore its original color. This was when the exact pop-up resurfaced, “Unfortunately, the XYZ has stopped functioning.” I was practically leaping from my seat. After repeating these steps, I too encountered the same crash.
What was the cause?
After a series of trial and error methods, I figured that:
If the user moves back from the decoration to the cleaning section, the application crashes.
Wow, what a trivial bug, I mumbled to myself. Having been in web application testing for over eight years, I had tailored certain test cases to be performed instinctively, one of which was doing a back and forth and then again forward movement before an action. Did the game developer of this mobile game neglect this minor detail?
But didn’t the tester find this error that led to the game being rejected by the child?
Why am I sharing this instance?
In times where mobile devices reign supreme over other platforms and a new mobile phone is introduced nearly every two weeks, mobile testers are under huge pressure. Questions pertaining to basic testing or even functional testing are often omitted from interviews for mobile testing roles.
Is Mobile Testing That Difficult?
It is often believed that testers should be proficient in memory leak testing, security testing, interruption testing, device-specific testing, operating system-specific testing and should be familiar with at least one or two tools for performance checking in the field of mobile testing. Is this sufficient?
Not at all.
The reasons making mobile testing a challenging domain are:
- The rapid growth of the mobile industry is now making it mandatory for all industries to launch mobile apps. Currently, almost every conceivable keyword has an app corresponding to it.
- Mobile devices have fast become an essential part of our lives. We tend to ignore or reject sites or apps that aren’t mobile-friendly. We demand everything to be readily available at our fingertips, and this high demand puts great pressure on each project to ensure mobile compatibility.
- The market is inundated with a vast array of smartphones, with new models being added routinely. This makes achieving comprehensive testing coverage a vital component and a point of contention for everyone involved.
- With the rise in new indigenous operating systems in addition to traditional ones like IOS, WebOS, Blackberry,& Android, it is now expected for most applications to be cross-platform, necessitating extensive testing on various supported platforms.
- Mobile testing automation is still in the developmental phase. Even though there are numerous tools available, sourcing automation testers for mobile testing remains challenging.
- Mobile testing introduces various challenges like network issues (weak network, changing from Wi-Fi to 3G/4G and vice versa), performance issues when multiple apps are in use at the same time, memory leaks, battery consumption, and more.
User-friendliness is the most critical aspect of mobile testing. Regardless of whether an application is visually attractive or feature-loaded, if the user can’t navigate it on that tiny screen for more than 5 seconds, they are unlikely to return. Mobile users, having a plethora of choices, exhibit zero tolerance towards bugs.
You could argue that similar challenges are faced in web testing too, where user friendliness also takes precedence. While that’s true, computer users generally exhibit more patience compared to mobile users. Even as a tester, you might have noticed this difference in user behavior. Testing a website on a desktop allows you to wait for 2-5 seconds but, while on a mobile device, you hurriedly tap the loading symbol to save those precious 2 seconds.
Conclusion
So, mobile testing is not complicated merely because testers need to consider expansive coverage and real-world usage (though these factors do differentiate it from regular testing). It has become challenging because, in the race to conduct testing within a time constraint, most mobile testers prioritize interruption, memory leaks, and performance testing, often overlooking or undervaluing basic functional testing (Note: This is a general statement and shouldn’t be used as fodder for criticism 🙂 ).
If you have worked in distinct domains, you know that no domain is easy and each comes with its unique set of challenges. The mobile domain is no exception. Yes, it’s different and has drastically transformed user expectations and requirements. However, it’s challenging because testers commonly believe that device coverage testing is more vital than thorough functional testing on at least one device.
Let me reiterate that the above are my personal opinions and are not targeted towards any specific individual or industry.
Article written by: Bhumika Mehta, a project lead with over a decade’s experience in software testing. She is a passionate tester and enjoys testing just about anything.
In our forthcoming article, we will explore Android Version in greater detail.