Keep Your Friends Close, But Keep Your Users Closer
Keeping your users close increases what James Bach calls value-related testability, which he defines as “testability influenced by changing the quality standard or our knowledge of it.” Knowing your users well makes your product more testable because this knowledge serves as a rubric by which you can evaluate the product. This rubric can make testing easier and give the tester confidence that her test strategy is on-target.
The more you live and breathe your users, the more you know what they look like. Many products have a homogeneous user base. For instance, much of the software in hospitals is used primarily by nurses. Some software is used by college students only, CNC machinists only, or police officers only. Knowing that your base is homogeneous makes defining needs and values easier.
If we know the user base is not homogeneous or is always changing, that knowledge can keep us from testing for too narrow a subset of users, which we may have the tendency to do if we don't really know our users. We may unconsciously test as though we are the typical users, which may be far from the truth.
Familiarity may breed contempt, but in software development and testing, familiarity breeds testability and, ultimately, user happiness. The best way to get to know users is to bypass the middlemen—all the people between you and users. Testers should strive to observe real users. Testers should try to get access to support queues to read about the problems that users report.
Additionally, testers should be avid readers of message boards where users complain about the product, ask other users for help, or show off what they're doing with the product. This can broaden the tester's perspective of how the product is being used and clue her in to pain points that need to change.
Keeping your users close implies making room for their data and their environments. The less you have to guess what data users are going to feed through your software, the more testable it becomes. The less distinguishable your testing environment is from the real thing, the easier it is to evaluate how your product will perform in production.
Ultimately, a great tester strives to walk in the user's shoes—almost literally. If his product is a mass market mobile app, he will put in a pair of ear buds, blast some Bruno Mars or Daft Punk, and walk around downtown at lunchtime or a mall at Christmastime—all while attempting to use the app as a distracted user with 375 other apps might. This focused effort to understand the user will make the product more testable, especially if the tester gets started doing this in the nascent stages of product development.
Maintaining users near and dear may be what separates the wheat from the chaff in a world where applications fall as quickly as they rise.