Is regression testing a technique or a process?

Hi all,

As I’ve been working on my list of testing topics I found myself asking the genuine question:

Is regression testing a technique or a process?

My take on it is that our products are at risk of regressing in quality and so, therefore, we carry out the activity of testing around the risk of regression (typically by covering areas that have been covered in the past). So in my head, it’s a technique.

I mentioned this question on Twitter and Twitter did not disappoint, with some disagreeing with me and saying it’s a process:

Some were more on the fence or felt I phrased the question incorrectly:

Reflecting on all this I wonder if it is an activity and not a technique as a technique would imply that specific skills are required for regression testing that other testing techniques don’t require).

I’d like to hear more thoughts on this and perhaps rephrase the question. Is regression testing a technique, process or activity?

Let me know!
- Mark

2 Likes

I would agree with [GeirGulbrandsen)](https://twitter.com/GeirGulbrandsen/status/1114840510953394176 - it is like light’s dual nature.

I would just disagree on the point of blindly rerunning being silly. If such execution have low cost (good automated checks), then blindly rerunning it on every change can be a good strategy that would open space for deeper investigation around the nature of the changes.

2 Likes

“Yes”.

Regression testing is both a technique and a process. It’s also an activity. The technique is in the choice of tests run (if you aren’t using automated regression) and because regression testing is part of a testers arsenal. The act of performing the tests and checking the results is part of the process of getting the application ready for customers. And of course the act of performing the tests is also an activity in itself.

Personally, I don’t care to quibble over definitions as long as what needs to happen gets done, but it can be fun to play word games with just what a particular type of testing is.

1 Like

Greetings!

I think of regression testing as an on-going activity to evaluate new and changed products, inspecting the existing tests for efficacy, and determining if new tests are needed. I want to run the regression test as often as needed, and I want the results to be valid, prompt, and valuable.

Joe

To be clear, I’m not so bothered about a definition, just thoughts from the community to guide me in my work.

I like @joaofarias comment because it goes to the heart of this discussion (and perhaps other testing topics as well) the process, activity and technique are all very much intertwined with one another making it sometimes hard to reflect on them.

I figured as much. In all honesty, I doubt I could tell you when/where in my work I switch between treating regression testing as a technique and a process. I just do what I need to do when I need to do it.

Sometimes it’s hard do clearly distinguish some concepts as people use them interchangeably.
I also agree that it’s mainly a process but how it is actually done is a technique. Whenever you’re following a process, in the end you will apply one or more techniques in order to achieve/execute the steps and the decisions throughout your process.
When I was looking at some concepts some time ago, I found some examples that I think can give some better lighting to this.

  • examples of techniques: distillation, chromatography
  • examples of processes: billing process, drug approval process

I, and in my opinion, tend to see “technique” as the science, i.e. the pratical grounded thing to achieve a very well-defined goal. On the other hand, a process is another layer above it, a more formal one, sometimes without all the fine details.

2 Likes

Hi @darktelecom

I really like the examples you give. Based on those, I wonder if regression testing is a process in which testing techniques can be used, as everyones product and the testing required is going to be different.

Hi @mwinteringham, I would say so. It has a goal (find if there are regressions or not), inputs (previously implemented features and corresponding validation scenarios) and outputs (existence of regressions or not and if so, their evidence).
Users may apply whatever techniques they want in order to achive this goal and even use different approaches for that (manual/automated scripted testing, exploratory testing).
This is as I see it, at least :slight_smile:

“Tomato” or “Tom-maaa-to” no matter what we call it; it is a vegetable and we use it for our needs. Similarly, we can call Regression testing as a technique, process, activity, phase or whatever name we want to give it but the objective is the same i.e it is an activity performed to ensure the different functionalities of the system are still working as expected and the new functionalities added did not break any of the existing ones.

When growing up as a tester, I often got caught up in these jargons and there were lot of debates on twitter on different phrases and terminologies. I learnt this the hard way and finally figured out that, the end result is what matters :slight_smile: