问题标签 [mc-dc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
unit-testing - java中修改条件/决策覆盖分析工具
java中是否有任何用于修改条件/决策覆盖率分析的开源工具。
我看过coberta,它似乎只提供有条件的覆盖。
我有兴趣执行此处描述的分析
http://sunnyday.mit.edu/papers/dupuy.pdf
http://en.wikipedia.org/wiki/Modified_condition/decision_coverage
为了满足 MC/DC 覆盖标准,在测试期间,以下所有条件必须至少为真一次[1]:
testing - 覆盖 MC DC 的可能测试用例组合的数量
我试图了解如何设计测试用例以涵盖以下表达式:Z := (A and not B) or (C xor D);
以下组合是涵盖 MC/DC 的唯一最小解决方案吗?
或者下面给出的也适用于 MCDC 吗?
code-coverage - 证明 MC/DC 唯一原因定义合规性
我正在阅读以下关于 MC/DC 的论文: http: //shemesh.larc.nasa.gov/fm/papers/Hayhurst-2001-tm210876-MCDC.pdf。
我有源代码:Z := (A or B) and (C or D)
和以下测试用例:
我想证明上述测试用例符合唯一原因定义。
我从消除蒙面测试开始:
A or B = F T T T T
,这意味着它将第一个测试用例从C or D
as中屏蔽掉F and (C or D) = F
。C or D = T T F T T
A or B
,这意味着它从as中屏蔽了第三个测试用例(A or B) and F = F
。
然后我确定MC/DC
:
所需的测试用例A or B
:
F F
(第一种情况)T F
(第五种情况)F T
(第二种或第四种情况)
所需的测试用例C or D
:
F F
(第三种情况)T F
(第四或第五种情况)F T
(第二种情况)
所需的测试用例(A or B) and (C or D)
:
T T
(第二、第四或第五种情况)F T
(第一种情况)T F
(第三种情况)
根据论文,这个例子不符合唯一原因定义。相反,他们建议将第二个测试用例从 更改F T F T
为T F F T
。
我再次下定决心MC/DC
:A or B
F F
(第一种情况)T F
(第五种情况)F T
(第四种情况)
然后,他们介绍了以下独立性对表,显示了两个示例之间的差异(第 38 页):
我知道对于第一个示例,它们显示的独立对更改了两个变量而不是一个,但是我不明白他们如何计算独立对。
在A
列中,我可以推断它们F F T F
从测试用例表的A
行中获取,并且它们将独立对计算为相同的测试用例,仅A
更改 ( T F T F
)。
然而,在B
's 列中,他们F F T F
再次选择。根据我的想法,这应该等于B
' 列:F T F T
而不是。
其余的字母显示了同样的困境。
同样对于D
的第一个示例列,他们表明独立对F T F T
是T F F F
,这破坏了我的理论,即他们正在从第一个值计算独立对,并证明他们是从其他地方挑选的。
有人可以更好地解释他们如何(以及从哪里)构建这样的独立配对表吗?
testing - 具有修改的条件/决策覆盖率的最小测试用例集
我有一个关于修改条件/决策覆盖率的问题,我无法弄清楚。
因此,如果我有表达式((A || B) && C)
并且任务是用最少数量的测试用例接收 100% MD/DC。
(A || B)
我将其分为两部分,其中和的测试用例数量最少(X && C)
。
'-' 表示它们的值无关紧要,因为编译器不会评估它们。
因此,当我将这些结合起来时,我将其作为我的最小测试用例集:
但是当我用谷歌搜索它时,它也在集合中:{{F, T}, T} = T
我不同意,因为我在其他测试中单独测试了这个集合的部分,不是吗?
所以我似乎错过了第四个测试用例添加到集合中的内容,如果有人能解释为什么我必须拥有它会很棒?
automation - 是否可以使用任何脚本语言从逻辑表达式中自动生成 MCDC 真值表作为输入
假设如果我将任何逻辑表达式作为输入连同每个信号定义一起提供给工具,则工具应该能够生成MCDC
真值表(在 中使用Avionics V&V
)。如果可能,我们是否也可以实现时序和鲁棒性?
前任:
##输入工具输入:
工具的预期输出
unit-testing - 为条件执行 MCDC (A && B && C) || D
我有一种情况,我需要编写几个测试用例来完全覆盖代码。在一个特定的分支上,我遇到了以下情况 if((A && B && C) || D)
但是有了这个,我无法获得 MCDC 的测试用例组合..这里的出路是什么......
unit-testing - 相互依赖的条件如何做MCDC?
在为以下表达式执行MCDC时遇到问题:
从表达式来看,我一共有5个条件
[ A && (B && C && D) || E]
正如 MCDC 要求的那样:“一个条件的变化导致输出的变化”,
这意味着如果 A 发生变化(t_Active_b 的值是 TRUE,然后是 FALSE)并且其他条件必须保持其状态,那么输出会发生变化(从 TRUE 到 FALSE)
如何设计条件 B、C 和 D 的测试用例?
顺便问一下,您知道任何可以生成 MCDC 测试用例的商业或免费工具吗?
code-coverage - MC/DC - 如何管理非 100% 覆盖率的决定
考虑到决定“ (A && B) || (!A && C) ”,这导致缺乏 MC/DC 覆盖,例如,无法测试F#F#。
- 没有达到 100% 的 MC/DC 是什么意思?只是质量问题吗?
- 没有 100% 的 MC/DC 可以接受吗?
- 如何管理达到 100% MC/CD 的决策?
非常感谢。
java - 在一个语句中测试多个 AND/OR 条件的覆盖率
示例语句:
我可以为所有 2^4 组合编写单元测试,但如果添加更多条件,这很容易失控。
我的单元测试策略应该是什么来涵盖这样的语句的所有条件?有没有其他方法可以使代码更健壮?
testing - 报表覆盖率和分支覆盖率
Statement Coverage(Node Coverage)和Branch Coverage(Decision Coverage)之间的相似之处和区别是什么?你们能用一个例子来说明它吗
这是一道考试题,也是我第一次讨论这些主题,到目前为止还无法区分它们。