• 0
  • 0
分享
  • 软件测试:工作后才知道的10条超实用测试准则——软件测试圈
  • 恬恬圈 2023-11-29 15:10:31 字数 1504 阅读 471 收藏 0

  以下准则出自Ron Patton《Software Testing》一书,在测试职位工作多年后,对其中的准则体会颇深,分享以下10条实用性超强的准则及其在工作中的实践,建议在工作中多加参考:

  1、完全测试一个程序是不可能的。(It’s Impossible to Test a Program Completely.)

  实践:根据项目时间、资源、风险、用户要求等,有选择地去测试。

  2、软件测试是一种基于风险的活动。(Software Testing Is a Risk-Based Exercise.)

  实践:一般新功能、常用功能、默认配置属于高风险,需要优先测试,分配较多资源,而回归功能、不常用功能属于低风险,可以延后测试,分配较少资源。

  3、测试并不能证明错误不存在。(Testing Can’t Show That Bugs Don’t Exist.)

  实践:测试过的场景没有问题,但没有测试过的场景无法确认是否有问题,所以测试结论只能基于已测试的部分说明。

  4、发现Bug越多的地方,会有更多Bug。(The More Bugs You Find, the More Bugs There Are.)

  实践:在一个地方发现Bug后,应投入更多资源测试这个地方,在验证Bug时,要做回归测试。

  5、农药悖论:你对软件测试得越多,它对你的测试就越免疫。(The Pesticide Paradox: the more you test software, the more immune it becomes to your tests. )

  实践:相同模块分配不同测试人员进行交叉验证可以防止农药悖论。

  6、并不是所有你发现的bug都会被修复。(Not All the Bugs You Find Will Be Fixed.)

  实践:Bug可能会由于风险大、项目紧迫、Bug等级低等原因,不被解决,对于此类Bug,要说明不被修复原因,便于后续跟踪。

  7、Bug什么时候会被变成Bug难以确定。(When a Bug’s a Bug Is Difficult to Say.)

  实践:需求、项目成员、用户要求均可能变动,对于Bug的把握要基于最新的状态进行,不同时期要及时更新Bug准则,按最新的要求发现问题。

  8、产品说明永远不是最终版。(Product Specifications Are Never Final.)

  实践:产品说明对测试至关重要,要推动产品及时更新并通知相关改动,此外,测试也是推动产品说明更新的来源,不要过于依赖产品说明,遇到不合理的地方要及时沟通。

  9、软件测试员不是项目团队中最受欢迎的成员。(Software Testers Aren’t the Most Popular Members of a Project Team.)

  实践:要注意和团队其他成员的沟通方式,尤其是产品和研发,和产品沟通需求要尊重对方的意见,但觉得不合理处,也要提Bug记录,和研发沟通,多了解实现细节有助于判断影响范围,避免遗漏Bug。

  10、软件测试是一项规范的技术职业。(Software Testing Is a Disciplined Technical Profession.)

  实践:软件测试不是凭借个人意识来进行的,从测试策略、用例、执行、Bug管理都有具体的方法论,要注意学习相关测试技术和方法,遵循测试规范。


作者:句号    

来源:http://www.51testing.com/html/18/n-5002318.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 行业背景:随着数字化建设的持续快速发展,业务部门对系统下载的文件质量提出了更高的要求,全面高效可持续的测试已成为银行IT建设和测试服务追求的目标。面对的问题:测试人员无法在有限的时间内人工完成大数据量多维文件的下载和数据比对工作,如六天时间内完成12906个txt文件和xml文件的四次下载和数据逐行比对测试。应对措施:通过程序开发和对已有测试工具的灵活运用,圆满高效完成测试任务;汇总经验,为后期下载多维文件数据比对测试提供有效的技术参考和工具支持。一、背景十九届四中全会,将"数据"列为生产要素参与分配,标志着以数据为关键要素的数据经济进入了新时代。金融业是数据密集型行业,在...
            0 0 1649
            分享
          •   参数化概念  测试工作中,通常会使用不同的数据发送请求测试不同的场景来实现测试的全面性,这就需要对一些字段进行参数化,以使每次迭代都使用不同的数据来满足我们的测试需求。  Jmeter做为常用的功能、性能测试工具之一,其参数化方式也是相对比较灵活,主要分为4种:用户参数、用户自定义变量、CSV数据文件、函数助手,下面将详细介绍这4种参数化方式的使用方法。  参数化方式  一、用户参数  1.使用场景  适用于参数取值范围很小的场景,例如测试模拟较少用户登陆某系统交易。  2.操作步骤  (1)添加用户参数功能模块  (2)设置参数变量、用户值  注意勾选每次迭代更新一次,否则每次都使用同样...
            14 15 1313
            分享
          • 自动化测试是近几年比较火热的一个话题,想要在软件测试这个行业继续前行,就必须拥有核心竞争力,掌握自动化测试技术,是必不可少的一个技能。在《Google软件测试之道》一书中有介绍到:在Google,70%的自动化测试工作集中于单元测试,20%集中于接口测试,剩下10%才是UI测试。诚然,我们没有Google那么完善的机制和工程师文化,没必要一切照搬Google,但Google作为互联网2.0时代最耀眼的一个公司,它的技术发展方向,流程管理等可以说是不久的将来,我们也要到达的方向。选择适合自己的,落地应用,是当下我们应该做的。目前国内的互联网行业,大环境来说,还处在一个快速发展,需要流程化标准化的...
            1 3 1903
            分享
          • 7 月 29 日晚,Dify 主创团队如约与社区朋友们线上直面交流,由 Dify 的数据集产品&架构负责人姜勇(Jyong)给大家分享在企业知识库嵌入 AI ChatBot 应用中最核心的 Embedding 技术概念和 Dify 数据集的设计和规划。我们还整理了本次会议中用户关心的问题,供大家阅读参考。Embedding 技术的文本向量化"Embedding"是一种将离散型变量(如单词、句子或者整个文档)转化为连续的向量表示的技术。这个向量表示(Embedding)可以捕捉到离散型变量间的相似性和关系。这段话听起来很晦涩,但其实它的本质是特征性的收集,将事物所有的...
            0 0 1054
            分享
          • 单元测试的重要性就不多说了,可恶的是python中有太多的单元测试框架和自动化测试工具,什么unittest, testtools, subunit, coverage, testrepository, nose, mox, mock, fixtures, discover,再加上setuptools, distutils等等这些,先不说如何写单元测试,光是怎么运行单元测试就有N多种方法,再因为它是测试而非功能,是很多人没兴趣触及的东西。但是作为一个优秀的测试人员,写好测试代码可以彰显你的实力。如此多的框架和工具,很容易让人困惑,困惑的原因是因为并没有理解它的基本原理,如果一些基本的概念都不清...
            11 11 1396
            分享
      • 51testing软件测试圈微信