软件测试 - 7 项原则
软件测试过程是成功软件开发最重要的阶段之一。测试是一项相当困难、繁琐且耗时的活动。为了提高其有效性,必须遵循一些原则,以便从软件测试中获得最大收益。
下面列出了7 项测试原则 −
测试暴露缺陷的存在
一旦软件从开发阶段进入测试团队的手中,就会使用各种测试层、类型和方法对其进行彻底测试。结果,软件中所有可能的错误都会被发现,并最终得到解决。此外,软件会经过多个周期来检测尽可能多的错误。
尽管进行了所有测试,但无法保证交付的软件完全没有缺陷。可能存在一些未经测试的场景。因此,测试只能降低软件中出现错误的可能性,但不能保证软件 100% 无缺陷。
详尽测试是不可能的
在测试软件时,不可能涵盖先决条件、数据、场景、用例等的所有可能组合。此外,详尽测试需要大量的时间、精力和成本。与其这样做,不如尝试选择最佳、最优和最有效的测试用例集,而不是测试所有组合。只有通过经验、软件知识以及分析所有可能的风险及其缓解措施,才能选择最佳测试用例。
缺陷聚类
据观察,从软件的少数模块中可以识别出最大数量的缺陷。这来自测试中的帕累托原则。它指出,80% 的缺陷源自 20% 的软件组件。
因此,它有助于检测容易出现错误的模块。如果在模块中发现缺陷,则同一区域很可能存在更多缺陷。但必须注意的是,如果在相同的模块上重复执行一组类似的测试用例,则出现新错误的可能性会降低。
杀虫剂悖论
这是基于这样一个事实:如果在植被上反复使用同一种杀虫剂,那么昆虫最终会习惯,一段时间后它对昆虫就无效了。
同样,如果一遍又一遍地执行相同的测试用例组,它们就会变得毫无用处,因为它们无法检测到软件中的新错误。为了克服这个问题,必须经常检查测试用例,并根据新的要求、模块和功能添加、修改或删除它们。此外,测试用例应针对较新的数据组合或数据集以及场景运行,以识别更多错误。
早期测试
测试应从软件开发生命周期 (SDLC) 的初始阶段开始,从检测需求、设计或开发阶段的错误开始。在早期阶段识别缺陷总是比在最后阶段识别缺陷更好。在 SDLC 的后期阶段修复缺陷的成本更高。此外,项目截止日期会受到阻碍,因为需要在后期阶段记录关键功能来修复缺陷。
测试依赖于上下文
每个软件都有自己的独特之处。例如,票务预订应用程序与电子商务应用程序不同。因此,验证票务预订应用程序的测试方法、策略和方法总是不同于电子商务应用程序。因此,通用的测试策略框架并不适用于所有软件,并且因环境而异。
无错误谬误
可能存在这样的情况:完整的软件已经过彻底测试,并且有百分之九十的机会不会遇到任何缺陷。但是,后来可能会发现整个测试都是基于不正确的要求。因此,软件最终没有任何缺陷,但客户无法使用和接受。这表明测试不仅仅是检测缺陷,还意味着验证软件是否符合用户的需求。
这就是我们对软件测试 7 项原则教程的全面介绍。我们首先描述了软件测试的 7 项原则。这将使您深入了解软件测试 7 项原则。明智的做法是继续实践您学到的知识并探索与软件测试相关的其他知识,以加深您的理解并拓展您的视野。