收稿日期:2005—07—15作者简介:殷广丽(1970—),女,山东滨州人,讲师。
浅析软件测试管理及缺陷管理殷广丽(滨州职业学院计算机科学系, 山东 滨州 256624) 摘要:介绍了软件测试管理过程,着重分析了软件测试中的缺陷管理,缺陷管理流程、缺陷管理状态、缺陷管理生命周期。
关键词:软件测试BUG;缺陷管理;角色中图分类号:TP315 文献标识码:A 文章编号:1008—2816(2005)05—0082—030 绪言随着信息技术的飞速发展,软件产品应用到社会的各个领域,软件产品的质量自然成为人们共同关注的焦点。
不论软件的生产者还是软件的使用者,均生存在竞争的环境中,软件开发商为了占有市场,必须把产品质量作为企业的重要目标之一,以免在激烈的竞争中被淘汰出局。
用户为了保证自己业务的顺利完成,当然希望选用优质的软件。
质量不佳的软件产品不仅会使开发商的维护费用和用户的使用成本大幅增加,还可能产生其他的责任风险,造成公司信誉下降。
在一些关键应用(如自动飞行控制软件、军事防御和核电站安全控制系统等)中使用质量有问题的软件,还可能造成灾难性的后果。
因而软件的质量愈来愈受到广泛的重视。
软件测试在软件生命周期中占有非常重要的地位,是保证软件质量的重要手段。
根据Boehm 的统计,软件开发总成本中,用在测试上的开销要占40%到50%。
现代的软件测试不仅仅是在软件开发完成以后来做测试工作,而是将测试渗入到软件开发的各个阶段,全程控制软件质量。
而软件测试最重要的目标之一是发现缺陷、管理缺陷、改正缺陷、消灭缺陷,因而,为保证软件项目按时、保质在预算范围内完成,加强对测试工作的组织和科学的缺陷管理就显得尤为重要。
1 测试管理过程软件测试管理的过程如图1所示我们根据测试需求、测试计划,对测试过程中每个状态进行记录、跟踪和管理,并提供相关的分析和统计功能,生成和打印各种分析统计报表。
通过对详细记录的分析,形成较为完整的软件测试管理文档,保障软件在开发过程中,避免同样的错误再次发生,从而提高软件开发质量。
图1 测试管理过程2 测试管理内容测试方案管理:单元测试、集成测试和产品测试的测试计划的录入、修改、删除、查询和打印。
测试用例管理:测试用例的增、删、改、拷贝和查询;测试用例测试情况的管理,如测试状态包括:未测试、测试中、已测试;测试结果分为:通过、未实现、存在问题等;测试用例输入、编号和归档。
测试流程管理:测试进度管理;测试流程标识;测试日志及状态报告。
缺陷管理:测试中的缺陷处理流程、缺陷登记、缺陷分配、缺陷修复、缺陷复测、缺陷查询、缺陷统计分析以及缺陷与测试用例的关联。
测试报告管理:生成单元测试、集成测试和产品测试的测试报告。
除了以上这些,在测试管理过程中还包括对人员和环境资源进行管理。
2005年第5期 山东教育学院学报 总第111期3 测试管理中的缺陷管理缺陷跟踪管理是测试工作的一个重要部分,测试的目的是为了尽早发现软件系统中的缺陷,因此,对缺陷进行跟踪管理,确保每个被发现的缺陷都能够及时得到处理是测试工作的一项重要内容。
3.1 缺陷管理的目标缺陷能够引起软件运行时产生的一种不希望或不可接受的外部行为结果,软件测试过程简单说就是围绕缺陷进行的,对缺陷的跟踪管理一般而言需要达到以下的目标:1.确保每个被发现的缺陷都能够被解决;解决的意思不一定是被修正,也可能是其他处理方式(例如,在下一个版本中修正或是不修正),总之,对每个被发现的缺陷的处理方式必须能够在开发组织中达到一致;2.收集缺陷数据并根据缺陷趋势曲线识别测试过程的阶段;3.决定测试过程是否结束有很多种方式,通过缺陷趋势曲线来确定测试过程是否结束是常用并且较为有效的一种方式。
收集缺陷数据并在其上进行数据分析,作为组织的过程财富。
一个运行良好的组织中,缺陷数据的收集和分析是很重要的,从缺陷数据中可以得到很多与软件质量相关的数据。
3.2 缺陷的描述对缺陷的描述应该包含如表1的内容:表1可追踪信息缺陷ID唯一的缺陷ID,可以根据该ID追踪缺陷缺陷基本信息缺陷详细描述测试环境说明附件缺陷状态缺陷的状态,分为已提交、待分配、已分配、已处理、已关闭、未关闭缺陷标题缺陷描述的标题缺陷级别一级(如功能错误或系统错误)、二级(加工或数据错误)、三级缺陷(数据完整或规范性错误)、建议类缺陷(如界面提示错误)、疑问(如此功能不理解错误)优先级立刻解决、一般关注、低优先级缺陷类别程序错误、接口错误、文档错误、数据错误缺陷提交人、时间缺陷提交人的名字(邮件地址)、缺陷提交时间缺陷所属项目、模块缺陷所属的项目和模块,最好能较精确的定位至模块缺陷指定解决人缺陷指定的解决人,在缺陷“提交”状态为空,在缺陷“分发”状态下由项目经理指定相关开发人员修改、修改结果反馈缺陷指定解决时间项目经理指定的开发人员修改此缺陷的deadline缺陷处理人最终处理缺陷的处理人的姓名和邮件地址缺陷处理结果描述对处理结果的描述,如果对代码进行了修改,要求在此处体现出修改的过程和修改内容缺陷处理时间缺陷处理的时间缺陷验证人对被处理缺陷验证的验证人缺陷验证结果描述对验证结果的描述(通过、不通过)缺陷验证时间对缺陷验证的时间对缺陷的详细描述;之所以把这项单独列出来,是因为对缺陷描述的详细程度直接影响开发人员对缺陷的修改,描述应该尽可能详细对测试环境的描述对于某些文字很难表达清楚的缺陷,使用图片等附件是必要的3.3 缺陷管理的一般流程3.3.1 缺陷管理流程图23.3.2 流程中的角色测试人员(T ester):进行测试的人员,缺陷的发起者;项目经理(Project Management):对整个项目负责,对产品质量负责的人员;开发人员(Developer):执行开发任务的人员,完成实际的设计和编码工作;评审委员会(Evaluation committee):对缺陷进行最终确认,在项目成员对缺陷达不成一致意见时,行使仲裁权力。
3.3.3 缺陷的状态初始化:缺陷的初始状态;待分配:缺陷等待分配给相关开发人员处理;待修正:缺陷等待开发人员修正;待验证:开发人员已完成修正,等待测试人员验证;・38・总第111期 山东教育学院学报 图2 缺陷管理流程图待评审:开发人员拒绝修改缺陷,需要评审委员会评审;关闭:缺陷已被处理完成。
3.4 缺陷的生命周期4 缺陷管理应注意问题4.1 邮件问题:缺陷管理系统,除了具有上述功能外,还能够通过邮件系统方便地向相关人员发送提醒信息(缺陷处理超时提醒、缺陷待处理提醒等)。
因为现在大多数公司都是分散在不同的地点的,需要有一种有邮件管理或基于WE B 的缺陷管理工具,通过赋于不同用户的权限、在WE B服务器上共享资源。
4.2 权限问题:作为一个缺陷跟踪管理系统,还必须注意权限分配的问题。
缺陷记录作为软件开发过程中的重要数据,不能轻易被删除;对于已经关闭的缺陷,也不能随意进行修改。
因此,缺陷跟踪管理系统必须设置严格的管理权限,非相关人员不得进行相应操作,修改相应数据。
4.3 关于BUG:软件测试决不等同于找BUG,测试是为了证明程序有错,而不是证明程序无错误。
图3 缺陷生命周期5 结论软件测试是一项非常复杂的、需要有创造性的工作,虽然已有了一些方法,但不都是很完善的,许多问题还有待进一步研究和探索,使用时仍然需要测试人员的经验和创造力。
通过缺陷管理,使测试中发现的错误能够及时的得到解决。
修正产品、使应用系统更加完善,产品的质量更高,这是我们追求的目标。
参考文献:[1] 马瑞芳1计算机软件测试方法研究[J ]1小型微型计算机系统2003,(12).[2] 郑人杰1计算机软件测试技术[M]1北京:清华大学出版社,1992.[3] W atts S.Hum phrey.M anage S oftware Process[M]1Addis on W es 2ley ,1990.(上接第51页)参考文献:[1] Dave ,Jagdish Chandra.The Human Predicament in hardy ’s Novels[M]1New Jersey :Humanities Press International Inc.,1985.[2] Davie ,D onald.Thomas Hardy and British Poetry [M]1London andK enley :R outledge &K egan Paul ,1972.[3] E llmann ,Richard and R obert O ’Clair ,ed.The Norton Anthology o fPoetry [M]12nd Edition.New Y ork :W.W.N orton and C o.,1988.[4] G ate ,M ill.Thomas Hardy :A Biography [M]1Ox ford :Ox ford Univer 2sity Press ,1985.[5] Hardy ,Florence Emily.The Life o f Thomas Hardy [M]1London :TheM acmillan Press LT D ,1986.[6] Schmidt ,M ichael.An Introduction to Fifty Modern British Poets [M]1London and Sydney :Pan Books.1982.[7] 梁工,卢龙光1圣经与文学阐释[M]1北京:人民文学出版社,2003.[8] 刘守兰1英美名诗解读[M]1上海:上海外语教育出版社,2002.[9] 王守仁1英国文学选读[M]1北京:高等教育出版社,2001.・48・ 殷广丽:浅析软件测试管理及缺陷管理 2005年第5期 。