The Science and Philosophy of Software Testing

As the only tester in a workplace which has been completely computer Illiterate and together with the development team placed in a different building, I moved by gut and also jotted down any problems that I found on a laptop. I’d then either call the programmers or walk over to see them and we’d discuss my notes. Occasionally they’d ‘ghost’ my terminal and observe me recreate the issue. It seems equally modern and primitive at precisely the exact same time, does not it?

The truth is that self-taught testers will be the standard. Even though there are definitely students of the craft (and in which there are pupils, naturally there are educators), many tutors now learned by sitting down in a desk and moving by instinct.

When did software testing start to be coordinated and measured? It is difficult to say, though some folks like Matt Heusser have attempted to record the history of analyzing in certain manner. Maybe Joseph Juran’s Trilogy of this 1950’s – grade planning, quality management and quality improvement — are the notions that have survived the longest, even though the approach to these is ever-evolving.

In Fact, not much has changed regarding the general aims of testing because I started out in the field nearly 3 decades back. The concepts are the same:

  • Know What’s Being constructed
  • Plan all of the flavours and avenues of evaluations that have to be done
  • Document the exam, your expectations, along with your observations about the consequence
  • Communicate to the programmers
  • Re-test bug fixes

Perform regression tests against performance that may have also been changed; Wash, rinse, repeat

Whether you reach those jobs using automation, guide testing, or exploratory testing… well, conceptually, it is all the same. The way in which you achieve those jobs is the mechanisms and these mechanisms vary over time, based on the systems/team/project you’ve got available.

I am more interested nowadays in the science/philosophy behind these actions. How can you plumb the depths of this item which you are analyzing? How can you define your own aims and communicate them effectively, both to yourself and to the staff you’re supporting? Which are the best methods for accomplishing any of them and how can I know which to use?

Fortunately for the current software testers, you will find Scientists/philosophers that are devoting their heads and time to researching each of these theories and the way we can achieve them better. In writing this, I attempted to pick between the phrases “science” and “philosophy” but I discovered that I couldn’t — a lot of this present testing dialog falls somewhere in between. If I needed to draw a line, I’d draw it in test design vs. evaluation plan — there’s science in the plan, and there is philosophy in the plan.

It is refreshing to see just how profoundly people consider the software testing area, even though in addition, it appears a natural consequence of something which has gotten so complicated in the last few years. Software testers often need to manage several versions in many environments on multiple browsers and across several devices…in a few ways, being requested to make sense of it’s equally difficult and hopeless. In the end, hunting for bugs is evasive — you do not understand where they are, just how many there are, or even when they exist in all (well, possibly this part is a given). I guess that is why a lot of this conversation seems much more like philosophy than science-fiction.