The following post was written by mobile app tester Chris Polkamp as part of uTest’s “Crash Courses” series. You can read similar posts in the uTest Forums (membership required).
Background: In these days there is a wide range of software, this applies to desktop software, but mainly for web and mobile apps. At the time this course was written there are about 300,000 iPhone apps and 200,000 Android apps. My opinion and experience is that the performance and usability of an app can make the difference. I personally prefer a quick and easy app with less functionality than a slow and difficult application with many features.
Therefore, it is important for app developers and testers to focus on usability from the very beginning. An app that is is easy-to-use and intuitive, and similar to industry-accepted interfaces will tend to do well.
Usability for mobile apps is not the same for desktop apps: For mobile apps especially the input method, screen size and connection speed differs.
In this course, I will mention guidelines for developing and testing Android apps, which can also be used when testing the usability of an Android app. In the last item I will write some tips and examples to test an Android app.
These are ten general principles for user interface design, from Jakob Nielsen. Keep it in mind while testing usability (or print it to keep it on your desk) and it will help you a lot.
- Visibility of system status
- Match between system and the real world
- User control and freedom
- Consistency and standards
- Error prevention
- Recognition rather than recall
- Flexibility and efficiency of use
- Aesthetic and minimalist design
- Help users recognize, diagnose, and recover from errors
- Help and documentation
Android Guidelines and Tips
- Sidebars are not easy to use on touchscreens.
- Fingerprints are more visible on darker backgrounds.
- There must be a way to go back or undo an action, as touching the wrong item is done quickly.
- The full screen should be used.
- Common operations directly visible on screen.
- Minimize keyboard input.
Icons & Buttons
- Buttons should have the right size and be suitable to big fingers.
- Buttons in the same place of the screen to avoid confusion.
- Natural and consistent icons.
- Buttons that have the same function should have the same color.
- Contextual menus are used very often, it should not be overloaded because it has to be used quickly.
- Keep text simple and clear.
- Short sentences and paragraphs are better readable.
- The usage of headers will make a text better readable.
- Bullets for lists will make a tekst better readable.
- Typing text in a textbox should start with an uppercase letter.
- The font size should be big enought, not too big and not too small.
- Confirmation messages should be avoided, a click performs the action directly.
- When the app starts downloading a lot of data, the user should be warned.
Android Testing Tips
- Use a real Android phone, not an emulator. Some things you just can’t know if you run an app on an emulator.
- Mobile apps are most often used in short snippets of time and will be opened and closed many times. Therefore, test the closing of the app from different states and check if it re-opens in the same state.
- If possible try testing the app on different Android devices an operating system versions.
- End users typically find more problems (bugs) that a limited set of testers, so let other users (family/friends) help. Research has shown that 6-9 users is most efficient.
- If you have decided to involve more users, search for different types of users. For example, users with a different age, handicap or experience can find other usability problems. Bear in mind the target audience for the mobile application.
- Android detects a change in orientation when the user turns the device so that the display is “landscape” (long edge is horizontal) instead of “portrait” (long edge is vertical). Perform this in different states and check if the screen and state is still the same.
- For more information, please refer to the Android Graphical User Interface Guidelines: http://developer.android.com/guide/practices/ui_guidelines/index.html