zoukankan      html  css  js  c++  java
  • 2013年测试工作总结

    2013年测试工作总结

    常常,我们会听到老板或者老总等领导说,你们测试团队的贡献率或是价值在哪?软件系统的稳定性如何?下面我将根据这两个问题,作出一些解答。

    1.      测试投资回报率

    企业为了获得利润,需花费大量的资金进行测试。在质量方面的投资会产生利润,例如提高产品质量会提高公司的声誉,使产品交付之后的维护成本减少,避免用户的抱怨。测试是一种带有风险性的管理活动,减少企业在未来因为产品质量低劣而花费不必要的成本。

    缺陷探测率: 

    DDP=Bugtester/(Bugtester+Bugcustomer)

    表1 客户发现bug数统计

    月份

    客户发现的bug

    6

    7

    7

    0

    8

    2

    9

    3

    10

    0

    11

    3

    12

    1

    合计

    16

    数据是从2013年6月份开始统计

    表2测试人员发现bug数统计

    由谁创建

    总计

    未解决

    设计如此

    重复Bug

    外部原因

    已解决

    无法重现

    延期处理

    不予解决

    转为需求

    有效率

    周MM

    700

    7

    38

    14

    35

    419

    31

    2

    27

    127

    78.29%

    余GG

    1325

    11

    47

    26

    55

    788

    33

    16

    39

    310

    84.08%

    合计

    2025

    18

    85

    40

    90

    1207

    64

    18

    66

    437

    82.07%

    数据统计时间:2013年1月1日到2013年12月31日,其中有效率的计算公式=(已解决+延期处理+转为需求)/总计*100%

      属于质量预防方面的一致性成本只考虑软件测试的投资,把发布之前和之后发现及修改的错误堪称非一致性成本,根据表1和表2,发现的错误为2041个,故障成本已知,测试过程的估算如下:

      各阶段花费在发现及修改错误的成本假设如下:

    ①在开发过程单元测试阶段,软件开发人员发现及修改一个错误需要50元;

    ②建立独立的测试进行集成和系统测试,测试人员发现错误,开发人员修改后,测试人员再确认,一个错误需要300元;

    ③在产品发布后,由客户发现,报告技术支持人员、相关开发人员修改,测试组再进行回归测试,一个错误需要2000元。

    第1种情况,开发单位未建立独立测试队伍,有开发人员进行测试,发现680个错误,而产品发布后客户发现错误1361,只存在故障成本构成的总成本为50*680+2000*1361=2756000元,缺陷探测率为33.32%。

    第2种情况,开发单位建立了独立测试队伍,进行手工测试。投资预算人员费用为100000元,测试环境使用费为8000元,测试投资(一致性成本)为108000元,除了开发过程中开发人员发现并修改680个(假设开发人员只能发现1/3的问题)错误外,测试过程中测试人员发现错误1345个,而产品发布后客户发现16个错误。总质量成本下降到50*680+300*1345+16*2000+108000=577500元(如表3所示),手工测试总质量成本节约了2756000-577500=2178500元,即为利润。投资回报率(ROI)为2017.13%,缺陷探测率为99.22%。

    ROI = (原无独立测试质量成本i-独立测试质量成本j)/测试投资*100%

          = 2756000-577500/108000*100%

              = 2017.13%

    DDP=Bugtester/(Bugtester+Bugcustomer)*100%=(680+1345)/2041*100%=99.22%

    表3 测试投资回报分析

    质量成本项

    测试成本项

    开发测试

    手工测试

    一致成本

    测试投资

    测试人工费

     

    100000

    环境使用费

     

    8000

    测试工具费

       

    测试总投资

     

    108000

    非一致性成本

    开发测试

    发现错误数

    680

    680

    每个错误成本

    50

    50

    内部(开发)故障成本

    34000

    34000

    独立测试

    发现错误数

     

    1345

    每个错误成本

     

    300

    内部(测试)故障成本

     

    403500

    客户支持

    发现错误数

    1361

    16

    每个错误成本

    2000

    2000

    外部故障成本

    2722000

    32000

    质量成本

    一致性成本

     

    108000

    非一致性成本

    2756000

    469500

    总质量成本

    2756000

    577500

    ROI

    投资回报率

    N/A

    2017.13%

    DDP

    缺陷探测率

    34.30%

    99.22%

    2.      系统可靠性分析

    平均每千行代码bug数

    后台代码总共342480行(由于前台代码较难统计,据开发人员估计是后台代码的3倍),系统总代码数是1369920,属于一个大规模系统,平均每千行代码约为2个bug。

    平均无故障时间MTTF

    若设T是软件总的运行时间,M是软件在这段时间内的故障次数。

    内部平均无故障时间MTTF=T/M=365*24/2041=4.29小时;

    外部平均无故障时间MTTF= T/M =(365-151)*24/16=321小时=13.375天。根据考察资料得知,航天科技一些精密系统平均无故障时间720小时对应90分的可信度,参考这个,相当于我们系统的可信度大约为40分。

    下面用Shooman模型对平均无故障时间MTTF进行分析:

    对一个长度为342480行代码的系统进行测试,根据记录下来的数据如下:

    ①测试开始,发现错误个数为0(假设为0,2012年测试出bug不计入统计);

    ②经过了151天的测试,累计改正1137个错误,此时,MTTF=3.19小时;

    ③又经过214天的测试,累计改正2041个错误,此时,MTTF=4.29小时;

    由Shooman公式:   MTTF=1/K(ET/LT-ET(t)/LT

    其中,K 是一个经验常数,美国一些统计数字表明,K的典型值是200;ET 是测试之前程序中原有的故障总数;LT 是程序长度(机器指令条数或简单汇编语句条数);t是测试(包括排错)的时间;EC (t) 是在0~t期间内检出并排除的故障总数。

    公式的基本假定是:

         单位(程序)长度中的故障数ET∕LT近似为常数,它不因测试与排错而改变。 统计数字表明,通常ET∕LT 值的变化范围在0.5×10-2~2×10-2之间;故障检出率正比于程序中残留故障数,而MTTF与程序中残留故障数成正比;故障不可能完全检出,但一经检出立即得到改正。

        由已知条件②、③可解出K=31.22 ,E= 4598 。系统中仍可能残留4598-2041=2557个问题。

        评估系统稳定性还有哪些方法、模型、参数呢?希望经验人士多给意见。

    【参考文献】

    《软件评测师教程》


      
      
      
      
      
      
      
      
      
      
      
     
     
     


  • 相关阅读:
    linux目录跳转的好武器z.sh
    找工作的程序员必懂的Linux
    11-面向对象4
    10-面向对象3
    09-面向对象2
    08-面向对象1
    06-数组
    3.5-乘法运算器设计
    3.2-定点数补码加减运算器设计
    4.12-虚拟存储器
  • 原文地址:https://www.cnblogs.com/yicaifeitian/p/3546324.html
Copyright © 2011-2022 走看看