Take the 2-minute tour ×
Software Quality Assurance & Testing Stack Exchange is a question and answer site for software quality control experts, automation engineers, and software testers. It's 100% free, no registration required.

The definition of regression testing makes it seem that any testing after bug-fixing is supposed to be called regression testing. But in the case that after bug-changes I just want to make sure the app works fine, would it be more appropriate to label the test case as functional or regression?

share|improve this question

migrated from stackoverflow.com Mar 26 at 5:40

This question came from our site for professional and enthusiast programmers.

5 Answers 5

It is not true that

any testing after bug-fixing is supposed to be called regression testing


Testing whether a bug-fix was successful:

  1. You run one or more tests which failed.
  2. You analyse this failure and could identify a bug/defect.
  3. You correct this bug/defect
  4. You run the test or tests from step 1 again to test whether your corrections fixed the bug/defect. This is called re-testing or confirmation testing

Testing a previously tested software to find out whether changes did introduce or uncover new defects in unchanged areas of the software is called regression testing.

So, these tests have different goals.

By the way, it is possible that a test case which once failed could later be tagged as a regression test. In this case, the test case was once used for re-testing, and later for regression testing.

share|improve this answer

Functional Tests are a type of test (taking user perspective, more gray-black box, more focussed on the the expectations of the users) whereas I see Regression Tests as a phase of tests. Like you mentioned you will launch some automated tests after a bug was fixed, to check all the features are still working. But you will also launch those tests after a new feature is added, to check that the existing features are not broken. In that situation I call that "regression tests", but those tests are not made only of functional tests. Launching your unit tests portfolio or your performance tests is also a good idea.

share|improve this answer

Functional testing is where the functionality of the product is tested. Whether the right product has been developed. Where as regression testing is done around the bug fixes to ensure that there are no injected issues. So in your case if you just to confirm that the fix is correct and check all the area which might be impacted by the fix, it will be regression testing. And if you want to check the overall functionality of the application just to see if it's not breaking, then smoke testing can be done.

share|improve this answer

Regression Testing: Regression testing is one of the most important types of testing, which checks whether a small change in any component of the application affects the unchanged components or not. This is done by re-executing the previous versions of the application.

Functional Testing: The software is tested for the functional requirements. This checks whether the application is behaving according to the specification.

Mutation Testing: In mutation testing, the application is tested for the code that was modified after fixing a particular bug/defect.

share|improve this answer

You are not completely right actually. Test engineer just need to verify bugfix after state of issue changed to resolved, just be sure that expected and actual result are same. Test engineer does not need to execute regression testing after each bugfix.

Regression means retesting the unchanged parts of the application. Test cases are re-executed in order to check whether previous functionality of application is working fine and new changes have not introduced any new bugs. Regression testing is usually performed after verification of changes or new functionality.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.