What is retesting and why is it important? What’s the relationship between retesting and regression testing? Where do they tend to fit in with the software development lifecycle?
What real-life example can you share that helps answer these questions? How did your context impact your approach? What are important things to look out for when thinking about retesting and running retests? What has caught you out in the past?
This may not be an answer to the questions asked, but I would like to share the thought that retests strictly should be treated as pro-forma. Why?
In accordance with the art of quality software development. If at the stage of manual testing we find a defect or, a production defect/incident right after the release, along with the fix should be written/revised or updated test possibly from the lowest level of the test pyramid, which covers the given error path.
Well-designed test in each layer of the pyramid = pro-forma retests
In my experience retesting is more limited in scope to regression testing. I could be asked to retest a specific feature due to code changes but a regression test would encompass a wider change or risk analysis.
I guess in my head regression testing wouldn’t come under retesting. It’s a task in itself that can be redone if needed. And retesting could be testing a good chunk of a new piece of work > finding a bug > bug gets fixed > retest the work. Or you could replace finding a bug with an environment is updated or something that changes the code being tested or the environment it’s in (there’s probably loads of other things that could prompt retesting as well, including helping to gain someone’s confidence).
And why, because there’s enough of a change to lose confidence in the results of the testing done before.
Retesting refers to testing the bugs/issues that have been fixed in the latest release. It is done before regression testing to check if the fixed bugs are actually working. Once retesting is completed, we test the dependent modules to ensure they are not being impacted by the fixes.
Whenever we get a new release, before picking new stories for testing, we pick those tickets that were raised as bugs and fix them, as this helps in closing those tickets as a priority and clearing the previous sprint tickets.
The approach in both is different. While retesting is quite simple as we have to test the bugs that are being fixed, regression testing is time-consuming and requires time for analyzing impacted areas and then testing those impacted areas.
In my current project when developers give new builds for testing then we ask them which are the impacted areas and they tell us all the functionalities that might be impacted we focused on those areas while conducting regression testing, this saves time as well and they are more accurate than our assumption of impacted areas.
Retesting and regression testing complement each other to ensure software reliability and quality. Retesting focuses on validating fixes, while regression testing ensures system-wide stability. Together, they play a critical role in delivering robust software and building stakeholder confidence.
Once, while retesting a bug fix in a dropdown menu, I overlooked testing its behavior in a mobile browser. The dropdown worked on the desktop but broke on mobile due to untested CSS changes. This experience taught me to always consider different platforms and configurations.
Good question @simon_tomes ,
Retesting is nothing but the process that verifies if a specific bug or defect in a software application has been fixed correctly.
Regression testing is nothing but any code change didn’t affect the existing functionality of the system.
There relationship is regression testing looks for new bugs, while retesting verifies that fixes for known bugs work.
Yes it is best fit to test the application in the final phase of development.
Normally take a example as an Flipkart website application cart page not working as expected after the new build so it is a new bug which is regression and check the search functionality again to previous fixed issue work as expected which is retesting.
Important things is to set the test data and test cases , test environment for end to end regression testing and retesting.
Spotted the same issue which i caught earlier in production so retesting is the much needed one and main functionality broken by the new code change in the before the release phase so regression testing is very important for every software release.