Get started Bring yourself up to speed with our introductory content.

Software testing fundamentals: Regression testing

Regression testing ensures that little changes don't break software. Good regression testers need to know what they're looking for, and this guide explains how.

   Software testing basics
   Performance testing
   Regression testing
   User acceptance testing
   Other useful resources

  Regression testing

Every little change made throughout the software development lifecycle has the potential to break the whole system. Regression testing ensures that this doesn't happen. As Cem Kaner says in a video below, regression testing is used to "manage the risks of change."

  • Definition: Regression testing: offers a short but thorough definition of regression testing.

  • Expert response: How to conduct regression tests: Expert Mike Kelly defines regression testing and explains what questions a tester should be asking when conducting regression tests. He also lists a number of useful resources for those looking to learn more or take a course.

  • Expert response: Regression testing is more than retesting: Avoiding counterproductive distinctions between the terms, Mike Kelly explains how regression testing and retesting relate to one another.

  • Expert response: Regression testing -- How to select test cases: Expert Karen N. Johnson explains what testers need to consider when formulating their regression test scripts.

  • Expert response: Automating regression test cases: There are certain circumstances under which automation is a good choice in regression testing, but Scott Barber underscores why automated regression tests are not very powerful.

  • Course: BBST regression testing: Cem Kaner and James Bach have put together a great course on regression testing, and this site contains three videos, slides, a list of regression testing types and other information from the course. While this site cannot replace the course, it's a wonderful resource.

  • Article: Regression testing: This short article from MSDN lists some good strategies for regression testing and explains how to build and maintain a test library.

  • Article: Regression testing: Parasoft co-founder and CEO Adam Kolawa discusses why regression testing is necessary for responsible software development.

  • Expert response: Automate regression testing: Rami Jaamour breaks down the components necessary for automating regression testing for Web services.

  • Article: Intro to SOA regression testing -- A hands-on approach: This is a nice,basic walkthrough to regression testing for SOA, complete with screenshots and detailed instructions. The information is tailored to beginners in SOA and regression testing.

  • Site: Regression testing: A short introduction that outlines a few of the issues that testers have encountered when trying to create regression test selection techniques. Included are links to three papers on regression testing, for those interested in learning more.

  • Smoke and sanity testing
    These tests are usually mentioned together, although they shouldn't be mixed up. Smoke and sanity tests can be described as subsets of regression testing.

    • Expert response: How to conduct smoke and sanity tests: Expert John Overbaugh defines both terms and explains how they work in a testing framework, including how sanity testing relates to regression testing.

    • Article: Smoke vs. sanity: Devankur Thakur provides a handy chart to clearly illustrate the differences between smoke and sanity testing. Readers may also want to check out the lively discussion that follows the post.

    • Article: Guidelines for smoke testing: This information is from the Microsoft Developer Network and is primarily geared to Microsoft Visual Studio 2005/.NET Framework 2.0. That aside, this information is valuable to those working outside of this framework.

    Continue on to the next section of our guide, User acceptance testing.

Dig Deeper on Topics Archive

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.