Mobile Web Testing

From bemoko developer wiki

Jump to: navigation, search

Mobile web sites can be tested with the following techniques:

  • Real Device Testing – Physical device “in hand” or remotely accessible
    Real device testing can take the form of (1) real devices in the hands of your test team, (2) remote access to real devices[1] or (3) outsourcing (or crowdsourcing) of device testing[2].
  • Usability Testing - Focusing on the human aspect of user interfaces
    Usability testing goes beyond the functional and design requirements of a system and sees how well the serves the user
  • Device Emulation – Some vendors provide emulation tools or services.
    Emulation is an attempt to visually and functionally reproduce the behaviour of the real device.
  • Device Simulation - e.g. Firefox with HTTP header emulation
    Simulation is the act of sending the appropriate HTTP header such that system responds as if the real device had connected.
  • Automated Testing
    A decent automated web testing strategy helps reduce the number of issues before site release and before real device testing. Issues are much cheaper to fix if caught early. And nothing beats a good regression test coverage to help with site maturity.
  • Performance Testing
    Performance testing is an often overlooked and/or poorly executed activity. A standard part of any project implementation is to test the system under load

Background

When it comes to validating the rendering on a device absolutely nothing beats testing with a real device, as it is only with a real device that you can experience the service as the end user will.

Testing on real devices is not, however as efficient, as other device emulation or simulation techniques. Device and SIMs access may be limited, UI input may not be as easy, network access may not be reliable and it is not as easier to troubleshoot situations encountered.

This is where device simulation plays an important part. It is possible to visualise what the mobile web site looks like on a small screen, interact functionally with the system and verify the look & feel. You can be reasonably sure that if the device simulation fails then real device testing will also fail, however it is much less effort to reach this conclusion with device simulation and much easier to subsequently resolve any issues. Conversely - although you cannot rely on the real device passing if the device simulation passes, you can be confident that it stands a better chance of passing. Furthermore, if the real does fail when the device simulation passes, then it is indicative that it is something to do with the particularities of that device.

Device Emulation is another tool at your disposal. Some vendors provide emulators that are reasonably comprehensive and useful. Many vendors, however, do not provide emulators which are reliable enough for mobile web testing and therefore not easy to get good coverage of devices using emulators. bemoko use emulators where available, but in general prefer to test on real devices rather than rely on emulators.

With experience, it is possible to build up an understanding of what works on real devices and what doesn't. These concepts and tests can be built into the automated tests reducing the risk further of waiting until you have the real device in your hand before identifying you have a rendering issue.

Further Reading

  1. bemoko blog on testing mobile sites - http://blog.bemoko.com/2008/01/26/testing-mobile-sites/

References

  1. DeviceAnywhere - http://www.deviceanywhere.com/
  2. mob4hire - http://www.mob4hire.com/