Guideline: Failure Analysis and Report Creation
This guideline addresses how to conduct failure analysis based on the execution of tests. The result of this analysis can take the form of a failure analyisis report.
Relationships
Main Description

Introduction

During testing, you will encounter failures related to the execution of your tests in different forms, such as, code defects, user errors, program malfunctions, and general problems.  This guideline describes some ways to conduct failure analysis and then to report your findings.

Failure Analysis

After you have run your tests, it is good practice to identify inputs for review of the results of the testing effort.  Some likely sources are defects that occured during the execution of test scripts, change request metrics, and test log details.

Running test scripts results in errors of different kinds such as uncovered defects, unexpected behavior, or general failure of the test script to run properly.  When you run test scripts, one of the most important things to do is to identify causes and effects of failure.  It is important to differentiate failures in the system under test as well as those related to the tests themselves.

Change request metrics are useful in analyzing and correcting failures in the testing.  Select metrics that will facilitate creation of incident reports from a collection of change requests.  Change request metrics that you may find useful in your failure analysis include:    test coverage, priority, impact, defect trends and density.

Finally, one of the most critical sources of your failure analysis is the test log.  Start by gathering the Test Logs output during the implementation and execution of the tests. Relevant logs might come from many sources-they might be captured by the tools you use (both test execution and diagnostic tools), generated by custom-written routines your team has developed, output from the Target Test Items themselves, and recorded manually be the tester. Gather all of the available Test Log sources and examine their content. Check that all the scheduled testing executed to completion, and that all the tests were scheduled that should have been.

Recording Your Findings

Once you have conducted your failure analysis, you may decide to formalize the results of this analysis be recording your findings in a report.  There are several factors that go into deciding whether to record your failure analysis in a report.  Some of the key factors include:  level of testing formality, complexity of the testing effort, and the need to communicate the testing results to the entire development team.  In less formal environments, it may be sufficient to record your failure analysis in the form of a change request.  In this case, it is convenient to be able to cull relevant failure analysis information of change requests and put this into a report format.