在软件工程中,注入的缺陷是什么意思?如果在软件测试期间出现此类缺陷,那么如何处理注入的缺陷?还如何降低这些缺陷的发生率?

#1 楼

为了将其他答案放在上下文中,这里有一些相关的想法,它们可能会互相踩踏。


缺陷插入(或发现)-参考系统的哪个阶段(例如需求开发,设计,开发,实现,集成,测试,维持)在产品中插入/注入(或发现)缺陷。因此,在需求时插入的缺陷(例如,被误解的用户需求)并在集成时发现的缺陷将表现出不良的缺陷控制能力。
故障或故障注入-将故障条件故意注入运行中系统在测试活动中,以确定系统对异常条件或异常条件的反应是否良好。
缺陷注入-故意插入的缺陷,可以在任何阶段插入,目的是确定质量保证,测试,或缺陷遏制纪律。也称为“缺陷播种”。


#2 楼

注入的缺陷是在测试过程中有意向系统添加缺陷,以测试和验证系统在这些情况下的行为。

这是一个很好的测试实践,不应减少或避免任何错误。

此类缺陷的示例可以是:


引入了不可靠的网络流量。
使用完整的硬盘驱动器进行测试。
使用某些硬件组件故障进行测试。
在超出规格的电气条件下进行测试。


#3 楼

我会理解这是指@Anders在其答案中涉及的故障注入,或者与缺陷播种或错误播种相同。

错误播种是一种实现度量的方法,该度量用于检查系统的测试质量。知道测试发现的缺陷百分比或系统中仍然存在多少错误是很高兴的。不幸的是,我们不知道系统中存在的缺陷总数。错误种子的想法是向系统引入许多已知的错误,然后计算发现的错误数量。然后可以使用该比率来估计系统中未知的实际错误的数量。

如果使用该比率,则需要考虑以下事项:


注入的缺陷应覆盖整个系统并具有完整的严重程度,以正确显示测试有效性。这很难实现。
想想您的员工将如何对这种测量做出反应。您是否应该事先告知有注入的缺陷?
确保释放产品之前记得清除注入的缺陷。


#4 楼

您在问题的第一部分(什么是注入的缺陷?)上得到了很好的答案,但是在第二个问题上(所有问题都可以减少?),一切似乎都很安静。

健全的软件工程原理应该帮助,例如:


了解您的要求
执行审阅
及早计划彻底的测试

其他人提到的要及早发现比减少缺陷更重要。会发生缺陷;但是,如果较早而不是较晚地发现并消除了这些缺陷,则可以大大减少负面影响。