Methods & Tools Software Development Magazine

Software Development Magazine - Project Management, Programming, Software Testing

Agile Crash Course: Agile Project Management & Delivery - Master the most important concepts & tools of Agile

Your Company Name Here - Reach 30'000 visitors/month and 35'000 software development professionals for $145.

Testing Your Emotions

Stephen Janaway, @stephenjanaway, www.stephenjanaway.co.uk

Paul* had noticed the strange behaviour earlier in the day. An application crash when using the Phonebook application in this phone was a pretty serious thing, he thought. It certainly made him feel frustrated with the application and it was definitely worthy of spending a bit more time investigating. So he’d done just that, for most of the afternoon, systematically working his way back through the tests he had run, trying to identify the exact steps needed to make reproduce the crash. But now it was 7 PM, most other team members had gone home and yet he still could not get those steps nailed…

Then finally, there it was. Add a contact, add a web address, edit that address, quit the app and re-enter it, then browse back to that contact and edit it again. "Got It!’ He punched the air in triumph and then thought about the next step. He’d just have to let the developer know straight away.

Fortunately Jane was still in the office. So over to her desk he marched. "Got a great one for you" he announced, "That code just isn’t what it should be". He showed the bug to Jane. She thought for a moment then replied. "No user would really do that thought would they?" she replied.

Paul couldn’t contain his anger "They would" he shouted. "I’ve spent all afternoon finding this, you need to fix this!" Jane was not convinced. Calmly she replied "I’m sure it is something we can put in the backlog tomorrow". "Tomorrow? No not tomorrow, you need to fix your bad code now!" was the only part of the remaining conversation that’s fit for polite sharing.

Emotions and Testing

As testers, it is very important to be able to understand your emotions. They can be a great heuristic which can guide your testing. But it is more than just that; understanding your emotions and the effect that they can have on others who you work with in your team is a key skill for all team members. One’s position within a team is often dictated by how well one can interact with others in the team. People who express extreme emotional reactions to events, particularly in cultures where this is not normal behaviour, risk becoming isolated and ineffective. This can be a particular problem for testers who are typically fewer in number, and frequently perceived to be the bearers of bad news. Paul’s behaviour above is not the best way for anyone to act.

Numerous studies have shown that people who express positive emotions are happier and this can lead to less health problems. Emotions can bias us. Understanding your emotions is not easy, but being able to do so enables you to adapt to different circumstances and get a greater awareness of yourself, which can help us all become better team members and testers.

Software can cause emotional responses in people and it is these responses that can also help guide testing. But how can one go about understand emotions? What are emotions?

What Are Emotions?

Emotions are basic human responses to external events or objects and are experienced by everyone. Brief in duration, they consist of a coordinated set of responses, and can be classified as structural, behavioural and physiological. We believe they are as a result of evolution. Emotions can bias us; they can affect how we work and how we are perceived. Some of us are better at controlling them than others, and learning how to control emotional responses can be an extremely useful tool for all of us.

We believe that emotions have a powerful effect on memory. There have been a number of studies that have shown that our most vivid autobiographical events are based upon those which caused significant emotional responses. As humans we remember those events with far greater detail and clarity, leading to what is known as a negativity bias. It is likely that this is due to evolution; when the human race was in its infancy our survival depended on progressing by trial and error. This is what is more commonly referred to as the fight or flight response; survival depending on establishing repeatable behavioural patterns through life and death situations. As we evolved as a race, then this process of learning became genetically embedded within us. So next time you are tempted to shout at someone, it is certainly worth taking a deep breath first and considering if you really want to do that; after all, they’ll most likely remember you afterwards for that reaction, even if you’ve had a perfectly good relationship beforehand.

It is also important to understand what emotions are not since the term emotion is frequently confused with the following:

  • Feelings - a subjective representation of emotions, private to the individual experiencing them.
  • Moods - diffuse affective states that generally last for much longer durations than emotions and are also usually less intense than emotions.
  • Affects - a term that describe the topics of emotion, feelings, and moods together.

Emotions and Reasoning

Emotions also play a key part in reasoning. The Portuguese-American neuroscientist. Antonio Damasio has proposed, through his somatic marker hypothesis, how emotions and their biological nature are involved in decision-making. He studied patients who had lost the emotional function in their limbic system within their brain. He found that they were simply unable to make decisions

Visible Emotions

As humans we tend to show our emotions on our faces and in our body language. What is interesting is that we tend to do that in a consistent way, irrespective of culture or race. What is perceived as a positive emotion, perhaps resulting in a smile or grin, is understood to be positive throughout the world. Sadness is equally universally understood.

