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 ,ET = 4598 。系统中仍可能残留4598-2041=2557个问题。
评估系统稳定性还有哪些方法、模型、参数呢?希望经验人士多给意见。
【参考文献】
《软件评测师教程》
转载于:https://www.cnblogs.com/yicaifeitian/p/3546324.html
2013年测试工作总结相关推荐
- 2013年测试基于Web的Spring应用程序(第1部分)
2013年测试基于Web的Spring应用程序(第1部分) LJCer和TDD / BDD的一位拥护者最近开始使用广受欢迎的Spring堆栈开发应用程序,他就如何最好地在这种情况下实施测试驱动的方法向 ...
- 渗透测试工作流程渗透测试类型法律边界
渗透测试工作流程渗透测试类型法律边界 渗透测试工作流程 渗透测试与其它评估方法不同.通常的评估方法是根据已知信息资源或其它被评估对象,去发现所有相关的安全问题.渗透测试是根据已知可利用的安全漏洞,去发 ...
- 软件测试用python一般用来做什么-如何将Python应用到实际测试工作中?
基础问题(学员的问题) 学员问题第一类"Python的应用" (1)如何将Python运用到实际测试工作中,Python自动化能做哪些方面的自动化 (2)怎么利用python进行自 ...
- 用场景来规划测试工作
姓名:吴发达 性别:男 特点: 新时代的产物:现代典型沙发男:想足不出户就解决无聊 年龄:20 爱好 漫画 在校学生 场景:该沙发男想在周末待在宿舍解决无聊问题,于是待在靠椅上,翘着二郎腿,点击鼠标, ...
- 【转】如何一直保持测试工作的热情
软件测试工作有时让人觉得枯燥,重复,不受重视, 工作技术含量低,从而打击了很多同事的工作热情, 缺乏工作热情,因缺乏工作热情导致人更体验不到工作的乐趣. 我对软件测试的工作热情也经历了: 好奇软件测试 ...
- 阅读作业二:团队项目与测试工作
跟其他小组的情况一样,我们的团队项目爬虫到目前为止已经有了一个初步的开发,下周一应该可以有一个小的展示了. 我在团队项目中被安排做测试部分.上周和这周的课老师讲的是测试部分需要做哪些工作,有哪些需要注 ...
- 苹果新手机软件测试,苹果即将发布iOS 14.5正式版,测试工作已进入最后阶段
按照苹果的规划,本月他们将会发布iOS 14.5正式版,而目前新系统的测试工作已经进入到最后阶段. 据悉,在iOS和iPadOS 14.5测试版中,苹果隐私设置中的 "位置服务"菜 ...
- 开发工作和测试工作不能由同一部分人来完成。如果开发人员对程序的功能要求理解错了,就很容易按照错误的思路来设计测试用例。如果开发人员同时完成测试工作,那么测试工作就很难取得成功。
V模型的价值在于非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程各阶段的对应关系.在V模型中,测试工作在编码之后才能进行,所以在软件开发早期各个阶段引入的错误不能及时被 ...
- 测试工作中常用的方法
测试工作中经常会用到如下相关方法,主要包括PDCA.SWOT.6W2H.SMART.2/8法则.WBS任务分解法.时间管理. PDCA循环法则 Plan:制定工作目标和工作计划 Do:按照计划执行任务 ...
最新文章
- phonegap android,Phonegap 3不适用于Android Studio
- day13 内置函数一
- 机器学习知识点(八)感知机模型Java实现
- YUM更换源(1)--yum找不到安装包 2013-01-18 20:08 8687人阅读 评论(1) 收藏 举报 分类: linux(70) 公司提供的CentOS VM中,/etc/yum.r
- shell多行匹配如何实现
- 【做题记录】DP 杂题
- android webview file,Android WebView 不支持 H5 input type=file 解决方法
- 你知道 Java 类是如何被加载的吗?
- HashMap get不出对象时出错 解决
- android launcher 字体大小,Android6.0 Launcher3 修改app字体大小
- MIFARE系列6《射频卡与读写器的通讯》
- 三维点云学习(3)4-Expectation-Maximization (EM)
- 王朔:中国文化沉淀了大量腐烂变质垃圾
- 三次hermite插值多项式例题_数值分析实验六(分段三次Hermite插值)
- EPSON LQ-675KT 打印机无法进纸解决方法
- 翻出过去的一个多彩泡泡屏保特效(JS+CSS版)
- Mac简单易用的复制软件——“TouchCopy”
- Could not enlist in transaction on entering meta-aware object!”
- https网站地图生成工具
- coun(1) count(字段) count(*) 结果不一致问题
热门文章
- jieba分词_wordcloud词云美化——jieba结巴中文分词(将长句拆分)
- weblogic部署linux静默安装,Linux环境下Weblogic11g中间件-静默安装详解
- matlab案例 光学,MATLAB仿真及其在光学课程中的应用.pdf
- php socket 小程序,实例详解微信小程序如何使用Socket
- 联想服务器自动关机_IBM 联想 DELL HP服务器自动关机|解决办法整理
- c4d导出obj格式有破面_适合折腾MMD的C4D常用插件及本体合集
- mysql系统变量配置文件_MySQL系统变量配置基础
- C语言学习笔记---时间函数ctime()和gmtime()
- 在STM8单片机中自己实现 printf()函数功能
- 将Markdown嵌入到我们的HTML页面中