To me re-testing is done when the identified bug was fixed and same test is done where as regression testing is to identify if there is any negative impact on the already tested functions because of the code change or environment.
4 Answers
What do you call the testing done in Stage environment?
I call it testing on Staging. =)
Now to elaborate:
As part of our development process I test changes locally and then again on Staging. I consider this important but there's no naming convention used other than 'testing on staging'. The difference here is the underlying data is different (we have production data) which could lead to different failures and there is a greater level of integration between code changes which could lead to different failures.
The test techniques I choose to use (like regression testing, domain testing, functional testing, integration testing, performance testing, mobile testing, etc.) will depend on what my test objective is. (What failures am I looking for?) Some of these techniques I use locally but some I only use on Staging due to server differences, accessibility, etc.
When we fix issues I will do some regression testing around the fix (running the same test as before) but then I'll also try to come up with some new tests that maybe I didn't use before. This is especially true if the bug originally blocked a previous test I wanted to run. Mostly I want to find new failures now!
To me re-testing is done when the identified bug was fixed and same test is done where as regression testing is to identify if there is any negative impact on the already tested functions because of the code change or environment.
These could be different or they could be the same. If your plan is to run the same tests as you ran before to find regressions then both re-testing and regression testing are the same. If you plan to create new tests to reveal new failures about components or features you've already tested, you could call this re-testing those features (although you'd be re-testing in a different way).
-
Yes, I would also call this part of "deployment validation" testing. You are testing in stage - to make sure the same functionality still works, and likely to work when you push to production.– jrubertoCommented Feb 15, 2017 at 19:33
-
I would term the staging environment regression testing. However I would avoid identifying the environment as regression tests also run in local and test environments.
Retesting a specific failed test to make sure that it passes when the bug got fixed is just part of development. If anything it is the Green phase of Red, Green, Refactor. Informally it is literally just running the test and making sure it passes. Call it re-test if desired.
Note: I call all previously written tests regression tests. Tests that I write today to accompany application code effectively become regression tests tomorrow (or even as soon as they are added and pushed to source control).
As with most testing terminology questions, this depends on the company or industry you reside. When in doubt ask what it means where you hear the terms. The environment where they are executed in should not matter much, but a lot of folks mis-use testing terms. So always ask what they mean by it.
I like these definitions as found on Guru99:
Regression:
Regression testing is carried out to confirm whether a recent program or code change has not adversely affected existing features
Re-testing:
Re-testing is carried out to confirm the test cases that failed in the final execution are passing after the defects are fixed
The blog post has a lot more context when comparing the two, read it here: http://www.guru99.com/re-testing-vs-regression-testing.html
Re-testing is done if you re-test a functionality after fix. Regression testing is done for all functionalities just to ensure that due to new change existing features/functionalities should not fail and should work fine.
On staging environment, there is no specific term defined however you can call it regression on staging or whatever understandable within team.