STLC - 测试基本原则


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

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

测试显示什么?

测试可以表明产品存在缺陷,但无法证明产品不存在缺陷。测试阶段可确保被测应用程序根据给定的要求运行,并有助于降低应用程序中未发现缺陷的可能性。但是,即使没有发现任何缺陷,也不代表它绝对正确。我们可以假设 AUT 与我们的退出标准相匹配,并根据 SRD 维持要求。

详尽的测试可能吗?

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

早期测试

测试活动应尽快开始,并重点关注测试策略中定义的目标和预期结果。测试的早期阶段有助于识别需求缺陷或设计水平差异。如果在初始阶段捕获这些类型的错误,可以帮助我们节省时间并且具有成本效益。为什么测试应该在早期阶段开始的答案很简单——一旦收到SRD,测试人员就可以从测试的角度分析需求,并可以注意到需求差异。

缺陷聚类

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

农药悖论

什么是农药悖论——如果农作物经常使用农药,昆虫就会产生一定的抗药性,渐渐地,喷洒的农药似乎对昆虫无效了。

同样的概念也适用于测试。在这里,昆虫是虫子,而杀虫剂是用来一次又一次运行的测试用例。如果多次执行相同的测试用例集,那么这些测试用例在一段时间后就会失效,测试人员将无法识别任何新的缺陷。

为了克服这些情况,应该不时地修改和审查测试用例,并且可以添加新的和不同的测试用例。这将有助于识别新的缺陷。

测试取决于上下文

该原则指出,除非两个不同类型的应用程序具有相同的性质,否则不能使用相同的方法来测试这两个应用程序。例如,如果测试人员对基于网络的应用程序和移动应用程序使用相同的方法,那是完全错误的,并且产品发布质量差的风险很高。测试人员应该针对不同类型和性质的应用程序使用不同的方法、方法、技术和覆盖范围。

不存在错误——谬误

该原则指出,发现缺陷并修复它们直到应用程序或系统稳定为止,这既耗时又消耗资源。即使修复了 99% 的缺陷,应用不稳定的风险也很高。首先要验证应用程序的稳定性和环境的先决条件。如果满足这两个条件,我们就可以开始详细的测试了。