软件缺陷定义及分类

上传人:M****1 文档编号:563437836 上传时间:2023-04-07 格式:DOCX 页数:3 大小:12.82KB
返回 下载 相关 举报
软件缺陷定义及分类_第1页
第1页 / 共3页
软件缺陷定义及分类_第2页
第2页 / 共3页
软件缺陷定义及分类_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《软件缺陷定义及分类》由会员分享,可在线阅读,更多相关《软件缺陷定义及分类(3页珍藏版)》请在金锄头文库上搜索。

1、近日,加拿大达内科技公司、北京大学软件学院与亚信科技(中国)公司、精点科技(中国)公司、迪思杰科技(中国)公司、中通网络产业公司以及中关村科技园区的30多家企业达成定向人才培养计划。从2005年5月8日开始,软件测试时代为这些企业量身培养IT就业市场紧缺的软件测试工程师百余名。经过2个多月的培训,这些软件测试工程师将直接到领测软件测试时代的签约公司就业。随着中国IT行业的发展,几乎每个中大型IT企业的产品在发布前都需要大量的质量控制、测试和文档工作。由于前些年企业对产品的测试工作重视不够,又加上没有系统地测试培训课程,因此软件测试工程师及系统测试工程师将在短期内出现严重的短缺现象。从近期的企业

2、人才需求和薪金水平来看,测试工程师的年工资有逐年上升的明显迹象。测试工程师这个职位将成为IT就业的新亮点。测试工程师一般分为以下几个等级:测试工程师、高级测试工程师和资深测试工程师。测试工程师一般承担以下工作:利用软件测试工具按照测试方案和流程对产品进行功能和性能测试,检查产品是否有缺陷,性能是否稳定;高级测试工程师一般的职责是:不但能够编写测试工具,而且能够设计和维护测试系统,编写测试方案,编写测试文档、编写安装和使用手册;资深测试工程师的职责要求更高:不但能够具有初级测试工程师和高级测试工程师的能力,而且能够对测试方案可能出现的问题能够进行分析和评估。今天看到论坛里一个学员在问“到底应该是

3、谁把缺陷状态置为PostPone,Rejected,Duplicate是Developer还是PM或CCB?”,还有学员对优先级这个字段理解的不够透彻,原话是“优先级的填写要看情况的。因为有时Tester开的bug很多,而PM又有好多TESTER,那PM就来不及去看那些BUG了,这时Priority就得由tester填写”,而论坛里还有同学找了篇英文的文章来告诉大家“看,老外都是这么做的”。我觉得有必要给大家解释透这两个概念,这样不至于在日后的工作中做错。以下粉红色部分是对那篇英文的引用,后面则是我的回答(结合微软的实际例子给大家说明)。QUOTE:原帖由rivermen于2007-3-909

4、:12发表c)Thetesterthenselectsthepriorityofthedefect:Critical-fatalerrorHigh-requireimmediateattentionMedium-needstoberesolvedassoonaspossiblebutnotashowstopperLow-cosmeticerror从这篇文章来看,这段英文描述是有问题的不能说不对,至少不合理。优先级不应该给tester指定,这也是很多缺陷流程制定者容易忽略到的地方很大一部分原因是流程制定者没有做过项目管理的工作或者学习过项目管理的知识。为什么这么说呢?因为Tester只是项目团队

5、的成员之一,对缺陷管理、项目进度和项目风险都不可避免的会“盲人摸象”、“管中窥豹”,只“看”到自己“看”到的那个部分。一般来说,一个被测系统往往需要多个tester的,而每个tester往往只关注自己发现的bug,不大会去了解其他tester所发现的bug,那么在这种情况下,他如何能够决定这个bug被修复的优先级别呢?!这里再次强调一次,大家必须了解“Priority”真正的含义和作用一一它是给管理者来据此做项目决策的,也就是说,缺陷优先级将直接导致工作安排的优先顺序。PM正是通过参考缺陷优先级来安排开发人员的工作顺序(这甚至能在Project里体现),使得项目风险降低、项目成本降低,解决问题

