In early 2015, Maria Kedemo asked me if I’d like to work with her on a workshop around testability. At the time, I wondered whether there was really enough in the subject to warrant a workshop. Testability seems like a pretty straightforward topic, right? It’s how easy something is to test. I’d seen James Bach’s early version of his testability model and while there were some things to think about, it still didn’t seem that deep.
Then we started discussing it and I realised I was wrong.
The concept of testability is an easy one to grasp, but when you look into things that can affect testability, that’s a very deep rabbit hole indeed. There are a number of existing models of testability around, but none of them expressed what we were looking for in a way that we wanted. It took us a long time to be able to articulate specifically what we wanted to express about testability, but ultimately we wanted to show the relationships between the many different things that affect testability. We came up with what we call the ‘Dimensions of Testability’ model.
Maria and I discussed, argued, reasoned and in between tore our own hair out to get to a place where we felt the model was useful. It is still a work in progress and likely always will be, but in this form, we think it shows some important relational aspects of software, the people that interact with it and each other and the surrounding environmental concerns that affect them. I plan to delve into each of these areas in greater detail in the future, but for now, let me post the model itself so that others might find it beneficial.