浅析软件测试管理及缺陷管理
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期:2005—07—15
作者简介:殷广丽(1970—
),女,山东滨州人,讲师。浅析软件测试管理及缺陷管理
殷广丽
(滨州职业学院计算机科学系, 山东 滨州 256624)
摘要:介绍了软件测试管理过程,着重分析了软件测试中的缺陷管理,缺陷管理流程、
缺陷管理状态、缺陷管理生命周期。关键词:软件测试BUG;缺陷管理;角色中图分类号:TP315 文献标识码:A 文章编号:1008—2816(2005)05—0082—03
0 绪言
随着信息技术的飞速发展,软件产品应用到社会的各
个领域,软件产品的质量自然成为人们共同关注的焦点。不论软件的生产者还是软件的使用者,均生存在竞争的环境中,软件开发商为了占有市场,必须把产品质量作为企业的重要目标之一,以免在激烈的竞争中被淘汰出局。用户为了保证自己业务的顺利完成,当然希望选用优质的软件。质量不佳的软件产品不仅会使开发商的维护费用和用户的使用成本大幅增加,还可能产生其他的责任风险,造成公司信誉下降。在一些关键应用(如自动飞行控制软件、军事防御和核电站安全控制系统等)中使用质量有问题的软件,还可能造成灾难性的后果。因而软件的质量愈来愈受到广泛的重视。软件测试在软件生命周期中占有非常重要的地位,是保证软件质量的重要手段。根据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 缺陷管理流程图2
3.3.2 流程中的角色
测试人员(T ester):进行测试的人员,缺陷的发起者;
项目经理(Project Management):对整个项目负责,对产品质量负责的人员;
开发人员(Developer):执行开发任务的人员,完成实际的设计和编码工作;
评审委员会(Evaluation committee):对缺陷进行最终确认,在项目成员对缺陷达不成一致意见时,行使仲裁权力。
3.3.3 缺陷的状态
初始化:缺陷的初始状态;
待分配:缺陷等待分配给相关开发人员处理;
待修正:缺陷等待开发人员修正;
待验证:开发人员已完成修正,等待测试人员验证;
・
3
8
・
总第111期 山东教育学院学报