专栏首页软测小生软件测试的7个基本原则

软件测试的7个基本原则

软件测试的原则是指帮助测试团队有效地利用他们的时间和精力来发现测试项目的隐藏bug的指导方针。从实际的实践和研究中,研究了以下 7 条软件测试的基本原则,以便测试人员在软件测试领域广泛应用。

1.测试表明项目目前存在的缺陷

这个原则可以用另一种方式来描述: 测试是关于缺陷的存在,而不是缺陷的不存在。软件测试只能找出应用程序或软件中存在的缺陷。测试总是有助于消除软件中未被发现的缺陷数量,但是,即使在测试过程中没有发现任何错误,也不意味着正确性。尽管对产品或应用程序进行了彻底的测试,但没有人能确保产品 100% 无缺陷。

2.不可能进行详尽的测试

测试数据、输入和测试场景的所有组合是不可能的,因为它需要大量的时间。相反,测试团队只能专注于一些重要的标准,如设置测试策略的风险和优先级。项目时间表永远不允许测试团队在项目中测试大量有效的组合。这就是为什么在测试项目中,访问和管理风险被认为是必不可少的活动之一。

3 、早期测试

必须尽快进行测试活动,为软件开发的下一阶段做好准备。只要生成产品需求或文档,测试人员甚至可以开始测试。显然,从一开始就解决问题总是更容易、更便宜,而不是如果发现错误太晚就改变整个系统。因此,通过早期测试,测试人员可以检测到错误,并帮助开发团队以更少的成本和精力解决问题。

4.缺陷聚类

缺陷聚类指的是在几个模块中发现了大部分缺陷。这一原则要求测试团队利用自己的知识和经验,确定要测试的潜在模块。这一预测有助于节省时间和精力,因为团队只需要关注那些 “敏感” 领域。然而,这种方法也有缺点: 一旦测试人员只专注于所有团队的一小块区域,他们可能会错过其他区域的错误。

5. 杀虫剂悖论

杀虫剂悖论是指测试人员在项目中进行的重复测试。这些测试只适用于一些有限的模块,而不是整个系统。这种测试可能会导致在模块之外没有发现新错误的问题。因此,为了涵盖项目的各个部分,它要求测试团队经常审查和更新测试用例。

6. 测试基本上依赖于上下文

各种产品或项目包含不同的元素、特征和要求。因此,测试人员不能对不同的项目应用相同的测试方法。例如,银行行业的应用程序应该比娱乐软件需要更多的测试。

7. 无错误谬论

软件产品不仅要在技术方面进行测试,还要根据用户的期望和需求进行测试。虽然测试没有在软件中显示任何错误,但这并不意味着产品已经准备好发布,因为必须确认测试是按照正确的要求进行的。

上述原则是由 Rex Black 、 Erick Van Veenendaal 和 Dorothy Graham 的研究 “软件测试基础” (ISTQB 认证) 总结的。这些原则可以作为大多数测试项目的核心指南。然而,如前所述,每个产品或项目都包含非常不同的因素和需求,需要各种测试方法。测试人员应该利用他们的经验和知识来决定和平衡这些方法。

本文分享自微信公众号 - 软测小生(ruancexiaosheng)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-06-29

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 干货 | 软件测试方法汇总

    软件测试方法种类繁多,记忆起来混乱, 如果把软件测试方法进行分类, 就会清晰很多。 这里参考一些书籍和网上的资料, 把常用的软件测试方法列出来, 让大家对软件测...

    软测小生
  • 自动化测试与手工测试对比

    一直以来,软件的测试主要是以手工测试为主,但是随着现代软件的复杂程度的加深,人们对使用手工方式来完成软件测试感到的越来越力不从心,同时因为在软件测试中存在着大量...

    软测小生
  • 性能测试工具Top5——2019

    在实际应用中,软件应用程序经常会遇到一些问题,如多个用户同时使用时运行缓慢、不同操作系统之间的不一致性和可用性差。为了解决这些问题,生成了一个方法:性能测试。这...

    软测小生
  • 精准测试的动因、概念、特性与价值

    在测试领域,精准测试已经成了测试数字化的代名词,渐渐得到测试开发人员的关注,也是测试行业一个具有挑战性的议题,本文试图回答以下几个问题:

    yuanyi928
  • 软件测试的7个基本原则

    视频编/译自Guru99,国外的一个免费IT教育平台,很喜欢这种短而精的视频教学形式,分享给大家。本人英语水平有限,字幕是机器翻译后再修改的,不当之处敬请谅解。

    归根落叶
  • DevOps 中高效测试基础架构的最佳实践

    今天我主要讲四个内容,我做内容规划的时候其实内容偏多,对于一些通用的内容可以讲得快一点,干货部分会讲得仔细一点。

    DevOps时代
  • 张老师聊面试

    1、现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?

    张树臣
  • 漫谈服务端测试

    熟悉金字塔的同学都知道,整个分层在大的分类思想上分三层,除了单元测试层外,基于把另外两个层次分成客户端的自动化测试和服务端的自动化测试。基于客户端...

    无涯WuYa
  • 自动化测试的最佳实践

    顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscr...

    小老鼠
  • 测试覆盖与测试工作关系问题的思考

    前言 参考原文:http://sauceio.com/index.php/2015/09/can-you-test-it-all-test-coverage-v...

    腾讯移动品质中心TMQ

扫码关注云+社区

领取腾讯云代金券