Problem solve Get help with specific problems with your technologies, process and projects.

Regression testing is more than retesting

Regression testing is a necessary component to any software development lifecycle. Expert Mike Kelly explains the motivations for conducting regression tests.

What is the difference between retesting and regression testing?

This question took me a while to answer because I don't want to draw a counterproductive distinction between the two. In testing we already have a lot of distinctions between terms that don't necessarily help us do better testing. If you do a Google search on the question, you'll see a lot of different answers to the question, but few of those answers offer the reader any real actionable difference.

When I think about regression testing, I think about any testing that involves the reuse of tests (manual or automated) or test ideas (regression charters for example -- a regression test does not necessarily need to be the exact same test) to manage the risks of change. This could include testing for bug fixes, testing to make sure a bug fix didn't break something else, or testing to make the introduction of new or changed features didn't break something else.

If you think about regression testing in that broad sense, then retesting is most likely a subset of that definition. It's a test that you're repeating for some reason or another; so I would call it a regression test. The only place I can't think of where I would use the two terms interchangeably is when talking about a specific defect. I probably wouldn't say "I'm regression testing defect X." I'd say "I'm retesting defect X." But it's semantics more then anything. That retesting is still regression testing.

It's worth noting, the best summary I've seen for reasons why one may want to repeat is James Bach's article Reasons to Repeat Tests. The reasons for repeating a test that James articulates in the article can be helpful in testing your motives for why you want to run the regression testing. It's an actionable list of distinctions. I can use it to add clarity to my thinking about my testing. I can't do that with the simple distinction of retesting vs. regression testing.

Dig Deeper on Topics Archive

Join the conversation

1 comment

Send me notifications when other members comment.

Please create a username to comment.

Ideally, a suite of automated tests should cover most, if not all, of regression testing. There is just absolutely no way that could manually perform regression testing without our test automation.