It is always a challenging part to decide which type of testing is to be done at the end of a sprint or at the end of a project. Mostly it’s being misunderstood and we often end up using the wrong one or we don’t follow the right naming convention for the testing that we usually do.
For example, on some of the projects, we spend a day or two to perform entire application testing at the end of the sprint. And we label it as Smoke testing. This is not right! This should be identified as Regression testing.
How to decide which type of testing is to be done?
At the end of the sprint, we should mostly perform Smoke/Sanity testing based upon the deadline.
If you don’t have enough time to opt for Smoke testing or else perform the sanity checks. When you have an ample amount of time in your hands, Regression testing is the last option.
So the preferences should be like Smoke testing, Sanity testing, and then Regression testing as per the project deadline.
Consider an example for this, suppose we have 50 functional components. Out of them, 10 are major components and let’s say remaining components revolve around them.
Then as a part of Smoke Testing, we should quickly verify the major 10 components.
As a part of Sanity testing, we should verify all the components.
And in Regression testing, we should verify the complete system (all components) and bugs too.
What groundwork must a QA do?
| Timeboxing the activity and sharing an ETA
Based on the selected testing approach share an ETA with the respective Project Managers or Leads and get it approved
Depending upon the above example, QAs should be ready with the following documentation for each testing phase:
- Smoke testing: List of features
- Sanity testing: List of the core functionalities with the highly impacted areas
- Regression: List of all the functionalities along with detailed test cases and bugs with the detailed descriptions.
| Tracking test cycles
We should document all results of these testing for future references. For documenting the results we should use a Spreadsheet or any other test case management tool.
Tracking the results is the most important part of Smoke, Sanity, and Regression testing. After testing, we should analyze the present result with the previous results. This helps us in understanding the root cause of the issues occurring and tracking issues in an easier way.
We should always try to understand the difference and importance of all these three types of testing and try to explain the same to other project members so that we can collaboratively build a good process around implementing each one of this on the project.