Understanding Emotions

Even though it seems that we express our emotions in consistent ways, until relatively recently there was little research that had been done into how we experience emotions. If one wishes to understand more about one’s emotional responses then this has been problematic. How would we categorise emotions? What someone calls "Joy" could be called "Happiness" by another. How would we show the relative intensity of emotions? Fortunately there are now some emotional models that are available to us that can help us understand our emotions better.

Plutchik’s Wheel of Emotion

Robert Plutchik was professor emeritus at the Albert Einstein College of Medicine and adjunct professor at the University of South Florida until his death in 2006. He proposed an emotional model with opposing pairs, and was a firm believer in the fight or flight response and the concept of basic primitive emotions. He categorised eight basic emotions:

In Plutchik’s model the emotions are described thus:

  • Anger is an emotional response related to one's psychological interpretation of having been threatened.
  • Fear is an emotion induced by a perceived threat which causes a change in brain and organ function and ultimately a change in behavior, such as running away, hiding or freezing from traumatic events.
  • Sadness is emotional pain associated with, or characterized by feelings of disadvantage, loss, despair, helplessness and sorrow.
  • Disgust is a sensation that refers to something revolting.
  • Surprise is a brief mental and physiological state, a startle response experienced animals and humans as the result of an unexpected event.
  • Anticipation, or being enthusiastic, is an emotion involving pleasure, excitement, and sometimes anxiety in considering some expected or longed-for good event.
  • Trust is a willingness to rely on the actions of another party and (voluntarily or forcedly) abandon control over the actions performed by the trustee. 
  • Joy is a feeling of great pleasure and happiness

Plutchik organised these emotions into a model analogous to a colour wheel, reflecting the varying intensities of the emotions.

"Plutchik-wheel" by Machine Elf 1735 - Own work. Licensed under Public Domain via Wikimedia Commons - https://commons.wikimedia.org/wiki/File:Plutchik-wheel.svg#/media/File:Plutchik-wheel.svg

The more intense version of the emotion is when towards the centre of the wheel, with the less intense version towards the outside. Plutchik’s approach gives us a well organised, standardised and consistent set of distinct emotions and visibly represented levels of intensity. Primary emotions can be blended to form new ones and there is the concept of emotional opposites, the mutually exclusive pairs shown in the table above.

This approach can help us to understand and categorise our emotions more effectively. Doing this enables us to adapt to the circumstances we find ourselves in, and react appropriately. It enables us to be perceived positively, enabling us to do our best work and obtain greater influence within projects and teams. You could think of it as an enabler for a constant reflect and improve feedback loop. Let’s look at some examples.

Applying Plutchik’s Wheel of Emotion To Team Situations

Consider the following example of applying Plutchik’s theory to a typical testing situation.

You find what you think is one of the best bugs you have ever found. You proudly log it in almost infinite detail in JIRA and proudly bring it to your PO. "That’s a minor issue, we will assign that to the backlog" is the response.

  • Surprise that the PO thinks the bug is minor.
  • Anger and maybe Rage (Intense Anger) that it did not get accepted.

Rage in this situation will adversely affect your relationship with the Product Owner. It would be sensible to be aware of your reaction and to control it. Perhaps, by understanding your emotions better you could you make that anger more like annoyance and deal with it better.

We also should not forget that our reaction elicits emotional responses in others. Take the, typical, software development team situation involving Paul and Jane.

You receive software for testing from a developer, and basic functionality doesn’t work. Again. You march over to them and cry "Your software is rubbish. Again. Why can’t you just test it first!"

You may feel Anger towards the developer but think about what the developer may feel:

  • Surprise – why is this tester talking to me?
  • Fear – maybe your anger is too strong?
  • Anger – if you are questioning their work.

Emotions, and understanding emotion is not just important to enable better understanding of the effect of negative emotions. Consider the following, positive, situation.

Your team successfully launches version 1 of your new product into the market and first day usage statistics indicate you’ve got a hit on your hands. You all celebrate.

  • Joy and Ecstasy because the job has been well done.
  • Trust and Admiration (Intense Trust) towards each other.

Applying Plutchik’s Wheel of Emotion To Testing

Emotions, if used correctly, can be very powerful in finding defects in software. In particular, those defects relating to performance issues, usability issues, reliability issues and of course functionality issues are easier to be detected using emotions as a guiding force. Michael Bolton’s famous quote "Is There a Problem Here?" can act as a powerful reminder to those of us testing. What do you feel when you test? Don’t ignore your emotions; follow them. Consider using an emotional model such as Plutchik’s Wheel of Emotion to categorise the emotions that you feel.

