• 0
  • 1
分享
  • 绝对的干货:软件测试的7个基本原则——软件测试圈
  • 曼倩诙谐 2022-11-18 11:12:29 字数 2070 阅读 1832 收藏 1

  2022软件测试行业前景如何?结果你来预测。链接:http://vote.51testing.com/


  原则(Principles ),是每个人在行事中所遵循的准则。每个人都有自己的原则,或成人,或尚处襁褓。软件测试也有一套原则让每位软件测试从业人员去遵循,这些原则是前辈们前仆后继在无数的坑坑洼洼中总结出来的。

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

  原则一:测试证明软件存在缺陷

  时至今日,依然有不少人容易犯错:没有发现错误的测试说明软件没有缺陷。

  这个原则可以用另一种方式来描述: 测试的本质是证明软件存在缺陷,而不是软件没有任何缺陷。

  测试只能证明软件是存在缺陷的(证伪),而不是证明软件是没有缺陷的(证实)。

  软件测试只能找出应用程序或软件中存在的缺陷,测试是为了辅助开发,降低缺陷存在的可能性而开展的活动,即便对产品或者应用程序进行了多次的、比较彻底的测试都没有发现任何缺陷,也不能证明软件是100%完美的。

  原则二:穷尽测试是不可能的

  测试数据、输入和测试场景的所有组合是不可能的,因为它需要大量的时间。相反,测试团队只能专注于一些重要的指标,例如:设置测试策略的风险和优先级。一般来说,项目周期里永远不可能允许测试团队在项目中进行大量有效的组合测试。

  比如测试一个简单的计算器,你可以尝试1+1,1+2,1+3,1+n……,但是时间上允许你把所有的数字都考虑进去做详尽测试吗?显然是不可能的,从功能本身出发也算是多余操作。

  随着系统承载业务多,代码规模也越庞大,算法逻辑复杂度也越高。要让测试完全覆盖是不可能的。那难道不测?非也!我们可以采取以下策略:

  1、精准测试:改动什么测什么;

  2、二八原则:只测重点;

  3、等价划分;

  等等...

  原则三:尽早介入测试

  这条很重要,但是对测试的要求也会更高。

  “早期的鸟儿有虫吃”或者是“早起的虫子被鸟吃”,对,说的就是这个理儿,早,是我们解决问题的有效办法。

  必须尽早介入测试活动,为软件开发的下一阶段做好准备。只要生成产品需求或文档,测试人员甚至就可以开始测试。

  据调查,缺陷的修复成本与其发现时间成反比,且越晚修复其修复成本将会成指数级增长。

-1.png

  显然,从一开始就解决问题总是更容易、更便宜,而不是如果发现错误太晚就改变整个系统。因此,通过早期测试,测试人员可以检测到错误,并帮助开发团队以更少的成本和精力解决问题。

  另外,尽早介入测试,测试人员能够更全面的了解需求和项目整体进度,知己知彼百战不殆,说的就是这个理儿。

  尽早介入测试原则与测试左移和测试前移具有异曲同工之妙。

  原则四:缺陷具有集群性

  之前听过一种理论,二八原则,即:80%的错误是由20%的模块引起的。

  缺陷聚类指的是在几个模块中发现了大部分缺陷。这一原则要求测试团队利用自己的知识和经验,确定要测试的潜在模块。这一预测有助于节省时间和精力,因为团队只需要关注那些 “敏感” 领域。

  然而,这种方法也有缺点: 一旦测试人员只专注于所有团队的一小块区域,他们可能会错过其他区域的错误。

  原则五:杀虫剂悖论

  当我们反复使用相同的杀虫剂的时候,会有少量害虫产生免疫而存活下来,使得杀虫剂失去药效。

  杀虫剂悖论是指测试人员一直使用相同的方法或手段去重复测试,这些测试只适用于一些有限的模块,而不是整个系统。这种测试可能很难发现bug,甚至无法发现bug。因此,为了涵盖项目的各个部分,它要求测试团队经常审查和更新测试用例。

  原则六:测试是上下文相关的

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

  原则七:无错误谬论

  在 原则一:测试显示软件存在缺陷 中说明,测试是为了降低缺陷存在的可能性而开展的活动,即便多次测试都没有发现任何缺陷,也不能证明软件是完美的。

  软件测试不仅仅是为了找出Bug而存在的活动,而是还需要确认软件是否满足用户的期望和需求,如果产品不能满足用户的需求,即使没有出现任何缺陷,这个产品也是失败的。

  “没有错误” 并不是我们的追求,在互联网时代,始终快速给用户创造最大的价值才是我们孜孜不倦的追求。

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


