利用自动特征工程提高软件缺陷模块的预测质量
1 软件测试概述
在软件测试领域,需要智能地分配可用资源。过去,测试计划和指标的生成主要基于功能属性覆盖和规格覆盖,但后来发现这些指标无法完全测试,于是开发了发现测试用例和测试数据冗余的方法。
1.1 软件测试的悖论
Beizer提出了软件测试的两个悖论:
- 农药悖论 :就像农民每年使用不同的农药,因为每年剩下的害虫会对使用过的农药产生抗性,软件测试中每种预防或查找错误的方法都会留下一些残余错误,需要多种方法来应对,但软件质量会因此逐渐提高。
- 复杂性障碍悖论 :软件和错误的复杂性增长到我们处理能力的极限。消除简单的错误后,会进入到更复杂的特性层面,出现更难以处理的微妙错误,用户总是推动开发接近复杂性障碍,接近程度取决于技术的强度和处理复杂错误的能力。
此外,Burnstein指出一个指导测试工作的基本原则:软件组件中出现额外缺陷的可能性与该组件中已检测到的缺陷数量成正比。
1.2 软件测试困难的原因
如今软件测试变得更加困难,原因如下:
- 环境多样性 :存在多种操作系统、编程语言和机器平台,且现在大多数活动都依赖计算机,与20世纪70年代不同。
- 需求问题 :需求可能不正确、模糊,且项目进度紧张,测试人员可能未得到充分培训。
- 错误难以重现 :
- 特定环境问题 :一些错误仅
自动特征工程提升缺陷预测
超级会员免费看
订阅专栏 解锁全文
9740

被折叠的 条评论
为什么被折叠?



