Smartphones have undoubtedly become popular in the past decade. It is not surprising to see people using their smartphones all the way to work or back home. Relocated technology companies have since become giants and dominated the way people live. The platforms they have created have lured a lot of companies to get a share. Mobile app development and testing has therefore become very hot in the market.
Mobile app testing is very much needed but very few are aware that the traditional way of testing for in-house system does not work properly for mobile app. Some companies have repeatedly encountered problems and struggled to understand the reasons behind it. Here, this article is going to cover some challenges of mobile app testing that are common but seldom heard of.
From testing attitude to test methodology
The traditional software development methodology goes through multiple phases including requirement gathering, analysis and design, coding, testing and maintenance. The quality of the system relies primarily on the quality of the requirement and in the traditional way, the requirement would be provided by an in-house staff (“User”) of the company. The testing team would then follow the requirements to do testing.
In the world of mobile app testing, following this methodology is going to introduce problems. The reason is simply that the “User” in the project team is not the real end-user of the app. The requirements they provide could be incomplete and different from what a real end-user wants. Some could even be biased and improper. If the traditional methodology is strictly followed, the app developed based on these requirements could never be good. More importantly, no one in the team would be able to understand why the app is not as popular as they thought even if all the requirements were met and verified.
We have heard of an example where a job seeker complained that a recruitment mobile app was so difficult to use and gave up using it. One of the reasons could be that the requirement provider is an HR secretary instead of a job seeker; therefore, what he wants from the app is to make sure his administrative work for recruitment can be reduced instead of facilitating the job application.
One way to address this issue is for the project team, especially the testing team, to embrace the attitude that testing should not only focus on the requirements but as well as the risks faced by the system. The requirements are only pieces of reference for the testing team to understand the functionality of the system; but to test the system, the testing team should think beyond that. Questions like “Would the end user like this function?” and “Where and how would the user use this system?” should always be in the mind of the testing team. The testing consideration should be more than just from the functional perspective.
Other than the changed attitude to look at requirements, the testing team has to also be very innovative and strong in communication. When creating the test strategy, test plan and test cases, they no longer have a rule to simply follow the requirements. The test cases should be convincing as well as surprising. The communication skill of the testers becomes extremely important because they have to explain defects that no others expect.