DEV Community


Posted on • Originally published at

What Are The Risks In Regression Testing ?

In order to achieve good automation regression testing results, the testing team needs to be proficient enough to possess good knowledge on the automation test techniques right from selection of tool and creation of automation test scripts to perform the test execution. Lack of automation expertise in the team can lead to bad automated regression testing.

Let’s try to understand the risks associated in regression testing with an example :

  • Many times there is a customer who needs to rebuild an existing application built on a certain technology to a more advanced technology platform.
  • There are chances that the testing team does not hold sufficient knowledge on the functionality of an application. In such a scenario there is high risk involved as the regression testing can go haywire due to lack of application insights.
  • After several years , the software is bound to be enhanced so many times by the team who were not involved in the original development.
  • These kinds of changes make the system grow more complex until it becomes brittle.
  • The system level dependencies are difficult to be understood by the team. As the team is uncertain on how to test the application, it ultimately results in insufficient test coverage of the system.
  • The developers will implement the functionality using the advanced technology and hand it over to the testing team for testing purposes.
  • The regression risk grows exponentially as the application ages.
  • Even if the recent team did their best to understand the underlying design and structure , it’s very unlikely the changes they incorporated in the application fit with the original design theme.
  • The size of a regression suite increases over time as the system grows in terms of functionality and complexity. Each new release faces the same constraints in terms of budget, schedule and team size. The complexity of the system is increased as more and more code is developed for new features and the interaction of various modules in the system increases.
  • To be able to overcome these risks and challenges in regression testing, the team can come up with a risk based testing plan that helps to assess these challenges.

    How To Manage Risk In Regression Testing?

    Agile teams are responsible to make incremental delivery which means as the number of iteration increases, the size of the product also increases significantly. Hence the risk of regression is proportional to the product. As the product size increases , the risk of regression as well increases.

    The testing team needs to be prepared in advance to have a proper plan in place to mitigate the regression risk. Having extensive automated regression test suites can definitely help mitigate the risk. In every iteration the testing team needs to keep on updating the automation test scripts. The automated test cases can be stored in the configuration management tool so that it becomes easier to retrieve on need basis.

    If the test cases history is available to the testing team, it benefits the team in troubleshooting any major problem. The testers at the beginning of the test execution can prepare a test strategy document specifying how the regression testing needs to be carried out. The testing team needs to review the tests written earlier in order to be able to add, update or delete any test script.

    Post regression testing team can plan a sprint review with all the stakeholders and give a demo of the developed and tested application and further retrospect on improving the same based on the suggestions received. Certain prerequisites like generating test data, test data loading, build deployments can also be automated to minimize the risks.

    Using a risk-based testing strategy will significantly reduce the regression risk that stands inherent in making small changes to a large system.

Top comments (0)