Two new…schools?

It’s been six years since James Whittaker proclaimed that test was dead (and many people still haven’t figured out what he really meant), and since then testing has continued to change dramatically.

 

For some of us.

 

But not for others.

 

Earlier this week, I linked to an article titled “Stop Hiring Testers”. The title, as you can imagine, scared the pants off of a bunch of afraid-for-their-job testers, but the content embraced the change in testing that many of us have been riding for a while now. Every time I see a person, an organization, or a company realize that they’ve left their old world of testing behind, I see an article like this, along with the accompanying cries of those who don’t want to admit that change is happening.

 

One thing that strikes me is that every time someone makes a statement like “test is dead”, or “stop hiring testers”, a lot of testers scream; but some inevitably say, “of course – this isn’t anything new to me”.

 

But that’s expected, I recognize that there are different worlds of testing out there. For lack of a better word, I see two different schools (which sucks given the existing connotations with this word, but is applicable considering that I could see testers self-selecting for these schools) of test prominent in discussions about testing on the internet.

 

The first, and likely the larger is the “traditional” test-as-information-provider (and often, test-last)  school. This is how most (I have no metrics to back this up) testing is probably done. Most testing books, as well as the wikipedia page on software testing describes many aspects of this approach. Testing in this school is typically done by an independent test team, and involves a wide variety of analysis into the state of the software in order to provide information about the product for stakeholders. Admittedly, I’m quite familiar with this school, as I documented Microsoft’s version of this approach in How We Test Software at Microsoft. Attention to requirements, and risk-assessment are often key parts of this approach. I’d guess that a test phase of software development is prominient within practitioners of this school regardless of whether the team considers themselves “Agile” or not.

 

This school isn’t wrong by any means, but I believe it’s fading away. For what it’s worth (using replies to the Stop Hiring Testers post mentioned above as data), people in this school generally don’t like the idea that it’s going away.

 

Plus ca change…

 

What I’m seeing more and more of, is the test-always, or test-as-quality-accelerant  – or maybe, with a nod to Atlassian, the quality-assistance school. In more and more teams, testers are taking on the role of quality assistant, quality coach, or quality experts. Rather than existing in a separate team, they are members of feature teams and take on the responsibility for ensuring that the entire team embraces a quality culture. Yes, they absolutely bring testing expertise to their product or feature area, and they test the product more than anyone else on the team; but they also help other developers write and improve their own testing and think a lot about the customer experience. Good developers are extremely capable of writing tests (including service monitoring and diagnostic tools) for their own code, but testing experts ensure that the end-to-end experience and other big picture items (e.g. load or perf) are covered as part of the daily work.

 

Teams with testers like these typically do not have a release phase since they are (typically) releasing often or always.

 

It’s worth mentioning that some testers would say that when you do many of these activities mentioned in the previous paragraph, you are no longer testing. I agree with this sentiment – and believe it’s part of the evolution of the role. As test teams evolve towards the quality-accelerant school, test “experts” will take on several roles beyond testing. You could say that testers in this school are getting themselves into the quality assurance business.

 

Definitely some food for thought here, and something I expect to ponder (and write) about more.

2 Comments

  1. Posted April 20, 2017 at 11:41 pm | Permalink

    Good to see and hear you outside of the Microsoft bubble (BTW can you freely use ‘”Teams” in your writings ?).
    I am not sure the distinction between those two schools is black and white (or True/False depending on the language you use) as you describe it, it’s more of a spectrum. You can work in a separated test team and still be a quality-assistant, or work in a small Scrum team and still do isolated test work.
    Many times it’s not even company policy but depends on individuals.

  2. Chris
    Posted April 21, 2017 at 12:43 am | Permalink

    With your second school example, following the shift left where a testers analysis is input into the developers tests I am just curious. Where are the negative test cases executed, where are the non-functional’s tested and who keeps the metrics to report to upper management on what the testers or dev-test are actually responsible and accountable for?
    Battles are regularly had where a developer has read a statement similar to this and wants to enact on it immediately but nobody (product/ dev) is ever willing to give time to the above mentioned cases.

One Trackback

Leave some words for the weasel

%d bloggers like this: