There has been a lot of buzz around mobility in the last few years and it is no denying that the benefits it has delivered thus far and the future potential is huge. Smart devices have become a common gadget across the world and the market share they have been gaining is mind-boggling. From a QA and testing standpoint, what should we be concerned about or how do we empower ourselves to test on such mobile devices and platforms? Firstly, let’s look at whether mobility is a horizontal or a vertical. This is a tricky question and there is no one right answer as this really has to be handled on a case by case basis.
In my opinion, mobility is more of a horizontal that stretches across domains and has common QA practices and methodologies that can be re-used. When you are testing for mobile applications (be it any domain – educational, banking, retail, transport etc.) or mobile powered versions of applications, it is really a horizontal like how you would test for performance or security of the application. Even if a product is solely being released on mobile platforms, it is still to be seen only as a horizontal, because the product by itself may belong to a certain domain. E.g. in the recent times, we have been testing for a travel application, which is being considered for launch as a mobile application to start off with. So, herein the domain really is travel and the mobile rendering is a horizontal. Whether you test for the application specific to the device or specific to the mobile platform, there are commonalities that you can identify to carry over across domains.
So, when does mobility really become a domain? In my opinion again, only when a mobile workflow centric development takes place, do I see it leaning towards a domain of its own. For e.g. when an m-commerce application is being developed,, although the domain may still be retail, a lot of workflows including login, any other application interaction, mobile payment instruments become very specific to the device or platform. Those are potential cases, where I see it being looked at, as a domain of its own.
As we sometimes say, what is in a name – similarly, what is in a classification? Whether a domain/vertical or a horizontal, implementing the following high level points, will go a long way in a robust mobile test strategy:
1. Optimized test matrix – with the multitude of devices and platforms in the mix, mobile testing can soon become overwhelming and unless a methodology is devised for optimizing the test matrix, the efforts would not reap much return. Keep track of device and platform market shares based on geographies in which the product is to be launched, past problematic areas, available time and cost budgets in choosing an optimized set to work with
2. Real devices to work with – while simulators and emulators help bring in at least partial test coverage, they do not completely account for real device testing. Gradually yet steadily build a real device mobile test lab, handpicking devices to include based on their market share. Look for creative ways to augment device coverage by even using some of your company employees’ phones for testing purposes, with their approval
3. Smart devices application test automation – this is still an evolving area, but much progress has been made both with commercial tools and open source tools that now support mobile test automation. Some require the application’s source code, while some work off of the UI objects. While the latter in not always robust, it offers automation potential in the mobile space. The automation strategy also depends on whether the application under test is native, web or hybrid. For further details on this subject, please refer to a webinar that we recently hosted on this topic
4. Reusable test cases – as a generic best practice, it helps to build reusable test cases for mobile testing. Tests around install, login, any local downloads, user preferences storage etc. can be easily saved for future re-use with minimal customization, even across domains. Also, build test cases around existing laid down guidelines such as HIG – Human Interface Guidelines for Android, iOS. These will help you get comprehensive coverage and also stay up-to-date, especially when you know the developer has used such guidelines in developing the application
5. Ongoing research – Mobile development is still in its nascent stages. There is a lot of potential and market penetration yet to happen. Look for opportunities for ongoing research specific to problems you are solving in your work, conferences that focus on mobile testing solutions, white papers, demos, webinars etc. to build the knowledge base
In summary, it is very exciting to witness the current ongoing mobile revolution. Embracing it as part of your testing strategy and being on the lookout for newer trends and test techniques in this space, along lines of points listed above, will help you get a leading edge in your mobile testing efforts!