Thank you Reddit, while attempting to find pictures of the earths core, you surpass yourself.
Turns out Steve Buscemi is the centre of the world.
Anyway. Lets start with something I hold to be true. My testing career is mine to shape, it has many influences but only one driver. No one will do it for me. Organisations that offer a career (or even a vocation) are offering something that is not theirs to give. Too much of their own needs get in the way, plus morphing into a badass question-asker, assumption-challenger, claim-demolisher and illusion-breaker is a bit terrifying for most organisations. Therefore, I hope the wheel is a tool for possibilities not definitive answers, otherwise it would just be another tool trying to provide a path which is yours to define.
In part one, I discussed why I had thought about the wheel of testing in terms of my own motivations for creating it, plus applying the reasoning of a career in testing to it. As in, coming up with a sensible reflection of reality as I see it, rather than creating a 'competency framework' which describes some bionic human that no one has ever met, or would even want to meet.
So, in part 2 I thought I would dig into what's contained within. Not in a 'I'm going to define each term' endless navel gazing type of way but in a 'lets look at it from a different angle' way. I have observed people retreating from ownership of their own development as we are forever foisting methodologies, tools, techniques, models, definitions on each other, naming no examples. Testing and checking. Sorry I mean't to think that, not write it.
Anyway, lets break it down a bit. I love a tortured analogy so lets use the layers of our own lovely planet as an explainer:
The inner core of the earth is hot, high pressure and fast moving, but dense and solid. Always moving and wrestling with itself but providing a base to develop the self from. I chose these five areas for a core, reflecting my values:
- Testing - I value testing skill over understanding a business domain. Testing skill helps you to understand domains, but for me business domain understanding doesn't reciprocate to the same degree.
- Tech - To me, I refer to technical awareness here. What are the strengths and weaknesses of a given technology or architecture? And how does that inform my testing?
- People - Possibly the most complex part of any role. Fathoming these strange creatures, whether users or developers is a testers pressing concern. Literally nothing happens with these curious beings.
- Advocacy - Being able to talk about testing and the value it adds is a real skill. If you can't convince yourself about what it is, who cares and why, then how can you convince anyone else.
- Strategy - I think you need to have a strategy as a tester. Charters, sessions, mind maps, mnemonics. Without a strategy, you are probably just poking at user interfaces.
The outer core is where things start to get a bit more fluid and move a bit faster, plus its the middle layer, affected by both the inner core and the mantle. The boundaries get a bit blurrier and navigation is a little bit harder:
- You start to realise that when someone says something like 'integration tests' it really doesn't mean to them what you think it means. Hilarious and interesting conversations occur and you create a number of tests which are different types of integration tests.
- You start to realise that testing is interfaced deeply with many other roles. But those other roles might not know that. When those people say 'QA' a nervous twitch develops but you stay cool and ask them what they mean by that. Hilarious and interesting conversations ensue.
- You start to realise that models and thinking techniques as well as hands-on experience start to become really important and one enhances the other greatly. Tools become important, you may get carried away by test automation. If your developers says something like 'stop firing that JSON rail gun at the wrong endpoint' then time to pause for thought.
The mantle is a weird place. Almost solid near the surface, extremely fluid and fast moving nearer the outer core. Similarly, a lot of the aspects of the wheel here seem quite specific but underneath the surface you start to realise how they are all part of a very complex entity:
- You realise that if a system under test is usable and accessible then it is probably more testable. If it is more testable its probably more supportable by operations, which then might improve the relationship between dev and ops. For me, making these connections is the crux of this part of the model.
- You start to realise how little you know about anything really. Maybe before you thought you knew quite a lot about something, then that gives way to the realisation that Dunning and Kruger weren't lying and its you.
- You start to realise you can't do it alone. Also, you know the people who focus on something while you buccaneer around the testing wheel? You previously couldn't understand that, but then it occurs to you that you need lots of different skills, outlooks and experiences to grow.
So what about the crust you say? Thats the shallow layer that we usually need to break through in order to really start to question what we are made of. And just remember this. Once you've been at it for a while, it can be a long and treacherous journey back to your core...