作者:软测小生    

来源:http://www.51testing.com/html/46/n-4477746.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   前言  通常在接口自动化中,经常会参数关联的问题,那么什么是参数关联?  参数关联就是上一个接口的返回值会被下一个接口当做参数运用,其中Python中可以实现参数关联的方法有很多种,今天小编给大家介绍下,如何通过Python来实现接口自动化中的参数关联。  UnitTest  虽然说目前Pytest框架比较流向,但是目前应该有绝大部分公司还是在使用UnitTest框架,那么小编先介绍下如何通过UnitTest来实现接口自动化的参数关联。  方法一  下面小编通过测试用例返回参数的形式进行实现参数关联。# coding:utf-8 import requests impo...
            0 0 1292
            分享
          • 测试报告是由测试人员撰写的,阅读对象是整个项目组。在测试报告的帮助下,测试人员、开发人员、项目经理、产品经理等相关者了解整体测试活动的质量。它可以帮助成员找出问题的根源或问题出现的阶段。它有助于分析问题是否是由于需求分析不够完善,代码设计不妥、管理不善的后果、不稳定的环境设施而导致的。对于项目的收官有重大意义。那测试总结报告应该怎么写呢?我见过一些测试总结报告只有过程,忽略结果,还有的总结报告只体现结果,忽略过程。我认为一份完整的测试总结报告需要将结果和过程相结合。具体包括的内容如下:任何报告都是结论先行。一上来,先pia一个结论,然后再详细开展论述。结论是为了告诉别人这个版本测试是合格还是不...
            3 3 6899
            分享
          •   据报道,皮尤研究中心的一项调查显示,Twitter的用户们仍然在使用这个社交媒体平台,但自从去年年底埃隆·马斯克完成对该公司的收购后,在上面发帖的人正在变得越来越少。  当地时间周三,这份调查的作者表示:“研究中心对该网站用户实际行为的新分析发现,马斯克收购前最活跃的用户(按推文量排序为前20%的用户),在收购后的几个月里出现了明显的发帖量下降趋势。在收购完成之后,这些用户每月的平均推文数量下降了约25%。”  此外,调查显示,在过去一年中使用过Twitter的美国成年人中,约有60%的人表示他们最近已经中断了这项服务,四分之一的人表示他们一年后不会再使用Twitter。  新的数据凸显了...
            0 0 764
            分享
          • 1.没进入到后台,可以在前端请求开始时候加个定时器。在请求完毕,或者一定时间,删除定时器。2. 现象:用户登录应用时下载初始化数据,下载过程中因网速太慢点击取消并重新登录,数据初始化完成后出现重复,造成数据不一致。原因:数据下载过程中、下载失败后,未进行数据回滚,中止后重新下载,出现数据重复解决方案 :通过事务处理(批处理)数据下载逻辑,这里可以是,下载失败后,应用本地数据库进行数据回滚。3. 现象:用户点击数据上传,数据上传过程中网络弱且不稳定,基于联网状态自动触发数据上传,导致出现数据重复写入,形成脏数据原因:数据上传过程中, 由于失败重传机制,会出现连续两次写操作,并且未做唯一识别处理解...
            0 0 3393
            分享
          •   前言  我们执行UI自动化操作时,大多数时间都是不在现场的,出现错误时,没有办法第一时间查看到,这时我们可以通过截图当时出错的场景保存下来,后面进行查看报错的原因,Selenium中提供了几种截图的方法,小编今天给大家介绍下。  方法一  get_screenshot_as_base64()整个函数,获取当前屏幕页面截图。  我们通过代码编写打开百度页面,然后进行进行通过base64进行截图,截图后再次进行转换成保存下来。# coding:utf-8 from selenium import webdriver import base64 ...
            0 0 1286
            分享
      • 51testing软件测试圈微信