It goes without saying that all apps whether they be native, web or hybrid must make a great first impression on the end user when it comes to their functionality and usability. In the real world however, extensive testing and the usability of the app is often overlooked. Not only does this lead to apps that don’t really satisfy the needs of the target audience but sometimes means the app isn’t able to fulfil its purpose.
As with applying best practice to testing starting early, getting users involved as soon as possible is the key. Start with the requirements and look at the early design that demonstrates the app's basic functionality and look and feel. Being shown examples of the app or being given early screenshots will enable the end user to start to provide valuable feedback as soon as possible.
To clarify, native apps are either developed specifically for iPhone or Android devices and therefore aren’t interchangeable, web apps are websites designed to feel like an app and will run on a mobile browser and hybrids are developed as the name suggests, a blend of native and web apps. The specific mix of features varies, some hybrid apps rely more on web-based technologies, while others rely more on native features.
It is very important to assure that all the apps work on all relevant devices and operating systems. As there are many types of devices in circulation and certainly many operating systems to support them, ensuing they work and perform as they should is critical. An example of a failure would be when an error occurs on a certain device combination such as an iPhone 7 running iOS 11.2. Unlike nFocus, few companies are able to access the hundreds of different combinations of operating systems, browsers, software and devices that would allow them to test for such app defects.
In simple terms, Usability testing provides a base to observe how end users respond to an application on a particular device or browser. Once you have tested the app you can then review the results of the usability tests to determine where issues exist and to deal with them before releasing the app to the main end user audience.
It’s fair to say, that dev teams that do not perform adequate testing are more likely to end up with a product that doesn’t work as intended and discourages users from using the app.
As you know, it is very costly and labour intensive to implement changes when the development is done, it’s easier and cheaper to modify the design before developers write a lot of the code. Early usability testing for apps also helps ensure that usability remains at the forefront of the teams thinking throughout the design and development phases.
When it comes to actual testing of the app, in the first instance it is best to use real people working on real devices in the real world, you need genuine authentic conditions and real user interaction to receive the best feedback. However, if you choose, there are tools that can automate testing and tools that can emulate browsers and devices for app testing, these tests need to be well written with known outcomes defined to ensure the greatest accuracy of results.
Once you have a clear set of tests defined, you need to organise your team to ensure they understand the objectives of the tests and the essential tasks. Keeping tests short and simple will assist in breaking down complex testing into manageable chunks which in turn makes it easier for the tester to perform.
From experience, having a basic understanding of the device you are using will help in the recording of any issue you encounter, learning how to screen capture is a must along with posting the result to correct forum. Additional items to consider are having a dummy credit card or PayPal/similar account for any financial transactions you need to perform along with having valid addresses to perform any necessary validation at the checkout.
You should also consider the location of the testing. Most testing can take place within your organisation or within a test lab, but what about testing across 3/4/5g or in areas where signals are weak? Response times and the overall performance of the app is as important as the functionality within itself.
A point to note is never get complacent, just because your app on your iPhone X works perfectly well, this doesn’t mean your iPhone 7 will also work as well. Ensure you thoroughly regression test across a range of devices and browsers to ensure you can say with confidence that the app works well.
When testing apps, a high proportion of defects are discovered when users go off-piste and try something that is not necessarily formally scripted; an example of this would be when a user tries to perform an action not expected of them like trying to subscribe multiple times to an offer using some or all of the same details of a previous subscription. The main focus is to learn how the users react to the app and vice-versa as any such unexpected behaviour should be recorded and reported accordingly.
Once the testing is complete it will be useful to report the findings. It is best to place any issues in logical categories based on the app's functionality, this way you can see hot spots more clearly and address areas of concern as a priority. You will want to be able to understand how the app has performed and how user friendly the app is to use and if there were any issues to address prior to go live.