
Perspectives in Testing
Testing and Systems Thinking are two activities that overlap widely. In yesterday’s post I mentioned that you can take the perspective of every part and relation in a system.
In software testing a lot of techniques, approaches and methods that we use are ways to actively take a certain perspective of the system. What in systems thinking is reflected by different perspectives, manifests in testing into for example:
- Testing personas
- Load and performance testing
- Failover testing
- Security testing
- Accessibility testing
- Contract testing
- Acceptance testing
- Unit testing
- and the list goes on…
All the listed elements are “just” a different perspective of the system. In testing some of these approaches are viewed as highly specialist activities. In my opinion this may limit a tester’s view on a system, as it’s someone else’s expertise. In systems thinking every perspective helps to add to the system view. The most obvious – testing personas – implements a framework to test or view a system from certain stakeholder’s positions. Contract testing is the perspective of a relation between two parts. Unit testing views a system from a deep zoom into a part.
I don’t want to reduce the skills needed for any of these. Au contraire, I have participated in many of these activities over the last 20+ years. Each of these perspectives takes a lot of knowledge, experience, skills and partially even will power. What I try to say is, that in systems thinking taking different perspectives is a default tool. In testing it needs additional skill sets, and hence is often forgotten or just an afterthought. Being able to examine a system in regards to certain perspectives is all but simple, yet limiting.
One of my favorite books on system thinking is Donella Meadow’s Thinking in Systems. While the elements provided in that book help to describe a system, it doesn’t actually help how to think in systems. At least that is my takeaway now, 10 years after I read it. Still, it opened a world for me.
Apart from stocks and flows, I remember actors and feedback. Actors in the system have different motivations that influence it in a certain way. Feedback cycles help to adjust the system. Especially the aspect of motivations in a system help me a lot to analyze and better understand certain systems.
Taking different perspectives in a system has for me become like having the zoomies. Not only am I constantly zooming in and out of a part. I’m also jumping different perspectives. It must be very hard for others to follow my train of thought. Perspectives can be e.g. events further down the timeline. Bringing the life cycle of all these parts of a system into the picture is often too irritating for others. Just recently I was part of a work group to solve an issue in our current process. While the others discussed the immediate problem at hand, I also looked into the future. I took the perspective of the part, and I looked at it when it is “older” and what else might happen to it along its journey.
As an example for the power of perspectives take ensembling, teaming, mobbing or however you might call it, when more than 2 people come together for developing or testing. You bring different perspectives, experiences and motivations to the same table to collaborate on something. You provide multiple perspectives across multiple layers of the system in parallel to solve a problem. As you start looking at potential solutions, the group applies a lot of filters at the same time to find a good solution. This is effective and an efficient use of time. On the way you build a common understanding of the system, at least at a certain level of abstraction.
For some perspectives I need way more practice to consequently include them in my systems thinking. To bring it back to testing, accessibility testing is one such aspect. I know a fair bit about the topic, but I have to constantly remind myself. Of course, systems thinking needs practice, a lot of practice. The bar to practice is low. You can do it at any time, when your brain has capacity, with whatever you have in front of you. Visually and virtually.