作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到一种情况,我需要编写一些测试用例才能完全覆盖代码。在特定分支我遇到以下情况if((A && B && C) || D)
if((A && B && C) || D)
{
//perform task 1'
}
else
{
//perform task 2;
}
但是这样我无法获得 MCDC 的测试用例组合..这里的出路是什么......
最佳答案
你的出路可能是使用工具 MCDC识别可能的测试用例。
由于有许多可能的测试对组合,手动执行此操作可能确实需要大量工作。
很抱歉,我无法分享我的研究的所有细节。我建议首先阅读由 FAA 发布的“对三种形式的修改条件决策覆盖 (MCDC) 标准的调查”(DOT/FAA/AR-01/18)。
包括屏蔽在内,有 52 个可能的测试对。如果您进行适当的白盒分析,包括 bool 快捷方式评估,那么您甚至会发现 63 个 MCDC 测试对。应用集合覆盖算法将产生 3 个可能的最小测试集。
进行一些启发式操作将得出可能令人惊讶的测试向量:
Test Pair for Condition 'a': 0 14 (Unique Cause)
Test Pair for Condition 'b': 8 14 (Unique Cause)
Test Pair for Condition 'c': 12 14 (Unique Cause)
Test Pair for Condition 'd': 0 1 (Unique Cause)
测试向量:推荐结果:0 1 8 12 14
0: a=0 b=0 c=0 d=0 (0)
1: a=0 b=0 c=0 d=1 (1)
8: a=1 b=0 c=0 d=0 (0)
12: a=1 b=1 c=0 d=0 (0)
14: a=1 b=1 c=1 d=0 (1)
关于unit-testing - 针对条件 (A && B && C) || 执行 MCDC D,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37671985/
我遇到一种情况,我需要编写一些测试用例才能完全覆盖代码。在特定分支我遇到以下情况if((A && B && C) || D) if((A && B && C) || D) { //perform
我遇到一种情况,我需要编写一些测试用例才能完全覆盖代码。在特定分支我遇到以下情况if((A && B && C) || D) if((A && B && C) || D) { //perform
我是一名优秀的程序员,十分优秀!