Rant Over: Schools of Software Testing: We Need Them

The Rant Over series invites testers to speak about about the one aspect of software testing that you don’t like. This post by Jon Hager looks at the School of Software Testing.

For many years now there has been a debate about if we need the so-called schools of software testing and who belongs to what school.  Authors have written pro and con for or against the different schools.  I have even heard name calling and rants concerning aspects of the schools. Many of us have done presentations on them including a lightening talk calling for “software test world peace” (STARwest – 2016 Lightening Talks). In this posting, I wish to outline that some of the rhetoric and politicking is good while some it should be ignored.

First, some brief thoughts on passion.  In many human activities such as art, sports and even science, people become passionate. At first, this is good. I practice passion about many of the things I do. Passion in human activities can lead to good things and happiness.  However, passion can have a dark side when it leads to unthinking and groundless hate. For example, we have all seen riots and destruction when a sports team loses a game.  I believe this is such a waste!

How does this relate to my passion for software testing?

Well, to compare schools of software testing to another human activity, let’s consider music–which is something many people are passionate about.  There are many schools of music (e.g., rock, classical, jazz, and country to name of few).  I have heard people say “I love classic” or “I hate rock” while almost becoming violent to other form(s) of music.  Wouldn’t it be better if they were to say “like” in place of “love” or “dislike” in place of “hate?”  Each form of music has its place, appeals to some listeners, and each takes certain skills to create and master.  To say one is “better” than another is in the “eye (or ear) of the beholder.”

Likewise, so too are the schools of practice in testing.  I personally believe that each school can be of benefit to some testers, in some teams, in some countries, at different times, and/or in some companies. Below I outline some of the likes and dislikes I have for each school.

School Name Like Dislike
Agile Flexible and early testing Forgets some of the history of testing
Team-based working with dev Sometimes devolves into bad habits
Open to tailoring Rejects non-Agile
Context driven Testing depends on situation Can be dismissive of other schools
There is no best practice Overly passionate support to it by some members
Process driven Structured which helps newbies Some followers do not accept tailoring and flexibility
Defined check points &activities Can be done in a “bad” waterfall with no iterations
Research-based Finds new ideas for testing See testing as only a technical problem instead of human one
Provides a place for students Results can be almost “unusable” in the real word of testing

Table Notes:

  • I changed some names of schools because I think the existing names might have bias built into the language of their name
  • My list of schools, likes, and dislikes is not exhaustive or detailed to fit in a short posting

 

I want to close by saying, my table is not complete nor did I intend it to be.  You will find things you like or dislike.  This is fine.  In my view of the software testing world, you can change the table or belong to any school you wish.  I have learned from each school.  I attend meetings for each school, and have practice skills in each school.  I find I really enjoy musicians, who refuse to be confined to playing in one school (or genre) of music. Like them, I search for variety for my passion.

To some of us, the schools of software testing have their pluses or minuses and times/places where they should be used or not.  What I really want people to think about is that like music; a school needs skill and can be valid under different conditions.  I want positive passion in my testing wherever I practice it.  I don’t see the dark side of testing passion and schools worth my time.  Each school can and should contribute to my passion which is software testing.

Happy Test Thinking

About the Author

Jon

Jon Hagar is a systems software engineer and testing consultant, supporting software product integrity and verification and validation (V&V), with a specialization in mobile and embedded software system testing. For more than thirty years, Jon has worked in software testing and engineering projects. He authored "Software Test Attacks to Break Mobile and Embedded Devices"; consults, presents, teaches, and writes regularly in many forums on software testing and V & V and is lead editor/author on committees including OMG UTP model-based test standard, IEEE 1012 V&V plans, and ISO/IEEE/IEC 29119 software test standard.
Find out more about @jonhagar