一句话:对每个 MC/DC 序列,可行时生成实现其真值约束的测试输入,否则证明其不可行。
MC/DC 覆盖准则规定了一组 MC/DC 序列。每个序列由程序中谓词(即原子布尔表达式的布尔组合)内若干原子布尔表达式的真值取值规格定义;若某条执行轨迹按该真值规格实现这些原子布尔条件,则称其满足该序列。若存在这样的执行轨迹,则该 MC/DC 序列可行。论文关注 MC/DC 测试生成的整体目标:对每个序列,若可行则生成能实现该序列的测试输入;若不可行则证明该序列不可行。摘要未报告具体方法细节,但将“可行则生成、不可行则证明”作为最优 MC/DC 测试用例生成的任务定义。
MC/DC coverage prescribes a set of MC/DC sequences. Such a sequence is defined by a specification of the truth values of certain atomic boolean expressions which appear in predicates (i.e. boolean combinations of atomic boolean expressions) in the program. An execution trace satisfies the sequence if it realizes the atomic boolean conditions in accordance with the truth value specification of the sequence. An MC/DC sequence is feasible if there is one such execution trace. The overall goal for an MC/DC test generator is, for each sequence: if feasible, to generate a test input realizing the sequence; otherwise, to prove that the sequence is infeasible.
DOI 原文 ·
@inproceedings{paperbot6692,
title = {Toward optimal mc/dc test case generation},
author = {Sangharatna Godboley and Joxan Jaffar and Rasool Maghareh and Arpita Dutta},
booktitle = {ISSTA},
year = {2021},
doi = {10.1145/3460319.3464841}
}