软件测试 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 佟伟光 1_ 第06章

上传人:E**** 文档编号:89541768 上传时间:2019-05-27 格式:PPT 页数:82 大小:949KB
返回 下载 相关 举报
软件测试 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  佟伟光  1_ 第06章_第1页
第1页 / 共82页
软件测试 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  佟伟光  1_ 第06章_第2页
第2页 / 共82页
软件测试 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  佟伟光  1_ 第06章_第3页
第3页 / 共82页
软件测试 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  佟伟光  1_ 第06章_第4页
第4页 / 共82页
软件测试 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  佟伟光  1_ 第06章_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《软件测试 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 佟伟光 1_ 第06章》由会员分享,可在线阅读,更多相关《软件测试 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 佟伟光 1_ 第06章(82页珍藏版)》请在金锄头文库上搜索。

1、第6章 测试报告与测试评测,6.1 软件缺陷和软件缺陷种类 6.2软件缺陷的生命周期 6.3分离和再现软件缺陷 6.4软件测试人员需正确面对软件缺陷 6.5报告软件缺陷 6.6软件缺陷的跟踪管理 6.7软件测试的评测 6.8测试总结报告,软件测试是在软件开发的过程中,对软件产品进行质量控制,目的是保证软件产品的最终质量。一般来说软件测试应严格按照软件测试流程,制定测试计划、测试方案、测试规范,实施测试,对测试数据进行记录,并根据测试情况撰写测试报告。测试报告主要是报告发现的软件缺陷。,测试评价主要包括覆盖评价以及质量和性能评价。覆盖评价是对测试完全程度的评测;质量和性能评价是对测试的软件对象的

2、性能、稳定性以及可靠性的评测。,6.1 软件缺陷和软件缺陷种类,6.1.1 软件缺陷的定义和描述 软件缺陷简单说就是存在于软件(文档、数据、程序)之中的那些不希望,或不可接受的偏差,而导致软件产生的质量问题。按照一般的定义,只要符合下面5个规则中的一个,就叫做软件缺陷。, 软件未达到软件规格说明书中规定的功能; 软件超出软件规格说明书中指明的范围; 软件未达到软件规格说明书中指出的应达到的目标; 软件运行出现错误; 软件测试人员认为软件难于理解,不易使用,运行速度慢,或者最终用户认为软件使用效果不好。,软件缺陷的有效描述规则 单一准确 可以再现 完整统一 短小简练 特定条件 补充完善 不作评价

3、,6.1.2 软件缺陷的种类 (1)功能不正常 (2)软件在使用上不方便 (3)软件的结构未做良好规划 (4)功能不充分 (5)与软件操作者的互动不良 (6)使用性能不佳 (7)未做好错误处理,(8)边界错误 (9)计算错误 (10)使用一段时间所产生的错误 (11)控制流程的错误 (12)在大数据量压力之下所产生的错误 (13)在不同硬件环境下产生的错误 (14)版本控制不良所产生的错误 (15)软件文档的错误,6.1.3 软件缺陷的属性 (1)缺陷标识 (2)缺陷描述与缺陷注释 (3)缺陷类型 (4)缺陷严重程度 (5)缺陷产生可能性 (6)缺陷的优先级 (7)缺陷状态 (8)软件缺陷的起

4、源 (9)软件缺陷的来源 (10)缺陷根源,6.2 软件缺陷的生命周期,软件缺陷从被测试人员发现一直到被修复,也经历了一个特有的生命周期的阶段。下面是一个最简单的软件缺陷生命周期的例子,系统地表示软件缺陷从被发现起经历的各个阶段:,(1)测试人员找到并登记软件缺陷,软件缺陷被移交到程序修复人员。 (2)程序修复人员修复软件中的软件缺陷,然后移交到测试人员。 (3)测试人员确认软件缺陷被修复,关闭软件缺陷。,当软件缺陷首先被软件测试人员发现时 。 在许多情况下,软件缺陷生命周期的复杂程度仅为软件缺陷被打开、解决和关闭。然而,在有些情况下,生命周期变得更复杂一些,如图6-1所示。,图6-1 复杂的

5、软件缺陷生命周期,通常,软件缺陷生命周期有两个附加状态: (1)审查状态:指项目管理员或者委员会(有时称为变动控制委员会)决定软件缺陷是否应该修复。 (2)推迟状态:审查可能认定软件缺陷应该在将来的同一时间考虑修复,但是在该版本软件中不修复。,6.3 分离和再现软件缺陷,测试人员要想有效报告软件缺陷,就要对软件缺陷以明显、通用和再现的形式进行描述。 分离和再现软件缺陷是考验软件测试人员专业技能的地方,测试人员应该设法找出缩小问题范围的具体步骤。对测试人员有利的情况是,若建立起绝对相同的输入条件时,软件缺陷就会再次出现,不存在随机的软件缺陷。,如果找到的软件缺陷要采取繁杂的步骤才能再现,或者根本

