Regression Testing

Software regression can happen whenever an application is modified. Examples of such changes include new source code addition, incomplete/ incorrect bug fixes, code re-factoring, update of underlying software components, incorrect version control and changes in supported application hardware/ software configurations. Therefore, regression testing is critical on new releases of existing applications. This checks that the functionality that worked before continues to work after the new release is deployed.

Here at AppTest Software, we define the regression test strategy taking into account the applicable phases of the software test life cycle, affected components of the application, available regression test cases and other factors. The AppTest Software team executes regression tests per the following process:

Identify the regression test cases

AppTest Software analyzes the areas of the application impacted by the changes in the new release. The risk and impact of each of the changes with respect to the business objectives of the new release and the application are evaluated. Based on the risk scores, AppTest Software identifies the minimum set of test cases required to cover the risky areas based on their respective impact. Traceability is created between each of the application changes and identified test cases.

Update the regression test suite

Next, AppTest Software analyzes the existing regression test cases with respect to the traceability. It is possible to have effective test cases already available. If not, the existing test cases are updated by AppTest Software test engineers, as required. If no existing test cases cover the traceability, the AppTest Software test engineers create new test cases and generate test data for the same. However, the focus is on the most re-use of the existing test cases. Traceability is updated with the final test case identifiers.

Execute regression tests

In order to have coherent test results, the AppTest Software team aims to use the same build and, if possible, the same test environment as functional testing. We execute the regression test cases as identified in the traceability in order of priority. The AppTest Software team communicates quickly with the test coordinator to resolve any blocked or failed regression test cases.

Report defects and test results

Once we confirm the failing regression test cases, AppTest Software testers isolate the defects and log them in the defect tracking system for further decision and allocation. Test progress and test results are generated on a daily basis and shared with the test coordinator.

Optimize the regression test suite

Once we complete the regression testing, the AppTest Software team analyzes the results of the regression test. Redundancies and duplicities in regression test cases are removed. Wherever possible, existing regression test cases are merged to reduce the overall count. Unnecessary test data is replaced or retired. This optimization ensures that the available regression test suite is always sharp and effective.