Category Archives: Mobile Testing
The User Experience with Ilona Posner
During the past few years, there has been an increase in the need for User Experience (UX) techniques to create and test products and services. Ilona Posner gives an excellent introduction and numerous examples of UX and how it can really change the way you see mobile design and development.
Why is it important to think about user experience design when creating your mobile product? Ilona presents compelling reasons why user experiences are important. Not only the economic traction but also the overall success of a product can be affected by the user experience design.
What is User Experience?
Defined by the International Organization for Standardization, user experience is “a person’s perceptions and responses that result from the use or anticipated use of a product, system, or service”. The whole process of the user experience is subjective and is shaped by the users: emotions, beliefs, perceptions, and behaviours to name a few.
From the moment your user finds your product, to when they use it, and even after they stop using it, UX is important. Every aspect of the journey through your product should be important to you when studying the user experience, it is always an opportunity to improve and understand your product as it relates to your customers’ experience.
You Are NOT a User
Ilona has created a mantra for her students and teams: “I am not a user.” The mantra is there to guide designers to remember that their perspectives are of a maker, not a user. What you see as obvious to you, might not be as obvious to the user.
You may know the manual of your product inside and out, but the true user doesn’t know or even think about your manual. The reality is, they will never go to a manual and only in true distress will they go to some form of help button.
When building and testing your mobile interface, keep in mind that you are tainted by the knowledge of the project. You do not posses the objectivity to be able to successfully understand how your product will be understood.
The Importance of The Prototype Stage
With a little imagination and creativity, you can “try” out your product before coding or building it. Paper Prototyping is where you draw out your designs step by step, working through the functions of your platform. One of the goals is to minimize the risk associated with a failed product, in turn saving both time and money in building. This is also the time for you to experiment and try different ideas, which may lead to greater innovation.
Ilona’s presents more examples on UX design and knowledge in the video’s below:
Video : User Experience Design
Video: User Research
Slideshare from Ilona’s presentation:
Wayne makes a key point about testing: “it’s not just about finding bugs in the software, but to really making it better.”
Wayne presents testing as a series of “zero sum games.” Budgets and deadlines mean you can’t test everything, so it’s important to decide the kinds of testing that are going to be the most effective. In other words, testing itself needs to be optimised. It should get the most ‘bang for your buck’ and help to actually fix bugs, rather than just collect them.
Top 4 Recommendations for Testing
Since not everything can be tested or fixed, Wayne introduces a few scientific approaches to help pare down testing to make it more manageable. Wayne’s recommendations for testing include the following:
1. Have a Plan: When you decide to test, it’s important to have a plan. Organize your limited resources, and schedule your testing to be effective as possible. It’s a good idea the spend time identifying ‘high-yielding’ tests and prioritizing ‘high-yield’ areas of code or features before setting up testing environments and thinking about test coverage.
2. Variety is Essential: Don’t always use the same data. Use different types of tests to compensate for each test’s weaknesses.
3. Knowledge is Power: Learn from other testers’ experience and pay attention to what is happening in the development practices, then ask questions, read the bug reports, and see what is breaking for others, so you don’t repeat the same mistakes.
4. Be Results-Oriented: Create priorities about what needs to be tested and work on the goal of choosing quality over quantity when testing. Avoid default test data, target critical bugs in main features, reduce and eliminate redundant tests, and generate ONLY quality bug cases.
Continuous Integration is just what it sounds like: a development process in which team members’ work is integrated continuously. Integration happens multiple times per day, and is tested with an automated build to find errors whenever they crop up. Wayne believes that continuous integration is a key aspect of modern agile development practices, since constant iteration requires constant testing to make sure each version holds together.
Wayne uses the analogy of Lego blocks: When building, you want to make sure that the individual blocks and the way they are connected work, and not wait until later to see if your construction falls apart. Under older integration processes, developers might spend as much time trying to integrate the unwieldy pieces of their creations as building them. Continuous integration is about avoiding that problem by identifying and squashing bugs as soon as they occur. By reducing the risk of unpleasant surprises later in development, it also allows you to get a good idea of the quality of your code and what kind of progress you are making.
Wayne sounds a note of caution: Automated testing will not identify all bugs, log issues, or help to debug software. Think of it as a part of a developer’s repertoire, rather than a replacement.
The Pitfalls of testing
Wayne outlines three pitfalls of testing: Human Bias, Group Think, and Inference and Assumptions.
Human Bias: We all have biases due to our backgrounds, and these may influence our decisions. While transcending bias is easier said than done, we all benefit from becoming aware of our bias and how it might affect our testing and objectivity. If you are aware of your bias, you might be able to make choices you otherwise wouldn’t have.
Group Think: Teams have their own biases as well. If everyone is just agreeing with each other, we might be creating ‘yes teams,’ instead of creating teams that test assumptions.
Inference and Assumptions: There is an additional pitfall: Obvious patterns can fool us into jumping to erroneous conclusions. Indicators are not results: They just indicate those areas where we should test for results. For any testing, past experience should be only used as a guide and not as a conclusion.
UPDATE since Wayne’s presentation at MEIC!
Since Wayne’s presentation on testing at MEIC, Steve Krugh has been recently acknowledged Wayne in a new chapter on mobile in his 3rd edition of “Don’t Make Me Think,” a very popular and must have book on UX. Steve Krug is one the leading authorities in research in human-computer interaction and web usability. Wayne highly recommends Steve’s book for everyone who builds mobile apps to buy this book.
Steve’s website: http://www.sensible.com/
Video 1: Introduction to testing
Video 2: Mathematics of Testing
Video 3: Continuous Integration
Video 4: Pitfalls of Testing