gpt4 book ai didi

unit-testing - 针对条件 (A && B && C) || 执行 MCDC D

转载 作者:行者123 更新时间:2023-12-02 21:02:18 26 4
gpt4 key购买 nike

我遇到一种情况,我需要编写一些测试用例才能完全覆盖代码。在特定分支我遇到以下情况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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com