I had no idea what to call this post. My focus here is on the notion of owning quality. As in: who does so? I won’t tackle all the nuances of that wider topic here. But, due to recent discussions, I did start to think about what it looks like for testers to own even limited bits of quality in our industry that is currently focused on some form of DevOps.
I see a lot of vocal pundits in the testing world saying that artificial intelligence (by however they choose to define that) is no threat to future testing. I’ll ignore for a moment that most of these pundits get AI wrong — equating it, as they do, with “better algorithms” — but I won’t ignore that they seem to forget a key point: will there be a perception that AI can handle future testing?
There is a distinction between “being a programmer” and “being a developer.” Yet those two terms get conflated in our industry quite a bit. The idea of a tester also gets conflated with … which? Programmer or Developer? That very much depends. Combine what I just said with the idea that many testers feel that DevOps has caused a decline in testing. Is there a correlation there? And should testers become developers? Let’s talk about this.
There is a relatively common sentiment that tester roles, as opposed to the testing activity, should disappear entirely. We see that a bit with descriptions of jobs like “Software Development Engineer in Test” (SDET) which basically just means “developer who can test” rather than “tester who can develop.” Is this evolution necessarily an unhealthy one? Let’s talk about this.
A lot of people writing about testing draw the correlation between testing and experimenting. You’ll often hear something like “testing is evaluation through experimentation.” But, as advice to testers, this falls far short of helpful if the notion of what being a good experimenter entails is not covered. So let’s talk about that.
I had two major series of thematic posts that I tried out this year: Modern Testing and Indefinito. The former was eminently focused on the tactical and the latter more on the strategic and perhaps even philosophical. In some ways these provided my focus as I find myself on the doorstep of 2017.
Awhile back I talked about what makes testing complicated. To be honest, that post is embarrassingly written as I look back on it. That said, I think there is some value in what it says. But to show how my thinking has refined, as well as become a bit more operational, let’s piggy-back on my previous “code as specification” posts and look at why testing is challenging.
This post follows on from my code is a specification. I highly recommend reading that post to get the context because here I’m going to add a bit to the sample code from that post. This is being done to illustrate the idea of test code and production code working together to act as an executable specification. Here I’m going to focus a bit on how this has relevance to the business as well.
Early on I talked about business needs becoming specs that become code. More recently, in my modern testing posts, I talked about the idea of production code being the specification of behavior. I wasn’t necessarily very descriptive in all of that, however. Let’s see if I can do better here.
Here I’ll cap off my current round of “modern testing” posts by discussing a bit about the lucid approach that I’ve brought up along the way.
I’ve gone through a lot of posts on modern testing and I’m nearing the conclusion of my thoughts on this. (Or so we can hope, right?) Here I’ll recap a bit and then push forward.
In my previous post on modern testing and resilience, I indicated that testing and quality assurance spend a lot of their time, as disciplines, being in danger from their own practitioners. This is most often a problem when the disciplines are under pressure to change. Here I’ll focus on that a bit, with the understanding that these are obviously purely my opinions, even if they seem stated as fact.
In two previous posts (on design pressure and sources of truth) I talked about the context that a modern test team is often fitting in with. Here I’ll get more specific, particularly in regards to some strategic elements.
In a previous post, on testing and design pressure, I closed by saying that certain elements of decisions need to be encoded as artifacts, but that putting appropriate pressure on design meant minimizing those artifacts. Here I’ll talk a bit about that and what this means for test teams.