Mobile Device Testing
Increasingly we are finding companies moving more and more applications over for use on mobile devices, be they smart phones or tablets. In fact more people conduct queries from Mobile devices now, than traditional Web sites.
Testing mobile devices and mobile apps really requires more testing than that traditionally completed for non mobile applications. The functionality has to be tested on a variety of operating systems and devices and performance testing is really important, as end user experience is key.
Once an application has gone live, it is very important to continue to see how well it is working, so allowing any required changes to be proactively implemented and keeping the user experience positive.
We have found that a good way to test mobile devices, either Android or IOS, is to use Selenium. Selenium with Appium, can be coded to drive real Mobile devices connected to a desktop or laptop and interract with a variety of apps. It can use different element locators, perform drag and drop, swipe vertically or horizontally, scroll down to text, select spinner values and more.
There are also cloud offerings that will harness real devices in a remote lab that you can then access to manually test the different devices for functional testing
You would initially want to predict what the end user experience would be through testing, but then how the different devices worked in reality. It is not really feasable to conduct this type of testing manually, as you would, for example, need to load a van with all the different devices, set-up a number of different accounts with different wireless providers and then drive around the country(ies) where you expect to do business. HP Unified Functional Tester (UFT) has an add on to allow the functional testing of mobile devices and this can be used in conjunction with HP Loadrunner to create a representative load on your servers, load balancers, databases, etc.. A product like Shunra can be used to accurately emulate the wireless network conditions for the different providers in existence - including dropped packets, slow connections, jitter, remote locations, differing networks, tower aquisition, etc.