问题标签 [white-box-testing]
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.
java - 如何使用 Whitebox(org.powermock.reflect) 模拟私有方法
我想模拟一个在另一个方法中调用的私有方法。
以下是我编写的示例代码。
Java代码:
测试类:
我们可以使用Whitebox.invokeMethod()
. 我的问题是:有什么方法可以使用 Whitebox 模拟私有方法。我们可以编写类似于下面的代码来模拟 updateAccount(),因为我不希望在测试 Deposit() 方法时执行任何数据库操作吗?
任何帮助表示赞赏!谢谢!
unit-testing - 单元测试总是白盒测试吗?
我最近看到一些参考文献在一篇文章中指出或提及单元测试始终是白盒测试。
由于黑盒测试只是查看该单元的规范或要求,并确保它满足这些要求,而不关心它是如何做到的,我至少认为单元测试可以是黑盒测试。事实上,如果你的目标是“干净的代码”和“干净的架构”,那么我认为你的目标是在所有测试级别上只创建黑盒测试。
如果在黑盒测试之外还有需要测试的内部结构,那么我认为规范是不完整的。另一种说法是,如果您完成了黑盒测试,并确认您的单元完成了您期望/希望它做的所有事情,并且您没有 100% 的代码覆盖率,并且必须添加白盒测试以获得 100% 的覆盖率,那么我会非常担心额外的代码会导致不符合规范的副作用(可能在边缘或极端情况下),或者只是不必要并增加不必要的复杂性。
我是否误解了白盒与黑盒测试的含义?说根据定义所有单元测试都是白盒测试是否正确?
testing - 我有几个关于 MC/DC 和 piarwise 测试的问题
最近开始做软件测试,遇到了一些问题。
成对测试是该参数可以具有的所有值的组合,是否也适用于布尔表达式?
例如,
布尔表达式为 (A || B) && C (假设每个参数只有 0 和 1。)
在这里,它适用于 Boolean Exp 吗?
第二个问题是关于 MC/DC。
我已经学会了如何通过 MC/DC 制作测试用例
但是,我想知道如何证明 MC/DC 可以覆盖几乎 90% 的代码覆盖率?
在 (A || B) && C 中,我猜有 4 个组合测试用例。
但是,所有组合都是 8. MC/DC 如何减少案例?
reflection - PowerMockito - Whitebox 使用 int [] 参数获取内部类的构造函数
正如标题所提到的,我正在使用 PowerMockito 来测试一个包含内部私有类的类。内部类有一个带有“int[]”参数的构造函数。下面是代码。
代码抛出
org.powermock.reflect.exceptions.ConstructorNotFoundException:无法在类中查找具有参数类型 [[I] 的构造函数
unit-testing - 白盒测试 - 基础覆盖率
当您进行白盒测试时,这意味着什么:
“如果可能,用基础覆盖边缘。否则用一组任意测试用例覆盖路径”。
我通常在这种练习中做的是计算我的控制图的圈复杂度,然后找到与我的复杂度相同的多个路径。我写了测试用例,我完成了。
如何验证我的边缘覆盖是否是基础?
unit-testing - 100% 代码覆盖率的白盒测试用例
我提前道歉,因为我对软件测试很陌生。但是我有一个看起来很简单的代码来创建一个具有 100% 代码覆盖率的白盒测试用例:
我需要有关我的输入数据在此代码上的外观的帮助,以便以最少的测试用例实现 100% 的代码覆盖率。
我很感激我能得到的任何帮助,谢谢!
swift - 我应该添加白盒/黑盒冗余单元测试吗?
我已经black-box
为我的项目编写了单元测试。
在重构之后,我strategy pattern
在我的代码中采用了 a 。
此代码被black-box
单元测试覆盖,即使在refactoring
.
但是我想知道:我应该添加white-box unit tests
,例如,检查每个策略是否在做应该做的事情?
或者这是redundant
因为我已经有了用于检查的黑匣子final outcome
?
android - Presenter 方法和回调的圈复杂度计算
每个人。我需要帮助来确定有关此测试方法的圈复杂度。
如果它只是一个简单/简单的 Java 类,则很容易测试和确定基本路径。但是,在上面的测试方法中,我想不出如何计算它的圈复杂度。以及确定谓词节点。
感谢你的帮助。
code-coverage - 我正在尝试学习语句覆盖分析
我正在尝试学习代码覆盖率分析;我有点困惑,因为下面的代码有循环。
示例如果这样的代码
如果 a = 5 和 b =7,语句覆盖率是多少?
testing - 域错误测试和控制流/数据流测试有什么区别?
我目前可以阅读以下说明:
基于流程图的测试技术和领域测试之间存在根本区别。流图是指控制流图和数据流图。区别解释如下:从控制流图或数据流图中选择路径以满足特定的覆盖标准。提醒读者,控制流覆盖标准是
statement coverage, branch coverage, and predicate coverage
. 同样,研究涵盖程序中变量的定义和使用方面的标准是all-defs, all-c-uses, all-p-uses, and all-uses
,仅举几例。分析路径谓词以导出测试数据。在选择路径和相应的测试数据时,不对所选测试用例可能发现的实际故障类型做出任何假设,也就是说,没有明确考虑检测特定类型的故障。
域错误测试采用了一种全新的故障检测方法。定义一类故障,称为域错误,并选择测试数据来检测这些故障。如果程序存在域错误,这些错误将由测试用例揭示。
我仍然不太清楚域错误测试和控制流/数据流测试之间的主要区别是什么?域错误测试相对于控制流/数据流测试的优势是什么?