Developing Your Testing Superpower: Why You Should Cultivate Empathy in Software Test
“User experience focuses on understanding and designing experiences tailored to human behavior” ~ Dr. Carly Finseth, Teach Like a Gamer: Adapting the Instructional Design of Digital Role-Playing Games (Studies in Gaming)
In the hubbub of developing and testing your software product, leveraging the value-add of empathy in software test often gets overlooked. The fundamental role of software testing is as a search for quality-related information. We use this information to close the gap between what we know and what we don’t know about our products. This search for information is a rich intellectual activity requiring us to question, study, model, explore, experiment, deduce and extrapolate. These activities ask us to both analyze—and empathize.
Empathy, defined as the ability to understand and share the feelings of another, is the star of today’s human-centered software design and test. It’s no longer enough to create an app that doesn’t suck. Unless your software is a true unicorn, there’s at least a handful of other apps that do the same thing yours does. And if there isn’t yet, you can bet your lucky unicorn there will be soon! With so many choices, a customer has no reason to get stuck using an interface they don’t like—or that doesn’t seem to like them.
IBM stated in their write-up on User-Centered Design that “every dollar invested in ease of use returns $10 to $100.” How? Let’s look at statistics for two categories, websites and apps.
For websites, the rise of the mobile device means:
- 73% of website users will abandon your site if it’s not optimized for mobile
- 52% of users who have a poor experience with a mobile site will not engage with the company—on any platform—PCs included
- 60% use mobile exclusively to make purchase decisions
The average smartphone user interacts with their device 47 times a day. This translates to:
- Current number of Android apps in the market: 2,746,701
- New Android apps in the market during Sept 2018: 45,306
- Percentage of apps introduced in September listed as ‘low-quality’ by AppBrain: 52%!
What do these statistics show? We can learn that one of the best times to engage empathy is at the beginning of the development process! Historically, websites and apps have been designed for early adopters, then adapted for a more general audience. Now the shift to mobile devices asks us to shift this thinking to a ‘mobile-first’ approach. Instead of starting with a website or app full of feature-creep, empathize with your users and where they’re using your software. Use the constraints of a small screen and an attention divided user to make the hard decisions about reducing unnecessary complexity and providing important information first.
There’s an astounding amount of digital use data available online. What it boils down to is this: there’s a lot of ‘bad UX’ in the digital world—and today’s customers won’t use platforms with negative emotional UX.
Empathy in Software Test – The Human Touch
We’ve all used sites and apps that felt like the product owners were from a different planet. Think of the site with strange user paths to find info, or the app so complicated it seems to require a PhD to use. Both of these scenarios leave our users with an unpleasant residue of negative emotions. It might seem silly to write that a compilation of code is ‘unfriendly’ or ‘built for someone not like me’, but that’s exactly the message we send our customers when our testing lacks empathy.
Today’s software is assumed to work but is adopted when it offers a pleasing experience. To be truly empathetic software testers we have to feel the pain—and the pleasure—of our users. We must ‘walk a mile in their shoes’. If we don’t allow for the emotions of our customers during test, we end up with something that’s not human-centered test, it’s ‘task-focused’ test.
How Empathy Uncovers Design Flaws
Websites and apps are created for human users, (unless you’re a cat, then you get apps of your own). What do we humans have in common? A complex and vibrant palette of emotions. These emotions affect our perception of product quality and value, and our assessment of a company’s ethos. Cheap wine tastes better in fancy glasses. Sales of Macintosh computers soared when Apple introduced the colorful iMac.
In Emotional Design, Why We Love or Hate Everyday Things cognitive scientist Don Norman shows us that research into emotion and cognition proves attractive things ‘work better’. A successful product not only eliminates confusion, frustration, and irritation, it is also attractive, pleasurable, and fun. Hey, we’re humans, right?
Norman’s research into why we use the products we do divides our emotional responses into three categories: visceral, behavioral and reflective. At the visceral level, physical features—look, feel, and sound—dominate. This means the sculpted curves of a heavy wine glass make our cheap wine taste better.
The reflective level is where we interact with the product because of its meaning. Because it tells us something about ourselves, or our culture. Reflective design is about self-image and the message the product sends to others. This is why teenagers want whatever the cool new kicks are.
The behavioral level is about use. Look doesn’t matter, performance does. Those sneakers might look cool, but are they comfortable? The behavioral aspect is where most software design and testing are focused, often under the guise of User Experience (UX). UX begins with ensuring our products fulfill a user need through functionality and usability, but Norman’s research teaches us that behavioral design addresses only a small fraction of the emotional palette.
Empathy in Software Testing is Vital to End-User Satisfaction
UX is the hot test-and-design method of the year, and for good reason. According to the 2018-2019 World Quality Report ensuring end-user satisfaction is the top objective for QA and testing functions.
UX stems from design thinking, an approach that begins and ends with people. Beyond a test focus of how the software works through functional testing, UX testing focuses on how the software makes us feel when it’s working. Empathy allows us to address not only the behavioral design aspect, but the visceral and reflective levels as well. This distinction—task completion vs emotional fulfillment—is why great software test engineers have a healthy sense of empathy. They feel their users’ pain and pleasure. They think beyond task completion to emotional fulfillment.
Empathetic testers walk that mile in a users’ shoes. They may even actually talk to their users. They think about what their user is trying to do, and how it feels to do it. After all, how likely is it that a 28-year old guy will be able to design software for a 70-year old woman without understanding her journey? And that understanding starts with empathy.
The need for empathy doesn’t begin or end with UX, or even with software testing. Empathy is a value-add during functional, performance, and exploratory testing and a boon for developers, also. Think of it this way, even if you’re working on a standard business application, fundamentally you want your users to enjoy—or at least not hate—using your software.
Using Empathy to Help Users Complete Tasks and Love the Experience
You might have caught articles touting “Good UX focuses on helping the user complete their task and minimizes frustration.” I’ve written the same many times, and in a basic sense the statement is true. Users want to ‘do the thing’ with a minimum of hassle. But it’s easy to forget that there’s more to life than ‘getting it done’. So, I ask myself: “Why are the current UX testing methods still primarily ‘task’ focused and why, when user emotions are considered, are the negative emotions like frustration emphasized?”
Interactive technologies are meant for human users. It makes sense to engage in our test activities from the perspective of getting a task done without frustration, but also to build interaction that supports feelings of accomplishment, belonging, self-fulfillment, self-esteem, family, satisfaction, security, delight, empowerment, and emancipation. In short, we should design and test our software offerings with user well-being in mind.
Dr. Marc Hassenzahl, professor of Ubiquitous Design/Experience and Interaction at the University of Siegen, Germany recently published A Personal Journey Through User Experience in the Journal of Usability Studies. In his article, Hassenzahl shares the way Human-Computer Interaction theory and his understanding of what UX is has shifted over two decades. He takes us from “A sharp distinction was made between sober and elegant ‘tools’ and gimmicky ‘toys’—the latter supposedly bloated with useless functionality and ornament.” to “cognitive science-imbued approaches… that embrace beauty, emotion, experiences, persuasion, and many more concepts.”
Much like Normans research into the three types of emotional response (visceral, reflective, and behavioral) Hassenzahl makes a persuasive argument for us to recognize “the experiential as a central and explicit objective of design”. In software, this means we shift from “a narrow concern about whether a product can be understood and operated to a much broader concern about desired and undesired experiential consequences of prolonged product use.”
This sort of human-centered design-thinking is a critical tool for everyone involved in the creation of a software product, and is the fundamental value-add of empathy in tech.
Software Testing Skills for the Empathetic Tester
Create empathy-based test scenarios
- How do our customers feel when using our products?
- What are our users seeing and hearing when using our software?
- What types of positive or negative thoughts are they thinking while using our apps?
Focus on user goals beyond task completion
- Using a product isn’t a goal in and of itself. Dig deeper and see what needs your product is meeting will meet.
- For example, “use social media” is not a user goal, but “connect with my friends” or “let the world know what I’m doing”, or even “stay in touch during emergencies.”
Dissolve the IT intra-industry empathy gap
- There is often a lack of empathy between people working together on projects. When we’re under pressure to deliver a new website or application, it is all too easy to be critical of our colleagues without understanding their experience of the situation.
- Don’t be the Tester who points at Dev and says, “poor quality” or the Dev who looks at Business and mutters “changing requirements”.
- Instead, ask “what are they experiencing right now?” and “how can I help?”
Use Empathy to Release Better Software Products
Every step of your customers’ journey, every touch point, every interaction, every detail of your brand and your software, should reflect empathy for their experience. The myriad digital offerings available today make user experience and empathy the initial, and often only, driving force behind success.
The first step we in the software industry should take, I think, is to embrace empathy. We must put ourselves in everyone’s shoes and not just the ones that fit best.