• 0
  • 0
分享
  • 测出Bug就完了?教你从4个方面分析缺陷
  • 曼倩诙谐 2022-10-13 11:44:30 字数 1929 阅读 1834 收藏 0

  51Testing软件测试网正在收集测试行业问卷结果,如果你也想为测试行业的前景助力,就点击下方的链接提交答案吧,还有精美礼品等你拿(测试课程五选二)。链接:http://vote.51testing.com/


  测试团队在项目或版本测试完成后,需要对本次项目或版本所发现的缺陷做统计分析,在分析的过程中,总结项目或版本在哪些方面可以进行改进,为下个项目或版本的管理,做更好的管理和风险预防。

  分析缺陷一般从以下角度来进行:

1-1.png

  以某个项目为例,此项目共涉及6个关联系统,整个项目周期,发现的缺陷数共508个(缺陷数已按等级进行换算)。下面从各方面分析缺陷的分布情况。

  从缺陷的根本原因上分析

1-2.png

  上表中,根本原因中,各项内容的含义如下:

  文档问题

  指的是在静态测试(包括文档的正式及非正式评审)时,测试人员发现的各类文档的问题,投产手册的问题。

  程序代码问题

  程序存在各种的代码问题,程序未按需求功能实现等。

  需求分析不全

  需求分析不全面导致的部分场景或功能未实现。

  需求变更

  由于出现缺陷,导致需求需要变更。

  环境问题

  部署操作不正确;

  参数设置没按投产手册要求执行;

  控版出错(含:未与生产同步、未与上一个版本同步等)。

  数据质量问题

  不符合需求的测试数据,测试中产生的脏数据。

  项目组的问题由程序代码问题、需求分析不全和文档问题组成。

  其中,程序代码问题的占比是最高的,程序代码问题表现在:一是程序员在编码时只考虑正常场景的情况,一些异常和特殊的场景的情况都没考虑到;二是修改一个缺陷后,引出另外的缺陷。

  需求分析不全、和文档问题,加起来占比6.7%,从另一方面说明项目组不重视文档及文档质量,对功能分析不透彻。

  从以上可以看出,项目组需要加强文档编写质量、需求的充分评审和代码评审及走查。测试交付团队方面的问题,数据质量问题和环境的问题共占比9.8%,数据质量问题单项占到6.3%,这个比例偏高,测试团队应该管理好测试数据的质量,以免由于不合规的数据浪费大家的时间和精力。

  环境问题,交付团队应该在项目或是版本开始时,测试环境的配置与生产环境的配置一致,以保证测试版本的有效性,在部署时,需要与测试团队先做沟通,避免一些没有必要的环境问题。

  从缺陷发现的阶段分析

1-3.png

  测试分析阶段处于测试人员对需求文档、概要设计文档的评审(评审包括文档的测试和评审会),这个阶段的缺陷数,主要由文档问题、评审问题组成。

  测试执行阶段包括冒烟测试、第一轮、第二轮和回归测试。在这个阶段,测试团队对整个项目或是版本做全面的测试,用各种测试方法来验证项目或版本是否符合上线标准。

  冒烟测试:只对项目或是版本做主流程的验证。

  第一轮、第二轮测试,是执行所有的测试用例,对所有的功能做全面的验证,测试类型包括了功能测试、性能测试、可靠性测试、安全性测试、接口测试等等。

  回归测试是对项目或是版本做全面的回归测试,包括第一或第二轮测试过程中,本来测试通过的用例,再加上此次未改造的功能。

  补丁测试,指的是在项目或版本已经定版后,仍存在非改不可的,影响流程性的缺陷。

  各个阶段出现的缺陷数量,也可以分析项目组或是测试团队在哪个阶段是否有问题。

  从缺陷的引入系统上分析

  缺陷数已按等级进行换算:

-4.png

  系统2和系统3的改造量排名第一和第二,难道就证明了改造量大的,出的缺陷就多吗?

  也不是,像系统4的改造量只是比系统3少了10%,但缺陷数却少了3分之一。

  虽然系统与系统之间的缺陷没有什么可比性,但如果加上各个系统的开发工作量,计算出各个系统的缺陷密度,虽然可比性的不大,但是以整体来看项目组的程序质量来说,这样子有一定的可比性了。

  缺陷密度以1为基准,缺陷密度高于1的系统,可能需要分析一下程序的质量,看问题出在哪里。

1-5.png

  从测试漏检上分析

