Dav*_*ave 6 testing naming-conventions
如果我的单元测试失败,但底层代码确实有效,那么这会被称为误报还是假阴性?
(这是上下文.我并行运行了一堆测试,有些测试失败.我按顺序运行它们都会通过.所有代码实际上都有效,并行测试运行器只有一个问题.)
我的问题只是与命名法有关.我找到了人们称之为的例子.在阅读维基百科之后,我认为这是一个误报,但值得注意的是,Andrew Ng在他的机器学习课上说:
如果测试通过,即使代码被破坏,这也是误报.如果测试失败,当代码没有被破坏时,这是一个假阴性.
单元测试表明代码表现得某种程度.废物应该反映出来.
如果代码被破坏,但测试通过; 这是假阳性.
如果代码正确,但测试失败; 这是假阴性.
如果代码正确并且测试通过; 这是一个真正的积极因素.
如果代码失败并且测试失败,则这是真正的否定.
我相信这与其他答案所说的相反。
至少在 Gerard Meszaros 的“XUnit 测试模式:重构测试代码”一书中定义了误报和漏报。
理解这一点的一种简单方法是将其视为医学中的“测试疾病”。
如果您患有这种疾病,那么您就是“疾病阳性”。
在我们的软件世界中,你可以这样想:
一个正测试,意味着你是积极的一个bug,即测试失败,因为你是“NullReferenceExceptionitis-积极”
一个负测试,意味着你是负的错误,即测试通过,因为你是“StackOverflu-负”
因此,请记住错误 = 疾病和:
一个假阳性(一个bug)意味着你的代码错误地指责有一个错误。(您的代码没有错误,但测试失败)
一个假阴性(一个bug)意味着你的代码错误地宣布为没有错误。(您的代码有错误,但测试通过)
一个真正意味着你的代码是理所当然(真正的)指控有错误。(您的代码有错误,测试失败)
一个TRUE负意味着你的代码是理所当然(真正的)声明没有错误(你的代码有没有bug,测试通过)
我希望这有帮助。
参考资料:http : //xunitpatterns.com/false%20positive.html
从那本书中:
如果我们遇到错误测试或生产错误的问题,我们可以降低漏报的风险(不应该通过的测试)
还:
假阴性
即使被测系统 (SUT) 未正常工作,测试仍通过的情况。据说这样的测试会给出假阴性指示或“假通过”。另见:误报。
假阳性
即使被测系统 (SUT) 正常工作但测试失败的情况
| 归档时间: |
|
| 查看次数: |
1808 次 |
| 最近记录: |