6、无法再现,碰到这种情况,可采取如下的方法来分离和再现软件缺陷。实践证明这些方法对测试人员是有所帮助的。 (1)确保所有的步骤都被记录 (2)注意时间和运行条件上的因素,(3)注意软件的边界条件、内存容量和数据溢出的问题 (4)注意事件发生次序导致的软件缺陷 (5)考虑资源依赖性和内存、网络、硬件共享的相互作用 (6)不要忽视硬件,6.4 软件测试人员需正确面对软件缺陷,在软件测试过程中,软件测试人员必须确保测试过程发现的软件缺陷得以关闭。 软件测试人员需要从综合的角度考虑软件的质量问题,对找出的软件缺陷保持一种平常心态 。,1.并不是测试人员辛苦找出的每个软件缺陷都是必须修复的 测试是为了证明

7、程序有错,而不是证明程序没错。不管测试计划多么完善和执行测试多么努力,也不能保证所有软件缺陷发现了就能修复。有些软件缺陷可能会完全被忽略,还有一些可能推迟到软件后续版本中修复。有些软件缺陷不被修复的原因如下。,(1)没有足够的时间 (2)不算真正的软件缺陷 (3)修复的风险太大 (4)不值得修复,2.发现的缺陷的数量说明不了软件的质量 3.不要指望找出软件中所有的缺陷,6.5 报 告 软 件 缺 陷,6.5.1 报告软件缺陷的基本原则 在软件测试过程中,对于发现的大多数软件缺陷,要求测试人员简捷、清晰地把发现的问题报告给判断是否进行修复的小组,使其得到所需要的全部信息,然后才能决定怎么做。,报

8、告软件缺陷的基本原则如下。 1尽快报告软件缺陷 2有效地描述软件缺陷,有效的软件缺陷描述要求如下。 (1)简单与短小 (2)明确指明错误类型 (3)单一 (4)使用IT业界惯用的表达术语和表达方法,3在报告软件缺陷时不做任何评价 4补充和完善软件缺陷报告,以上概括了报告测试错误的规范要求,测试人员应该牢记上面这些关于报告软件缺陷的原则。这些原则几乎可以运用到任何交流活动中,尽管有时难以做到,然而,如果希望有效地报告软件缺陷,并使其得以修复,这些是测试人员要遵循的基本原则。,随着软件的测试要求不同,测试者积累了相应的测试经验会,将会逐渐养成良好的专业习惯,不断补充新的规范书写要求。此外,经常阅读

9、、学习高级测试工程师的测试错误报告,结合自己以前的测试错误报告进行对比和思考,可以不断提高技巧。,6.5.2 IEEE软件缺陷报告模板 ANS/IEEE8291998标准定义了一个称为软件缺陷报告的文档,用于报告“在测试期间发生的任何异常事件”。简言之,就是用于登记软件缺陷。模板标准如图6-3所示。,图6-3 IEEE软件缺陷报告模板,6.6 软件缺陷的跟踪管理,6.6.1软件缺陷跟踪管理系统 软件缺陷跟踪管理系统( Defect Tracking System)是用于集中管理软件测试过程中所发现缺陷的数据库程序,可以通过添加、修改、排序、查寻、存储操作来管理软件缺陷。,在测试工作中应用软件缺

10、陷管理系统具有以下优点: 1. 保持高效率的测试过程 2. 提高软件缺陷报告的质量 3. 实施实时管理,安全控制 4. 利用该系统还有利于项目组成员间协同工作,图6-4 软件缺陷数据库跟踪系统,软件缺陷跟踪数据库最常用的功能,除了输入软件缺陷之外,就是通过执行查询来获得需要的软件缺陷清单。,通过使用软件缺陷跟踪数据库,不但可以进行查询,还可以找出发现的软件缺陷类型,发现软件缺陷的速度,以及多少软件缺陷已经得到了修复,能够提取各种实用和关心的数据,可以显示测试工作的成效和项目的进展情况。测试人员或者项目管理员可以看出数据中是否有趋势显示需要增加测试的区域,或者测试工作是否符合预先所制定的测试计划

11、的进程等。,6.6.2 手工报告和跟踪软件缺陷 显然,在软件测试工作中,每个测试用例的结果都必须进行记录。如果使用软件缺陷数据库跟踪系统,那么测试工具将自动记录软件缺陷的相关信息。如果测试是采用手工记录和跟踪软件缺陷,那么有关软件缺陷的信息可以直接记录在相应的文档中。图6-5所示的是根据ANS/IEEE8291998标准设计的软件缺陷报告文档。,图6-5 软件缺陷报告文档,6.7 软件测试的评测,测试的评测主要方法包括覆盖评测和质量评测。测试覆盖评测是对测试完全程度的评测,它建立在测试覆盖基础上,测试覆盖是由测试需求和测试用例的覆盖或已执行代码的覆盖表示的。质量评测是对测试对象的可靠性、稳定性

