当谈到诸如MCDC(修改条件/决策标准)等覆盖标准时......
声明“程序中的每个进入和退出点至少被调用一次,程序中的每个条件都至少采取了一次所有可能的结果,并且每个条件都已显示独立地影响决策结果。通过在保持固定所有其他可能条件的同时改变该条件,条件被证明独立地影响决策的结果。 [...]“ - https://en.wikipedia.org/wiki/Modified_condition/decision_coverage
这个描述对于什么构成独立标准是相当模糊的...那么,它们是什么?示例在任何语言中都很有用(C-family / python / haskell首选)。
答案 0 :(得分:1)
维基百科定义是一个非正式的陈述,更精确的MDCD定义是:
对于每个条件c
,在每个决定d
中,都会进行以下测试:
c == true
c == false
d
c == true
的结果为x
,则c == false
必须为!x
时的结果为d。 d
中的所有其他条件在两个测试用例中评估相同。如果可以创建满足这些条件的测试集,则表明每个条件都不是冗余的:在某些情况下,每个条件至少会影响程序的控制(因为有一个测试用例可以证明这一点) 。这就是"意味着独立影响结果"。