For example:

You rely on your iPhone as an alarm clock to wake you up in the morning. There is a daylight saving time bug and suddenly one morning your alarm does not go off. What emotions do you experience?

  • Surprise that your alarm has not gone off.
  • Apprehension and Fear that you will be late for work.
  • Annoyance, and Anger, that the bug existed.

Your favourite band is coming to town. Unfortunately for you they are also the favourite band of a lot of other people. The tickets go on-sale online and when you try and purchase them the site is overloaded and crashes.

  • Anger and Rage (Intense Anger) that you cannot buy the tickets.
  • Fear that you will not be able to see the band.
  • Sadness if you don’t get tickets.

Now imagine in the situations above that you were a tester who was testing this software prior to release. It is likely that you would feel these emotions when testing. It is important when testing to listen to one’s emotions and use them as a guide.

But it is also important to be aware of the effect of emotions on cognitive biases when testing. A cognitive bias is a tendency for humans to think in particular ways that can lead to systematic deviations for what is considered rational. Our emotions can affect our decision-making ability.

For example, as humans we will be usually inclined to believe something that has a positive emotional effect, even if we see clear evidence to the contrary. This is known as an optimism bias. Con artists and scammers use this bias in order to trick victims into placing bets that will never win or investing money that will never bring the promised return. If something sounds too good to be true then it usually is. As testers we often experienced this when we hear ‘you don’t need to worry about that issue you have just raised, no user would ever do that’. If a developer has spent a lot of time and effort developing a piece of code, their emotional attachment to the work may bias their perception of its quality. In this situation, merely accepting that developer’s word without questioning would be the easy, and emotionally positive choice, particularly if it is 5pm on a Friday afternoon. But it would perhaps not be the right call to make.

When we are angry, we tend to make quick choices which are often not fully thought out. Take a typical testing scenario. Perhaps you’ve waited code to test and a deadline is looming. The developer is late delivering the code to be tested and the project manager is reminding you that the deadline is tomorrow. Testing time is getting squeezed and you are getting angry. In this scenario you should be aware of the bias that your anger is causing. Be sure to de-focus fully before starting testing otherwise this bias may reflect itself in rushed, sub-standard testing and a failure to noticed edge cases or follow-up on issues.

As testers it is also very important to not fall foul of what is called hindsight bias. Also known as the "I knew it all along" effect, this bias can occur particularly when running regression tests. Just because the software worked perfectly the last few times it was tested does not mean that it always will. Emotionally it may feel better to do so but it is important not to see past events as predictive, and to ensure you are thorough with your testing, irrespective of what you’ve seen before.

Understanding Emotions

Understanding emotions can help us to control how we act and proactively think about how we should act in team situations. Using emotional models such as Plutchik’s Wheel of Emotion can ensure we do so in a consistent way and we can avoid situations such as those experienced by Paul and Jane. And if those situations do occur, then we can use emotional models to review and learning, and act differently in future. In our increasingly data-driven world, a model like Plutchik’s can help even our emotions become more measurable and open to self-analysis.

Emotions are also a powerful testing heuristic and if you feel something when testing then it is sensible to act on it and consider delving deeper into the problem. As a tester you act as a proxy for the user, and by understanding your emotions more effectively then it allows you to understand the user better.

As Michael Bolton has said "Emotions and feelings are signals. Look into what they’re signalling".

*Note - names have been changed to protect the innocent, but this example is based upon a true story.

References

Plutchik, R. "The Nature of Emotions". American Scientist. April 2011.

Damasio AR. The somatic marker hypothesis and the possible functions of the pre-frontal cortex. Transactions of the Royal Society. (London). 351:1413-1420. 1996.

Bolton M. "Emotions In Software Testing". http://www.developsense.com/presentations/2013-05-STAREast-EmotionsInSoftwareTesting.pdf

Bolton M. "Is There a Problem, Here?". http://www.stickyminds.com/better-software-magazine/there-problem-here


Related software testing articles

Choosing and Managing the Ideal Test Team

Software Testing Dojos

Exploratory Testing: Finding the Music of Software Investigation


Click here to view the complete list of archived articles

This article was originally published in the Fall 2015 issue of Methods & Tools

Methods & Tools
is supported by


Simpliv IT Courses

Vornexinc.com

Testmatick.com

Software Testing
Magazine


The Scrum Expert