Automated software testing is often perceived to be the best approach when it comes to mobile testing of applications. Automated tests are quick, provide immediate feedback and the cost is minimal for running the test multiple times. In the scenario of Agile projects, those often need to be automated in order to keep up with builds which may be ready for testing up to several hundred instances per day.
As a result, human testing seems to be pushed to the wayside and maybe seen as superficial, producing low-skilled work by inexperienced testers who don’t possess the skills and know-how to write automated tests. Unfortunately, as an industry we ignore testing by humans at some risk. There’s a large amount of testing that is beyond the reach of automated test scripts. It is now the time to reignite interactive testing performed by motivated and curious humans. Interactive testing by humans will complement the automated tests.
Human feelings and emotions are what users will use to judge your applications, so we should test and explore how users may feel about the mobile applications in general. Quick and efficient testing can be a welcome sibling to the repetitive automated testing. In group tests, where several people meet to test the same piece of software for an hour or more can be very productive at finding issues the automated tests can’t dredge up.
For example, a human testing technique is moving both human and the phone, as it rotates from portrait to landscape modes and back, which may help expose visual or functional bugs which are impossible for the automated tests to uncover.
Examples of human testing for mobile apps:
1. Visuals #1 – Missing or distorted graphics
2. Visuals #2 (compatibility) – Portrait/Landscape tests show how borders, sidebars, titles, etc. will behave in both modes
3. Interface tests – An automated test calls an element by its object ID, however human touch on a mobile screen determines the actual interactive experience and will uncover issues there. This would cover screen validation, buttons, text inputs, navigation flow (Twitter, Facebook, reviews, bookmarks, etc.)
4. Visuals #3 – Some sites detect the display size of a mobile device and connect with an additional identical site that has been modified for mobile screen sizes. Visual testing is needed in this case.
5. Ease of use, the general human user experience is important to measure with any popular mobile application.
6. Operational tests – Checking for back-up of necessary app information, save/recovery plan during battery failure, lost data in app upgrade, effect on app by calls, messages, and reminders, signal fluctuation, plus app power usage.
7. Low Level Resources – Checking for overuse of memory, non-release of memory, temp app files not deleted, database size (growing too large) and app generating any type of garbage.
8. Device Variation – Deployed across different devices needs human test of: operating systems, operating system versions, manufacturers (Apple, Samsung, etc.), keypad types, app used on different devices may behave differently due to screen resolution, CPU, memory, optimized operating system and basic hardware.