TestCon Europe 2019
Dr Andrew Brown is a principal consultant at SQS. He leads an independent line of research into understanding why we humans make the mistakes that lead to software defects.
He has 25 years’ experience in the software industry. Previous roles include Head of QA at HMV, Head of QA at a financial software house and a test manager in Japan.
He holds a degree in Physics and Maths, an MBA from Warwick Business School and a doctorate from Imperial College.
Reasoning Skills within Software Testing
We use reasoning skills every day. Mostly they work well, but sometimes they let us down. Unfortunately, they let us down when we think about creating tests, one of the most important parts of software testing.
Why do we find it easy to create some tests, but struggle with others?
The answer lies in where those reasoning processes came from, which is from our evolutionary past. After our ancestors had banded together into tribes, then an ability to conform to rules, spot when others were not conforming, and to transgress those rules without getting caught became crucial to successful group living. Such an ability required advanced reasoning skills.
We learn that the social reasoning we developed to live successfully within groups is the same reasoning we now use to create software tests. We use a series of puzzles to reveal how our reasoning ability within testing is crucially dependent upon our ability to translate a problem into a context that will trigger our social cheat detection mechanisms.
Using examples, we show how we can improve our tests by translating a testing problem into a social context, the real reason why concrete examples work, and how we can reframe a problem to trigger different social reasoning and hence generate an entirely different set of tests.
Improve Decision Making through Understanding your Subconscious
Decision-making and prioritisation are essential to software development, as teams seek to deliver the greatest benefit in a safe and reliable manner. This presumes we can reliably make good decisions. But can we?
In this session, we use a series of practical examples and experiments to demonstrate that we make decisions using a heuristic known as the affect heuristic. We learn that this heuristic works using emotion, in a manner that is completely different from both the way that we believe we make decisions and from the way that our decision-making tools and models work. We discover that whilst this heuristic is effective in many situations, it can lead to sub-optimal outcomes when we evaluate the complex alternatives that represent most real-life decisions.
We also explore how we can improve our decision-making, not by constructing spreadsheets and other decision aids, but by increasing our understanding how emotion influences decisions, then introducing it as a controlled process.