**MC/DC:**修正判定条件覆盖-----程序中的每个输入和输出都至少被调用一次,在程序中的每一个条件必须产生所有可能的输出结果至少一次,并且每一个判定中的每一个条件必须能够独立影响一个判定的输出,即在其他条件不变的前提下仅改变这个条件的值,而使判定结果改变。
**条件:**不包含布尔运算符的布尔表达式
**判定:**由条件和零个或多个布尔运算符组成的布尔表达式。没有布尔运算符的判定是条件。 如果一个条件在一个判定中出现不止一次,则每次出现都是一个不同的条件。
实际演示:
1:对于(A&&B)来说,其C/DC是:
对于(A&&B)来说,其MC/DC是:
(对于列5(00->0)而言:由于修改A或者B的值结果对于结果不可能发生改变,故而其不存在与MC/DC中)
同理对于A||B而言其MC/DC为:
2:进一步加强:
1:所以对于:A && (B ||C)而言,先看成A&& B的形式,再看成(B ||C)的形式:
共有5种请况。
2:同理对于:A || (B && C)而言,先看成A||B的形式,再看成(B && C)的形式: