Ch3-软件测试计划、文档及测试用例

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1软件测试方法与实践-Ch.3软件测试计划2第三章软件测试计划与文档3.1软件测试生命周期3.2测试计划3.3测试设计3.4测试实施过程3.5测试文档33.1软件测试生命周期在统一软件开发过程(RUP)定义中,测试生命周期分为:测试计划:《软件测试合同》,《软件测试技术规格说明》,软件测试需求,安排测试人员,提供测试工具。测试设计:分解测试项目,设计测试环境,设计测试用例,编写测试用例概要说明测试开发:测试用例编码,定义测试条件、输入值和预期输出值,编写测试用例详细说明测试执行:执行软件测试用例,记录测试结果《测试记录》,编写《软件问题报告》,测试的结果提交开发单位,尽可能自动执行测试缺陷跟踪:软件缺陷跟踪管理是测试工作的一个重要部分,测试的目的是为了尽早发现软件系统中的缺陷,而对软件缺陷进行跟踪管理的目的是确保每个被发现的缺陷都能够及时得到处理。测试评估:评价软件的各项指标,如果达到预期的结果,停止测试,提交用户单位,如果达不到预期的结果,软件继续修改,并进行回归测试,单元测试、集成测试、系统测试评估等活动。等阶段(见下图)43.1软件测试生命周期开发生命周期...维护需求定义应用定义应用开发修订建立建立测试生命周期...执行.执行执行.测试计划缺陷跟踪测试开发测试设计测试评估5测试计划测试设计测试执行测试记录评估分析评估完毕测试总结缺陷跟踪针对测试目标,规定测试任务、资源分配、人员角色和进度安排分析测试过程和缺陷报告,评估测试质量和测试效果,给出是否通过测试的建议记录、分发、评估、关闭缺陷报告根据测试计划,配置测试环境,并手动或者自动执行测试设计根据测试计划,设计测试用例,包括测试步骤、测试场景、测试代码和测试数据(包括预期结果)根据测试计划,忠实地记录测试执行的过程和结果检查测试设计是否全部执行完毕,缺陷是否全部关闭分析测试记录,如果发现与预期结果不同,确定并重现缺陷软件测试过程6软件测试生命周期活动“软件测试生命周期”涉及以下5个方面:1.测试计划2.测试设计3.测试开发4.测试执行5.缺陷跟踪和测试评估7软件测试生命周期1.测试计划在项目的初期,需要由测试经理或测试组长根据《需求规格说明书》或界面原型编写测试计划,生成《测试计划文档》。这一阶段的工作包括编写测试规格说明、创建测试计划、估算所需的资源、安排测试进度(建立里程碑)、确定变更管理。2.测试设计:在概要设计或详细设计阶段,测试设计人员根据《需求规格说明书》或界面原型进行测试设计,主要包括:编写测试用例、设计测试测略等,生成《测试用例》文档。这一阶段要设置测试环境和设计测试用例。8软件测试生命周期软件测试用例设计和实施是软件测试设计工作的主体部分。编写测试用例一般包括功能测试用例、非功能测试用例/白盒测试用例等非功能测试用例主要包括:界面测试用例、易用性测试用例、性能测试用例、兼容性测试用例等。在测试实施过程中,一般先执行功能测试用例,再执行非功能测试用例。9软件测试生命周期3.测试开发根据被测软件的特性和所设计的测试用例,进行测试代码的开发、数据的准备、测试脚本的编制等1.测试代码开发:在进行单元测试与集成测试时可能需要进行测试代码的开发。另外,采用白盒测试时,为了考察程序执行的路径,需要在程序的源代码中插入一些显示或打印语句。2.测试数据准备:测试执行前需要准备一组可以验证的数据。3.测试脚本(TestScript)编制:采用自动执行的测试工具时需要录制和编制测试脚本。脚本是一组具有正规语法的测试操作指令和/数据,它可以实现一个或多个测试用例、导航、测试设置及测试结果比较,以文件形式保存。10软件测试生命周期4.测试执行执行测试用例并获取测试结果,分析并判定测试结果。假如采用手工测试方法,就应该按照实际的测试流程,逐步执行每一项测试,应记录每一步测试结果,特别要么记录测试出现异常的情况。假如采用自动化测试工具测试,只要启动测试工具,由测试工具回放测试脚本进行测试,自动化测试工具就会自动记录下测试结果,并进行测试结果的比对和分析,好的测试工具还会给出测试图表和缺陷报告。11软件测试生命周期5.缺陷跟踪和测试评估在项目的后期,由测试经理或测试组长评估测试的过程和结果,要生成一个《测试报告》。一般应关注以下几方面:1.通过评估测试的步骤是否按计划进行,以发现是否存在测试的随意性,并分析没有按照测试计划执行的原因2.通过评估测试的覆盖情况、测试用例通过率、测试结果与测试的目标的一致性,来评估测试的有效性3.通过分析软件缺陷的严重性和分布情况,向委托客户提供咨询意见和建议。12软件测试评估的主要工作1.测试执行情况与记录:描述测试资源消耗情况,记录实际数据2.覆盖分析:1.需求覆盖:指在系统测试过程中,所测试到的功能和非功能需求占到需求总数的百分比。一个通用的需求覆盖标准是,测试用例的执行率要在100%,即所有用例都要执行一遍,测试用例通过率要达到95%以上。2.对源代码的覆盖:是指在单元测试过程,所测试到的源代码占代码总数的百分比。一般有语句覆盖、分支覆盖、条件覆盖、路径覆盖等方法。一个通用的代码覆盖标准是,对软件关键模块的语句覆盖率要达到100%,分支覆盖率要达到85%以上。13软件测试评估3.缺陷的统计和分析。缺陷统计涉及到被测系统的质量。通常用以下公式统计:用例质量=缺陷总数/测试用例总数100%缺陷密度=缺陷总数/功能点总数从缺陷密度可以得出系统各功能或各需求的缺陷的分布情况4.残留缺陷和未解决问题.5测试报告:在测试评估的基础上,就可以撰写测试报告了,其内容有:测试项目概述、测试机构和人员、测试用例统计结果、缺陷分类统计结果,以及测试结论等。14案例研究1StarMoon技术公司的CathyJones负责在六个月内开发一个电子购物系统。但由于开发小组部分成员没有受到足够的培训,致使开发阶段的工作延后了三个星期才完成。开发工作告一段落后,系统被移交给DonAllen领导的测试小组。测试小组制定了一份测试计划,测试系统的跨平台兼容性以及在IE上工作是否正常。测试结束,测试报告送交开发小组。开发小组更正了发现的错误后,按原定期限把软件产品交付给客户。但是,当客户在Netscape浏览器上运行这个电子购物系统时,发现系统不能正常工作。结果,客户以系统不能工作为由拒收产品15案例研究分析场景,回答以下问题:软件测试生命周期中的哪个阶段没有做好?你能看出场景中存在的问题吗?请针对问题提出正确的建议16案例研究问题正确的活动/原理上述场景里,计划阶段没有做好。开发阶段计划得不完善,没有考虑到开发的延迟对测试阶段造成的影响。计划是整个测试生命周期中至关重要的一个阶段。这一阶段应创建测试规格说明、拟定测试计划、估算所需的资源、安排测试进度(建立里程碑)、确定变更管理。问题:1.没有测试应用系统的跨浏览器兼容性。基于web的应用系统,必须在多个浏览器(IE、Netscape、Mozilla和Opera等)上进行测试。这有助于保证应用系统能在尽可能多的浏览器上正常工作。2.测试小组没有足够的时间来作测试。测试人员需要足够的时间才能在多个浏览器上作测试。如果项目经理分配给测试小组更多时间的话,应用系统就有可能在其他浏览器上作测试。计划阶段对于准确估算测试工作量非常重要。3.没有正确地估算测试所需的资源。项目应有后备测试资源。这有助于减轻测试小组的压力,使他们能在规定的期限内完成测试任务。资源估算是计划阶段的重要活动之一,这种估算以软件测试所需的工时数来决定资源。估算时必要的话,还应将后备资源考虑在内。173.2测试计划3.2.1测试计划的基本概念3.2.2测试计划的制订及其在软件测试过程中的地位3.2.3测试计划的变更183.2.1测试计划的基本概念软件测试是一个有组织有计划的活动,应当给予充分的时间和资源进行测试计划,这样软件测试才能在合理的控制下正常进行。测试计划(TestPlanning)作为测试的起始步骤,是整个软件测试过程的关键。1.测试计划的定义测试计划规定了测试各个阶段所要使用的方法策略、测试环境、测试通过或失败的准则等内容。《ANSI/IEEE软件测试文档标准829-1983》将测试计划定义为:“一个叙述了预定的测试活动的范围、途径、资源及进度安排的文档。它确认了测试项、被测特征、测试任务、人员安排,以及任何偶发事件的风险。”编制测试计划时你需要参考项目计划,项目计划里列出项目在实现过程中包括测试在内的所有必须进行的活动。测试计划在整个项目期必须不断更新,这样才能在测试时反应出项目的变化。193.2.1测试计划的基本概念2.测试计划的目的和作用测试计划的目的是明确测试活动的意图。它规范了软件测试内容、方法和过程,为有组织地完成测试任务提供保障。专业的测试必须以一个好的测试计划作为基础。尽管测试的每一个步骤都是独立的,但是必须要有一个起到框架结构作用的测试计划。3.测试计划书测试计划文档化就成为测试计划书,包含总体计划和分级计划,是可以更新改进的文档。从文档的角度看,测试计划书是最重要的测试文档,完整细致并具有远见性的计划书会使测试活动安全顺利地向前进行,从而确保所开发的软件产品的高质量。203.2.1测试计划的基本概念实际的测试计划内容因不同的测试对象而灵活变化,但通常来说一个正规的测试计划应该包含以下几个项目:测试的基本信息:包括测试目的、背景、测试范围等;测试的具体目标:列出软件需要进行的测试部分和不需要进行的测试部分;测试的策略:测试人员采用的测试方法,如回归测试、功能测试、自动测试等;测试的通过标准:测试是否通过的界定标准以及没有通过情况的处理方法;停测标准:给出每个测试阶段停止测试的标准;测试用例:详细描述测试用例,包括测试值、测试操作过程、测试期待值等;测试的基本支持:测试所需硬件支持、自动测试软件等;213.2.1测试计划的基本概念部门责任分工:明确所有参与软件管理、开发、测试、技术支持等部门的责任细则;测试人力资源分配:列出测试所需人力资源以及软件测试人员的培训计划;测试进度安排:制订每一个阶段的详细测试进度安排表;风险估计和危机处理:估计测试过程中潜在的风险以及面临危机时的解决办法。22测试计划的编制原则4测试计划的编制原则:1.明确测试的目标,增强测试计划的实用性2.坚持“5W”规则,明确测试的内容与过程。“5W”规则指的是:“What(做什么)”、“Why(为什么做)”、“Where(在哪里)”、“Who(由谁做)”。该规则支持了“在什么时候、什么地方、由谁采用什么方法来完成什么样的任务”3采用评审和更新机制,保证测试计划满足实际需求4分别创建测试计划与测试详细规格说明和测试用例。测试计划和测试详细规格说明、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格说明、测试用例是完成测试任务的具体战术233.2.2测试计划的制订及其在软件测试过程中的地位1.测试计划的制定测试的计划与控制是整个测试过程中最重要的阶段,它为实现可管理且高质量的测试过程提供基础。整个项目生命周期为“需求-设计-编码-测试-发布-实施-维护”。然而,在制订测试计划时,要避免把测试单纯理解成系统测试,或者把各类型测试设计(测试用例的编写和测试数据准备)全部放入生命周期的“测试阶段”,这样一方面浪费了开发阶段可以并行的项目日程,另一方面造成测试不足。这个阶段需要完成的主要工作内容是:拟定测试计划,论证那些在开发过程中难于管理和控制的因素,明确软件产品的最重要部分。24测试计划的制订及其在软件测试过程中的地位2测试计划的地位软件开发、软件测试与测试计划制订的并行关系如下图所示!25软件开发过程测试计划制定需求分析概要设计详细设计编码概要测试计划详细测试计划测试大纲测试用例实施测试结果分析纠错质量评审产品发布项目任务书26软件开发、软件测试与测试计划制订的平行关系概要测试计划:是在软件开发初期制

1 / 58
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功