Learn seven fundamental UX design principles and how to incorporate them into QA testing efforts to maximize testing value and ensure usability.
User experience design principles build the foundation for positive UX. Regardless of platform or purpose, all applications benefit from implementing fundamental UX design principles. Good user experience improves customer satisfaction and loyalty and builds a positive software reputation. The better the product serves customers, the more competitive a software application is in a crowded market.
UX is crucial, so why do many software development teams drop it right after the design phase? UX and usability testing should be part of the QA testing effort from the start of development through to the release and as part of regression testing. Why? Applications change from release to release, sometimes quite fundamentally. It’s important to maintain a positive customer experience with QA testing that includes usability testing to verify the UX fundamentals remain in place.
This article describes the fundamental UX design principles and how to incorporate them into QA testing efforts to maximize testing value and ensure usability.
These seven principles are universally recognized as the fundamentals of UX design.
If the purpose of a software application is to enable customers to get work done, accomplish a task or learn a new skill, then it’s all about making a product that solves or fulfills the customer’s needs and wants. User-centricity means putting what the customer needs above design and programming functionality.
Creating a user-centric product means you must fully understand your product’s target audience. What do they need and what do they want to accomplish? Meeting user’s needs requires balancing business and customer needs.
Consistency is a simple principle, but it is often ignored. Design and coding patterns must be used across the product consistently. As a QA tester, have you ever entered a defect or enhancement request to make the button size, location and/or text consistent between pages? Frequently these types of issues are ignored or buried in the backlog as less than important.
To have a consistent brand, you need to make products consistent. “Consistent” doesn’t mean every page must be the same. However, you need to consider that customers have a low tolerance for hunting down what they need every time they change pages.
For example, what’s the one thing Apple is known for that Microsoft Windows used to violate with every release? Changing menu locations. Have you ever spent significant time searching for where Microsoft Windows moved the menus you use? It’s extremely frustrating and one of many reasons Apple is so popular.
Consistency is important across the product. Consistency creates a known pattern for customers which translates into a low learning curve and a more positive user experience.
User control is a principle that may be even higher priority than it is listed here. When developing an application or product, remember to give the user control. Users will make mistakes. In the event of a mistake, there must be one or more ways to exit, back up, undo or cancel an action.
Undoing an action must be quick and simple and not result in a long, extended and confusing process. Always gives users control over the experience by providing clearly labeled and accessible alternative actions.
Hierarchy has two flavors:
Hierarchy shapes how a user learns to navigate through an application. It involves both the visual hierarchy of pages and screens as well as the order of display. For example, in most applications, the highest priority actions are displayed first or more prominently. Hierarchy helps users learn to navigate and recognize functions quickly without having to consult the help menu or other documentation to get the functions they want to use.
The context principle for UX takes into consideration the circumstances where your application is used by customers and what factors impact the user experience. For example, consider the devices users may use to interact with the application. What environmental or physical factors may interfere with the customer’s experience?
Understanding the possible contexts the application is used by customers helps to create an application that works for a wider variety of users.
Accessibility is more important to the success of an application than simply meeting regulatory requirements. Adding in and testing accessibility in various possible user scenarios helps everyone to be able use your product and have a positive experience. Don’t cut your customer base short—make sure all user types can access, read and perform an action easily using different control and view options.
Testing usability effectively means you have included all five components:
Usability is more than verifying the application meets the documented requirements. It’s determining if the application functions for users efficiently and effectively. Strive to exceed customer expectations by releasing an application they love and recommend. No one wants to use an application because they have to. They want to use it because they want to.
QA testers have multiple options for incorporating UX design principles into testing routines. The first is by creating usability test cases for each principle. Test cases can then be added to regression test suites and executed as part of manual regression testing. Optionally, testers can develop exploratory tests that include each UX principle. Tests can be written out as tours through the application or simply executed from a checklist-type script.
Additionally, if the organization has a UX team that also tests with customers, use those tests and execute them during the development cycle. Or edit them to include all UX principles and execute them routinely at the end of sprint or regression testing cycles.
Unfortunately, usability testing is not a candidate for test automation. The QA testing team needs to plan a session lasting typically from 3-8 hours for thorough usability testing. Work it into your schedule so you can test that the application will exceed the user’s expectations.
Usability testing can be done in multiple ways. When a UX team exists, they may execute testing sessions by observing users who are brand-new to the application. Formal UX testing involves inviting new customers or those unfamiliar with the application to try out new release features. As users are trying to accomplish a list of tasks given to them by the UX team, they note where they run into problems understanding how to use the app, receive errors or are unable to complete a task.
Usability testing may be performed by a QA testing team along with functional, integration or end-to-end testing. Many QA testers spend significant time testing out the UX designs at the beginning of the development cycle and provide feedback. The value of QA testers running usability tests is you get feedback in the form of issues from a group of users who understand the app at various experience levels.
Some testers may know the application inside and out, while others may not know it well or have just started using it. The variation in experience helps discover issues with usability. Usability testing is not simply pushing all the buttons in an expected order—it involves understanding all the customer personas or expected users and what they need or want to accomplish. As testers, it’s valuable to run a thorough usability test for every release to check the application satisfies customer needs.
Maximize the business value of QA testing by planning for and conducting usability testing that verifies the seven UX principles. In many development teams, the UX function ends after design. However, the application continues to undergo changes. Consider testing usability continually for the benefit of the application and its users.
A QA test professional with 23+ years of QA testing experience within a variety of software development teams, Amy Reichert has extensive experience in QA process development & planning, team leadership/management, and QA project management. She has worked on multiple types of software development methodologies including waterfall, agile, scrum, kanban and customized combinations. Amy enjoys continuing to improve her software testing craft by researching and writing on a variety of related topics. In her spare time, she enjoys gardening, cat management and the outdoors.