12、以及性能的评测。质量建立在对测试结果的评估和对测试过程中确定的缺陷及缺陷修复的分析基础上。,6.7.1 覆盖评测 覆盖评测指标是用来度量软件测试的完全程度的,所以可以将覆盖用做测试有效性的一个度量。最常用的覆盖评测是基于需求的测试覆盖和基于代码的测试覆盖,它们分别是指针对需求(基于需求的)或代码的设计/实施标准(基于代码的)而言的完全程度评测。,1基于需求的测试覆盖 基于需求的测试覆盖在测试过程中要评测多次,并在测试过程中,每一个测试阶段结束时给出测试覆盖的度量。例如,计划的测试覆盖、已实施的测试覆盖、已执行成功的测试覆盖等。 基于需求的测试覆盖率通过以下公式计算: 测试覆盖率=T (p,i,

13、x,s) / Rf T %,在制定测试计划活动中,将计算计划的测试覆盖,其计算方法如下: 计划的测试覆盖率=T p / Rf T % 其中:T p是用测试过程或测试用例表示的计划测试需求数。Rf T是测试需求的总数。,在实施测试过程中,计算测试覆盖时使用以下公式: 已执行的测试覆盖率=T i / Rf T % 其中:T i是用测试过程或测试用例表示的已执行的测试需求数。RfT是测试需求的总数。,在执行测试活动中,确定成功的测试覆盖率(即执行时未出现失败的测试,如没有出现缺陷或意外结果的测试)评测通过以下公式计算: 成功的测试覆盖率=T s / Rf T % 其中:T s是用完全成功、没有缺陷的

14、测试过程或测试用例表示的已执行测试需求数。RfT是测试需求的总数。,在执行测试过程中,经常使用两个测试覆盖度量指标,一个是确定已执行的测试覆盖率,另一个是确定成功的测试覆盖率,即执行时未出现失败的测试覆盖率。,2基于代码的测试覆盖 基于代码的测试覆盖评测是测试过程中已经执行的代码的多少,与之相对应的是将要执行测试的剩余代码的多少。,许多测试专家认为,一个测试小组在测试工作中所要做的最为重要的事情之一就是度量代码的覆盖情况。 基于代码的测试覆盖率通过以下公式计算: 基于代码的测试覆盖率=Ie / TIic% 其中:Ie是用代码语句、代码分支、代码路径、数据状态判定点或数据元素名表示的已执行代码数

15、。TIic是代码的总数。,很明显,在软件测试工作中,进行基于代码的测试覆盖评测这项工作极有意义,因为任何未经测试的代码都是一个潜在的不利因素。在一般情况下,代码覆盖运用于较低的测试等级(例如单元和集成级)时最为有效。,但是,仅仅凭借执行了所有的代码,并不能为软件质量提供保证。也就是说,即使所有的代码都在测试中得到执行,并不能担保代码是按照客户需求和设计的要求去做了。,6.7.2 质量评测 测试覆盖的评测提供了对测试完全程度的评价,而在测试过程中对已发现缺陷的评测提供了最佳的软件质量指标。,常用的测试有效性度量是围绕缺陷分析来构造的。缺陷分析就是分析缺陷在与缺陷相关联的一个或者多个参数值上的分布

16、。缺陷分析提供了一个软件可靠性指标,这些分析为揭示软件可靠性的缺陷趋势或缺陷分布提供了判断依据。,对于缺陷分析,常用的主要缺陷参数有以下4个。 状态:缺陷的当前状态(打开的、正在修复的或关闭的等)。 优先级:表示修复缺陷的重要程度和应该何时修复。 严重性:表示软件缺陷的恶劣程度,反映其对产品和用户的影响等。 起源:导致缺陷的原因及其位置,或排除该缺陷需要修复的构件。,缺陷分析通常用以下4类形式的度量提供缺陷评测: 缺陷发现率; 缺陷潜伏期; 缺陷密度。 整体软件缺陷清除率,1缺陷发现率 缺陷发现率是将发现的缺陷数量作为时间的函数来评测,即创建缺陷趋势图,如图6-6所示。,图6-6 缺陷发现率,2缺陷潜伏期 测试有效性的另外一个有用的度量是缺陷潜伏期,通常也称为阶段潜伏期。缺陷潜伏期是一种特殊类型的缺陷分布度量。在实际测试工作中,发现缺陷的时间越晚,这个缺陷所带来的损害就越大,修复这个缺陷所耗费的成本就越多。表6-1显示了一个项目的缺陷潜伏期的度量。,表6-2显示了一个项目的缺陷分布情况(按缺陷造成阶段和缺陷

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

当前位置:首页 > 高等教育 > 大学课件

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