Ensuring the Observability of Structural Test Obligations

Publication Year:
2017
Usage 8
Downloads 5
Abstract Views 3
Repository URL:
https://scholarcommons.sc.edu/etd/4425
Author(s):
Meng, Ying
Tags:
Ensuring; Observability; Structural; Test; Obligations; Computer Sciences
interview description
Test adequacy criteria are widely used to guide test creation. However, many of these criteria are sensitive to statement structure or the choice of test oracle. This is because such criteria ensure that execution reaches the element of interest, but impose no constraints on the execution path after this point. We are not guaranteed to observe a failure just because a fault is triggered. To address this issue, we have proposed the concept of observability—an extension to coverage criteria based on Boolean expressions that combines the obligations of a host criterion with an additional path condition that increases the likelihood that a fault encountered will propagate to a monitored variable. Our study, conducted over five industrial systems and an additional forty opensource systems, has revealed that adding observability tends to improve efficacy over satisfaction of the traditional criteria, with average improvements of up to 392.44% in mutation detection and per-model improvements of up to 1654.38%. Ultimately, there is merit to our hypothesis—observability reduces sensitivity to the choice of oracle and to the program structure.