🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
# 软件测试的 7 条原则:通过实例学习 > 原文: [https://www.guru99.com/software-testing-seven-principles.html](https://www.guru99.com/software-testing-seven-principles.html) 本教程介绍了每个软件测试人员和 QA 专业人员都应了解的七个基本软件测试原理。 **7 个软件测试原理** * 测试表明存在缺陷 * 不可能进行详尽的测试 * 早期测试 * 缺陷聚类 * 农药悖论 * 测试取决于上下文 * 没有错误谬误 让我们通过以下视频示例了解测试原理: **背景** 重要的是,在进行软件测试时获得最佳的测试结果而不会偏离目标。 但是,如何确定自己遵循正确的测试策略呢? 为此,您需要坚持一些基本的测试原则。 以下是在软件行业广泛实践的七种常见测试原理。 要理解这一点,请考虑将文件从文件夹 A 移至文件夹 B 的情况。 想想所有可能的测试方法。 除通常情况外,您还可以测试以下条件 * 尝试在打开文件时移动文件 * 您没有将文件粘贴到文件夹 B 中的安全权限。 * 文件夹 B 在共享驱动器上,并且存储容量已满。 * 文件夹 B 已经有一个同名文件,实际上列表是无止境的 * 或假设您有 15 个要测试的输入字段,每个字段有 5 个可能的值,要测试的组合数将为 5 ^ 15 如果要测试所有可能的组合项目,则执行时间&成本将成倍增加。 我们需要某些原则和策略来优化测试工作 ## 以下是 7 条原则: ## 1)不可能进行详尽的测试 是! 不可能进行详尽的测试。 相反,我们需要根据应用程序的风险评估来优化测试量。 而百万美元的问题是,您如何确定这种风险? 为了回答这个问题,让我们做一个练习 您认为哪种操作最有可能导致您的操作系统出现故障? 我相信大多数人都会猜到,同时打开 10 个不同的应用程序。 因此,如果您正在测试此操作系统,您将意识到在多任务活动中很可能会发现缺陷,需要对其进行彻底的测试,这使我们有了下一个原理。[缺陷](/defect-management-process.html)聚类 ## 2)缺陷聚类 缺陷聚类,指出少数模块包含检测到的大多数缺陷。 这是帕累托原理在软件测试中的应用:大约 80%的问题出现在 20%的模块中。 根据经验,您可以确定此类风险模块。 但是这种方法有其自身的问题 如果一遍又一遍地重复相同的测试,最终相同的测试用例将不再找到新的错误。 ## 3)农药悖论 随着时间的推移,重复使用相同的农药混合物消灭昆虫会导致昆虫对农药产生抵抗力,从而使农药对昆虫无效。 软件测试也是如此。 如果进行相同的重复测试,则该方法将无助于发现新的缺陷。 为了克服这个问题,需要定期修订测试用例&,并添加新的&不同的测试用例以帮助发现更多缺陷。 测试人员不能仅仅依靠现有的测试技术。 他必须不断注意改进现有方法,以使测试更有效。 但是,即使经过艰苦的测试&,您也永远不能声称您的产品没有错误。 为了说明这一点,让我们看一下有关 Windows 98 公开发布的视频 您认为像 MICROSOFT 这样的公司不会对其操作系统进行全面测试&,只是为了看到其操作系统在公开发布时崩溃,他们就可能冒着声誉受损的风险! ## 4)测试表明存在缺陷 因此,测试原则指出-测试只谈论缺陷的存在,而不是谈论缺陷的存在。 即,软件测试可降低软件中未发现的缺陷的可能性,但即使未发现缺陷,也不表示其正确性。 但是,如果您加倍努力,采取所有预防措施&,可以使您的软件产品 99%不含错误。 并且该软件不能满足客户端的&需求。 这引出了我们的下一个原则,该原则指出:-没有错误 ## 5)没有错误-谬误 99%无错误的软件仍然可能无法使用。 如果针对错误要求对系统进行了全面测试,则可能是这种情况。 软件测试不仅是发现缺陷,而且还要检查软件是否满足业务需求。 没有错误是一个谬论,即,如果系统构建无法使用并且不能满足用户的需求&,则查找和修复缺陷无济于事。 为了解决此问题,下一个测试原则指出:“早期测试” ## 6)早期测试 早期测试-测试应在软件开发生命周期中尽早开始。 这样就可以在早期阶段捕获需求或设计阶段中的任何缺陷。 在测试的早期阶段修复缺陷要便宜得多。 但是应该多早开始测试呢? 建议您在定义需求后立即开始查找错误。 有关此原理的更多信息,请参阅后面的培训教程。 ## 7)测试取决于上下文 测试是依赖于上下文的,这基本上意味着您测试电子商务站点的方式将不同于您测试现成应用程序的商业方式。 所有开发的软件都不相同。 您可以根据应用程序类型使用不同的方法,方法,技术和测试类型。 例如,零售商店的任何 POS 系统都将不同于测试 ATM 机。 ## 神话:“原则仅供参考。我不会在实践中使用它们。” 这是非常不真实的。 测试原理将帮助您创建有效的[测试策略](/how-to-create-test-strategy-document.html)并草拟错误捕获测试用例。 但是学习测试原理就像第一次学习驾驶一样。 最初,当您学习驾驶时,您会注意所有事物,例如变速,速度,离合器操纵等。但是随着经验的积累,您只需要专注于驾驶其余部分就自然而然地开始了。 这样您甚至可以与车内其他乘客进行对话。 测试原理也是如此。 经验丰富的测试人员已经将这些原则内化到了即使不考虑也可以应用的水平。 因此,没有在实践中使用这些原则的神话是不正确的。