An investigation of fault-based testing using the relay model

Margaret C. Thompson · ScholarWorks@UMassAmherst (University of Massachusetts Amherst) · 1991

Fault-based testing techniques attempt to select test data that detect certain types of faults that could exist in a module. This thesis presents a model, called R scELAY, of how a fault causes a failure, where a fault is a syntactic mistake in the code and a failure is an observable incorrect behavior. A "potential failure" (intermediate incorrect value) "originates" (is introduced) and "transfers" (moves through the program) to output where a failure occurs. "Computational transfer" involves the transfer of a potential failure within a statement. "Data dependence transfer" involves the transfer of a potential failure from the definition of a variable to a use of that variable. "Control dependence transfer" involves the transfer of a potential failure from the incorrect evaluation of a branching statement to a statement whose execution may be controlled by that branching statement. A potential failure transfers from a faulty statement to output along "information flow chains". R scELAY recognizes the possibility that several information flow chains may be transferred along at the same time and models this with "transfer sets", which are sets of chains all of which may be executed at the same time. Identification of transfer sets and recognition of the role of control dependence transfer are unique to R scELAY. This thesis presents three applications for the R scELAY model. (1) We use the model to construct "failure conditions", that guarantee detection of a fault. (2) We use the insight provided by R scELAY to evaluate fault-based testing criteria. Most criteria do not consider transfer of an originated potential failure to output. For those that do, no guidance for transfer is provided. No approach considers the complexity of transfer through data dependence and control dependence. (3) We use the details provided by R scELAY to ask questions about the likelihood of transfer to output for test data that originates a potential failure and about the likelihood of multiple faults masking each other. We evaluate empirical studies and propose further empirical studies in both these areas using patterns of information flow as the basis for such studies.

Read the paper · More papers on PaperTik