STLC - 测试基本原则

测试的共同目标是尽早发现错误.并且,一旦修复了错误,确保它按预期工作并且不破坏任何其他功能.

为了实现这些目标,给出了软件测试的七个基本原则 :

测试显示什么?

测试可以显示存在缺陷但无法证明产品中没有缺陷.测试阶段确保被测应用程序基于给定的要求正在工作,并且有助于降低应用程序中未发现的缺陷的可能性.但是,即使没有发现缺陷,也不意味着绝对正确.我们可以假设AUT符合我们的退出标准,并根据SRD维持要求.

是否可以进行彻底检测?

100%覆盖率或除了微不足道的情况之外,不可能测试所有输入组合和可能的组合.而不是详尽的测试,风险分析和优先级用于定义测试范围.在这里,大多数实时场景也可以考虑包括最可能的负面场景.这将有助于我们跟踪失败.

早期测试

测试活动应尽快开始,并专注于测试策略和预期成绩.测试的早期阶段有助于识别需求缺陷或设计级别差异.如果在初始阶段捕获这些类型的错误,它可以帮助我们节省时间并且也具有成本效益.为什么测试应该在早期阶段开始的答案非常简单 - 一旦收到SRD,测试人员就可以从测试角度分析需求并注意到需求差异.

缺陷聚类

根据以前的产品缺陷分析,可以说大多数缺陷都是从对应用至关重要的一小组模块中识别出来的.可以基于复杂性,不同系统交互或对不同其他模块的依赖来识别这些模块.如果测试人员能够识别这些关键模块,他们可以更多地关注这些模块,以识别所有可能的错误.在一项研究中,发现10个缺陷中有8个来自AUT的20%功能.

杀虫剂悖论

什么是农药悖论 - 如果经常在农作物上使用杀虫剂,那么当昆虫产生某种抵抗力时,就会逐渐将这种喷洒的杀虫剂对昆虫产生影响.

同样的概念是适用的在测试也.在这里,昆虫是虫子,而杀虫剂是用来反复运行的测试案例.如果一次又一次地执行相同的测试用例集,则这些测试用例在一定的时间范围后变得无效,并且测试人员将无法识别任何新的缺陷.

要克服这些条件,应该不断修改和审查测试用例,并且可以添加新的和不同的测试用例.这有助于识别新缺陷.

测试是依赖于上下文

这个原则说明两种不同类型的应用程序无法使用相同的方法进行测试接近两个应用程序具有相同的性质.例如,如果测试人员对基于Web的应用程序和移动应用程序使用相同的方法,则完全错误,并且存在产品发布质量差的高风险.测试人员应针对不同类型和性质的应用程序使用不同的方法,方法,技术和覆盖范围.

缺少错误 - 谬误

此原则指出缺陷并修复它们直到应用程序或系统稳定,耗时并且还会占用资源.即使在修复了99%的缺陷之后,也存在应用不稳定的高风险.第一要务是验证应用程序的稳定性和环境的先决条件.如果这两个条件满足,那么我们才能从详细测试开始.