6、更高效。其实,这在微软内部就叫做“基于风险的测试”,也就是指评估测试的优先级,先做高优先级的测试,如果时间或精力不够,低优先级的测试可以暂时先不做。有如下一个图,横轴代表影响,竖轴代表概率,根据一个软件的特点来确定:如果一个功能出了问题,它对整个产品的影响有多大,这个功能出问题的概率有多大?如果出问题的概率很大,出了问题对整个产品的影响也很大,那么在测试时就一定要覆盖到。对于一个用户很少用到的功能,出问题的概率很小,就算出了问题的影响也不是很大,那么如果时间比较紧的话,就可以考虑不测试。以下是微软公司的缺陷流程(不知道现在做微软外包的公司是否也采用这套流程),给大家参考参考。Bug跟踪过程在软

7、件开发项目中,测试人员的一项最重要使命就是对所有已知Bug进行有效的跟踪和管理,保证产品中出现的所有问题都可以得到有效的解决。一般地,项目组发现、定位、处理和最终解决一个Bug的过程包括Bug报告、Bug评估和分配、Bug处理、Bug关闭等四个阶段:1)测试工程师在测试过程中发现新的Bug后,应向项目组报告该Bug的位置、表现、当前状态等信息。项目组在Bug数据库中添加该Bug的记录。2)开发经理对已发现的Bug进行集中讨论,根据Bug对软件产品的影响来评估Bug的优先级,制定Bug的修正策略。按照Bug的优先级顺序和开发人员的工作安排,开发经理将所有需要立即处理的Bug分配给相应的开发工程师

8、。3)开发工程师根据安排对特定的Bug进行处理,找出代码中的错误原因,修改代码,重新生成产品版本。4)开发工程师处理了Bug之后,测试人员需要对处理后的结果进行验证,经过验证确认已正确处理的Bug被标记为关闭(Close)状态。测试工程师既需要验证Bug是否已经被修正,也需要确定开发人员有没有在修改代码的同时引入新的Bug。话说回来,网上有很多自称专家的人在那里大谈特谈所谓的优先级标准,什么“系统死机是高级别,界面错误是低级别”之类。其实这些指的是缺陷的严重级别(Serverity)!当然,一般来说缺陷的严重级别也不是tester“主观判断”决定的,如果公司比较规范的话,会由测试经理、项目经理

9、等组织制订这么一份相关的标准文档,文档是关于对应缺陷严重级别的定义。Tester在测试的时候就根据这么一份文档来决定对应Bug的严重级别。我下面粘贴某公司的一个缺陷等级标准的文档,大家可以看到其中的“E类测试建议”正是我上课所说的Enhancement。缺陷严重级别定义:o最高级-导致运行中断(应用程序崩溃),预期的功能没有得到实现,测试工作无法继续进行等.o紧急-事件非常重要,并且需要马上给予关注.o高级-事件是重要的,并且应该在紧急的事件处理之后尽快得到解决.o中级-事件是重要的,但是由于解决问题需要花费一定的时间,所以可以用较长的时间解决.o低级-事件不重要,可以在时间和资源允许的情况下再解决.o建议性缺陷.更为详细的划分如下:A类严重错误,包括:o由于程序所引起的死机,非法退出o死循环o导致数据库发生死锁o数据通讯错误o严重的数值计算错误B类较严重错误,包括o功能不符o数据流错误o程序接口错误o轻微的数值计算错误C类一般性错误,包括:o界面错误(详细文档)o打印内容、格式错误o简单的输入限制未放在前台进行控制o删除操作未给出提示D类较小错误,包括:o辅助说明描述不清楚o显示格式不规范o长时间操作未给用户进度提示o提示窗口文字未采用行业术语o可输入区域和只读区域没有明显的区分标志o系统处理未优化E类测试建议(非缺陷)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 活动策划

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号