1-6.png

  此次项目上线运行一个月内,生产上出现的故障数量如上表所示。从上面可以看出,测试团队在漏检的问题上占了3个,是总故障数量的一半,且测试分析遗漏一个,用例遗漏一个,而执行还遗漏了一个,这说明测试团队的内部存在流程或沟通的问题。需要测试团队进行分析具体的原因。

  总结

  以上从各个方面来分析项目或版本的缺陷,都是希望从各种渠道来了解项目组和测试团队的情况,分析是否他们存在内部规范或是流程上的问题,需在哪一方面做进一步改进措施。

  除此之外,还能收集各团队的项目指标,与公司的基准数据做对比,看是否与之相匹配,是否存在改进的方面,能以更好的姿态去迎接下一次挑战。



作者:陆空    

来源:http://www.51testing.com/html/76/n-7793376.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   以支付宝支付流程为例:  支付宝和微信的支付流程说明:  支付功能一般涉及:  下单接口:调取下单  支付接口:调取第三方支付  回调接口:反馈订单号,用户信息,订单状态。  一、功能性测试  1.订单支付超时(15分钟内支付)  2.取消支付(支付)。  这里我在网上找了一张图,挺全的:  二、兼容性测试  网络切换测试(4G/5G/wifi)  不同端的兼容性测试(Android/iOS不同设备,不同Web浏览器)。  不同客户端版本兼容(覆盖安装、升级安装、卸载安装)  三、安全性测试  支付金额和扣款金额是否一致。  修改接口数据,比如修改支付金额,不允许抓包,或者数据是加密的无法...
            0 0 1154
            分享
          •   当我们开发完成一个应用程序时,往往需要对其进行性能测试,以帮助我们更好的优化程序以及发现程序中的一些 bug。在性能测试中,达到相应的性能指标对于一个软件来说十分重要,在本文中,将介绍一种现代化性能测试工具 k6。  k6 是一个开源工具,基于 JavaScript 可以编写 k6 的测试脚本,测试 Web 应用程序以及 API 的性能,支持 HTTP 等多种协议,可以很好地模拟各种高负载场景,充分验证程序稳定性和性能。k6 支持 Linux、MacOS 等多个平台,通过 k6 官网根据提示即可在各个平台快速安装 k6,终端输入 k6 version 出现如下显示说明安装成功。 ...
            0 0 448
            分享
          • 需求评审之后,开发人员一般会开始拆分任务,测试人员需要对新需求进行消化,消化过程最好的产物就是输出对新功能的需求项梳理,并且根据需求项列出测试注意点以及影响模块。这个过程很像去肉剔骨,抽丝剥茧的感觉,也就是掌握到了版本的精髓。需求点的形式有哪些呢?简单来说就是这个版本产品提出的希望实现的很多个功能点,比如:需要给门加一个锁,这就是一个需求点,智能锁还是机械锁,能不能支持反锁,装几个锁,安全性怎么样,可靠性怎么样,这些是根据需求点发散的测试点,这些测试点有一些在文档里有说明,有一些是没有说明的,需要根据用户实际使用场景考虑。很多人又会有这样的疑惑:测试项和需求项之间的区别有哪些呢。不看以下内容,...
            1 1 7643
            分享
          •   在利用Jmeter工具进行性能或自动化测试工作之初,第一步面临的交易想必就是登录。你可以运用控制器录制登录交易的脚本,或是通过自行配置环境、上送正确的用户名和密码完成登录操作,但这就算完成登录交易了么?事实是在继续配置后续交易之后,当你重复执行脚本时会发现,只有登录本身成功了,后续交易却报错。  产生这样的原因往往是当利用Jmeter首次录制登录交易后,此时有一个叫做token的值便作为固定参数存储在脚本中,而后置交易需依赖这个“令牌”而被系统所识别,而再次登录时,可能会返回不同的token,致使后续交易使用未匹配的token发给服务器,导致交易失败。  为解决这个问题,不得不分析toke...
            13 12 1917
            分享
          •   1. Excercise in a Box  Excercise in a Box是由英国国家网络安全中心(National Cyber Security Center)所推出的在线工具。它可以帮助用户获悉自己的应用是否容易遭受到网络攻击。  同时,该工具可以提供各种场景,以便贵组织在安全的环境中,根据自己所设定的允许的时间,反复演练自身面对安全攻击事件的响应能力。可以说,它汇聚了您需要执行的各种计划、设置、交付、以及事后整改活动等一切资源。  2. Needle  作为iOS版的测试框架,Needle是由美国黑帽公司(Black Hat USA)所推出的。它是一种模块化的开源框架,其目标...
            0 0 704
            分享
      • 51testing软件测试圈微信