Reviewing and Updating the Regression Testing Checklist
Even with the best will in the world, we all forget to do something at some point in time. Whether that be something trivial like putting out the bins to forgetting to pick up the kids after school…Yep, that has happened…
Having a checklist (or to-do list) saves you from missing something out. A checklist, simply put, is a standardised list of activities for a repetitive task. It helps to ensure consistency and completeness in carrying out a task or series of tasks.
With regards to regression testing, when code is changed or a bug fixed, even a small tweak to the base code can have dire consequences on the application quality. By regression testing, you ensure that the existing software isn’t broken and that any existing functionality works as it did before. The purpose of regression testing is to ensure that bugs haven’t been introduced by the change. By re-running valid tests that were originally scripted whether manually or by automation, you can make sure that any new changes to an application haven’t resulted in a regression of software quality.
That to some degree is why regression testing is required, you fix one thing or add a new bit of functionality but you need to check that everything else associated with it is still working as expected. It’s great that you have a box to tick but make sure the resulting outputs or associated outputs work as they should. Regression testing increases our chances of detecting bugs caused by changes to a software and application either through enhancements or defect fixes.
The overall benefits of regression testing do outweigh the risks of not doing it. Regression testing promotes the improvement of the product quality and it verifies that any modifications that have been done do not impact the core functions already tested and proven. Regression testing can be performed both manually and by automation. It's performed by re-executing a subset of complete and full test cases.
When compiling a regression testing checklist, we can separate the list into three specific groups: prerequisites, things you need to prepare ahead of test execution, your data requirements and finally, the validation of the testing. Below gives a small sample of tasks for the three groups:
Prerequisites
• Have any preconditions like parameters been set-up?
• Have step by step test instructions been set up – how to guide?
• Have all inputs/outputs been identified to support the testing?
• Have all tests been created and validated (signed-off)?
• Have all the expected test results been documented?
• Have all the procedures for raising defects been defined?
Data
• Has the test data been identified?
• Does the regression testing validate the data at field level?
• Who/how will it be maintained and is there any version control?
• Is regression testing using normal test data or has the data been created specifically for the testing?
• Has GDPR been considered?
Validation
• Have 100% Test Scripts been executed?
• Do any open Critical and High severity defects remain?
• All expected and actual results are captured and documented with the test script?
• All test metrics collected based on reports from the test management tool?
• All defects are logged in the defect management tool?
• A Test Closure report is completed and signed off?
All checklists will develop with tasks being added and taken away as required but the simple fact that a checklist exists does give you a head start in setting about addressing regression testing and it ensures that all the essential to do items are already predefined and ready to be actioned.
Other benefits of having a repeatable checklist are that you can associate timings to each task, so you know how long it will take to do, you’ll know who can support the tasks on your list along with ordering the tasks into what tasks happen first, second third etc. Overall, there’s a huge amount of benefits of having a checklist both for regression testing or any other stages of testing but don’t forget to put ‘Pick up the kids’ on the list…!
What next?
nFocus have a proven range of automation services to support your adoption or improve your existing automation. These include a Readiness Assessment, Health Check, Consultancy and Managed Services. Visit the website today to learn more.