




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,软件测试方法与实践 - Ch.3软件测试计划,2,第三章 软件测试计划与文档,3.1 软件测试生命周期 3.2 测试计划 3.3 测试设计 3.4 测试实施过程 3.5 测试文档,3,3.1 软件测试生命周期,在统一软件开发过程(RUP)定义中,测试生命周期分为: 测试计划:软件测试合同,软件测试技术规格说明,软件测试需求,安排测试人员,提供测试工具。 测试设计:分解测试项目,设计测试环境,设计测试用例,编写测试用例概要说明 测试开发:测试用例编码,定义测试条件、输入值和预期输出值,编写测试用例详细说明 测试执行:执行软件测试用例,记录测试结果测试记录,编写软件问题报告,测试的结果提交开发
2、单位,尽可能自动执行测试 缺陷跟踪:软件缺陷跟踪管理是测试工作的一个重要部分,测试的目的是为了尽早发现软件系统中的缺陷,而对软件缺陷进行跟踪管理的目的是确保每个被发现的缺陷都能够及时得到处理。 测试评估:评价软件的各项指标,如果达到预期的结果,停止测试,提交用户单位,如果达不到预期的结果,软件继续修改,并进行回归测试,单元测试、集成测试、系统测试评估等活动。 等阶段(见下图),4,3.1 软件测试生命周期,测试评估,5,测试计划,测试设计,测试执行,测试记录,评估分析,评估完毕,测试总结,缺陷跟踪,针对测试目标,规定 测试任务、资源分配、 人员角色和进度安排,分析测试过程和缺陷报告, 评估测试
3、质量和测试效果, 给出是否通过测试的建议,记录、分发、评估、关闭缺陷报告,根据测试计划,配置测试环境,并手动或者自动执行测试设计,根据测试计划,设计 测试用例,包括测试步骤、测试场景、测试代码和测试数据(包括预期结果),根据测试计划,忠实地记录测试执行的过程和结果,检查测试设计是否全部执行完毕,缺陷是否全部关闭,分析测试记录,如果发现与预期结果不同,确定并重现缺陷,软件测试过程,6,软件测试生命周期活动,“软件测试生命周期”涉及以下5个方面: 测试计划 测试设计 测试开发 测试执行 缺陷跟踪和测试评估,7,软件测试生命周期,1.测试计划 在项目的初期,需要由测试经理或测试组长根据需求规格说明书
4、或界面原型编写测试计划,生成测试计划文档。这一阶段的工作包括编写测试规格说明、创建测试计划、估算所需的资源、安排测试进度(建立里程碑)、确定变更管理。 2.测试设计: 在概要设计或详细设计阶段,测试设计人员根据需求规格说明书或界面原型进行测试设计,主要包括:编写测试用例、设计测试测略等,生成测试用例文档。这一阶段要设置测试环境和设计测试用例。,8,软件测试生命周期,软件测试用例设计和实施是软件测试设计工作的主体部分。 编写测试用例一般包括功能测试用例、非功能测试用例/白盒测试用例等 非功能测试用例主要包括:界面测试用例、易用性测试用例、性能测试用例、兼容性测试用例等。 在测试实施过程中,一般先
5、执行功能测试用例,再执行非功能测试用例。,9,软件测试生命周期,3.测试开发 根据被测软件的特性和所设计的测试用例,进行测试代码的开发、数据的准备、测试脚本的编制等 测试代码开发:在进行单元测试与集成测试时可能需要进行测试代码的开发。另外,采用白盒测试时,为了考察程序执行的路径,需要在程序的源代码中插入一些显示或打印语句。 测试数据准备:测试执行前需要准备一组可以验证的数据。 测试脚本(Test Script)编制:采用自动执行的测试工具时需要录制和编制测试脚本。脚本是一组具有正规语法的测试操作指令和数据,它可以实现一个或多个测试用例、导航、测试设置及测试结果比较,以文件形式保存。,10,软件
6、测试生命周期,4.测试执行 执行测试用例并获取测试结果,分析并判定测试结果。 假如采用手工测试方法,就应该按照实际的测试流程,逐步执行每一项测试,应记录每一步测试结果,特别要么记录测试出现异常的情况。 假如采用自动化测试工具测试,只要启动测试工具,由测试工具回放测试脚本进行测试,自动化测试工具就会自动记录下测试结果,并进行测试结果的比对和分析,好的测试工具还会给出测试图表和缺陷报告。,11,软件测试生命周期,5.缺陷跟踪和测试评估 在项目的后期,由测试经理或测试组长评估测试的过程和结果,要生成一个测试报告。一般应关注以下几方面: 通过评估测试的步骤是否按计划进行,以发现是否存在测试的随意性,并
7、分析没有按照测试计划执行的原因 通过评估测试的覆盖情况、测试用例通过率、测试结果与测试的目标的一致性,来评估测试的有效性 通过分析软件缺陷的严重性和分布情况,向委托客户提供咨询意见和建议。,12,软件测试评估的主要工作,测试执行情况与记录:描述测试资源消耗情况,记录实际数据 覆盖分析: 需求覆盖:指在系统测试过程中,所测试到的功能和非功能需求占到需求总数的百分比。一个通用的需求覆盖标准是,测试用例的执行率要在100%,即所有用例都要执行一遍,测试用例通过率要达到95%以上。 对源代码的覆盖:是指在单元测试过程,所测试到的源代码占代码总数的百分比。一般有语句覆盖、分支覆盖、条件覆盖、路径覆盖等方
8、法。一个通用的代码覆盖标准是,对软件关键模块的语句覆盖率要达到100%,分支覆盖率要达到85%以上。,13,软件测试评估,3.缺陷的统计和分析。缺陷统计涉及到被测系统的质量。通常用以下公式统计: 用例质量=缺陷总数/测试用例总数100% 缺陷密度=缺陷总数/功能点总数 从缺陷密度可以得出系统各功能或各需求的缺陷的分布情况 4.残留缺陷和未解决问题. 5 测试报告:在测试评估的基础上,就可以撰写测试报告了,其内容有:测试项目概述、测试机构和人员、测试用例统计结果、缺陷分类统计结果,以及测试结论等。,14,案例研究1,StarMoon技术公司的Cathy Jones负责在六个月内开发一个电子购物系
9、统。但由于开发小组部分成员没有受到足够的培训,致使开发阶段的工作延后了三个星期才完成。 开发工作告一段落后,系统被移交给Don Allen领导的测试小组。测试小组制定了一份测试计划,测试系统的跨平台兼容性以及在IE上工作是否正常。测试结束,测试报告送交开发小组。开发小组更正了发现的错误后,按原定期限把软件产品交付给客户。 但是,当客户在Netscape 浏览器上运行这个电子购物系统时,发现系统不能正常工作。结果,客户以系统不能工作为由拒收产品,15,案例研究,分析场景,回答以下问题: 软件测试生命周期中的哪个阶段没有做好? 你能看出场景中存在的问题吗?请针对问题提出正确的建议,16,案例研究,
10、17,3.2 测试计划,3.2.1 测试计划的基本概念 3.2.2 测试计划的制订及其在软件测试过程中的地位 3.2.3 测试计划的变更,18,3.2.1 测试计划的基本概念,软件测试是一个有组织有计划的活动,应当给予充分的时间和资源进行测试计划,这样软件测试才能在合理的控制下正常进行。测试计划(Test Planning)作为测试的起始步骤,是整个软件测试过程的关键。 1测试计划的定义 测试计划规定了测试各个阶段所要使用的方法策略、测试环境、测试通过或失败的准则等内容。ANSI/IEEE软件测试文档标准829-1983将测试计划定义为:“一个叙述了预定的测试活动的范围、途径、资源及进度安排的
11、文档。它确认了测试项、被测特征、测试任务、人员安排,以及任何偶发事件的风险。” 编制测试计划时你需要参考项目计划,项目计划里列出项目在实现过程中包括测试在内的所有必须进行的活动。测试计划在整个项目期必须不断更新,这样才能在测试时反应出项目的变化。,19,3.2.1 测试计划的基本概念,2测试计划的目的和作用 测试计划的目的是明确测试活动的意图。它规范了软件测试内容、方法和过程,为有组织地完成测试任务提供保障。专业的测试必须以一个好的测试计划作为基础。尽管测试的每一个步骤都是独立的,但是必须要有一个起到框架结构作用的测试计划。 3测试计划书 测试计划文档化就成为测试计划书,包含总体计划和分级计划
12、,是可以更新改进的文档。从文档的角度看,测试计划书是最重要的测试文档,完整细致并具有远见性的计划书会使测试活动安全顺利地向前进行,从而确保所开发的软件产品的高质量。,20,3.2.1 测试计划的基本概念,实际的测试计划内容因不同的测试对象而灵活变化,但通常来说一个正规的测试计划应该包含以下几个项目: 测试的基本信息:包括测试目的、背景、测试范围等; 测试的具体目标:列出软件需要进行的测试部分和不需要进行的测试部分; 测试的策略:测试人员采用的测试方法,如回归测试、功能测试、自动测试等; 测试的通过标准:测试是否通过的界定标准以及没有通过情况的处理方法; 停测标准:给出每个测试阶段停止测试的标准
13、; 测试用例:详细描述测试用例,包括测试值、测试操作过程、测试期待值等; 测试的基本支持:测试所需硬件支持、自动测试软件等;,21,3.2.1 测试计划的基本概念,部门责任分工:明确所有参与软件管理、开发、测试、技术支持等部门的责任细则; 测试人力资源分配:列出测试所需人力资源以及软件测试人员的培训计划; 测试进度安排:制订每一个阶段的详细测试进度安排表; 风险估计和危机处理:估计测试过程中潜在的风险以及面临危机时的解决办法。,22,测试计划的编制原则,4 测试计划的编制原则: 明确测试的目标,增强测试计划的实用性 坚持“5W”规则,明确测试的内容与过程。 “5W”规则指的是:“What(做什
14、么)”、 “Why(为什么做)”、“Where(在哪里)”、 “Who(由谁做)”。该规则支持了“在什么时候、什么地方、由谁采用什么方法来完成什么样的任务” 采用评审和更新机制,保证测试计划满足实际需求 分别创建测试计划与测试详细规格说明和测试用例。测试计划和测试详细规格说明、测试用例之间是战略和战术的关系,测试计划主要从宏观上规划测试活动的范围、方法和资源配置,而测试详细规格说明、测试用例是完成测试任务的具体战术,23,3.2.2 测试计划的制订及其在软件测试过程中的地位,1测试计划的制定 测试的计划与控制是整个测试过程中最重要的阶段,它为实现可管理且高质量的测试过程提供基础。 整个项目生命
15、周期为“需求-设计-编码-测试-发布-实施-维护”。然而,在制订测试计划时,要避免把测试单纯理解成系统测试,或者把各类型测试设计(测试用例的编写和测试数据准备)全部放入生命周期的“测试阶段”,这样一方面浪费了开发阶段可以并行的项目日程,另一方面造成测试不足。 这个阶段需要完成的主要工作内容是:拟定测试计划,论证那些在开发过程中难于管理和控制的因素,明确软件产品的最重要部分。,24,测试计划的制订及其在软件测试过程中的地位,2 测试计划的地位 软件开发、软件测试与测试计划制订的并行关系如下图所示!,25,26,软件开发、软件测试与测试计划制订的平行关系,概要测试计划:是在软件开发初期制订的,内容
16、有:定义被测对象和测试目标,确定测试阶段和测试周期,确定测试人员、软/硬件资源和测试进度等方面的计划,明确任务与责任划分,规定软件测试方法与测试标准等 详细测试计划:规定了测试者负责测试的内容、测试强度和工作进度 测试大纲:包括测试项目、测试步骤、测试完成的标准及测试方式等 制订测试通过或失败的标准 制订测试任务安排 制订应交付的测试工作产品 制订工作量估计,27,测试计划的制订及其在软件测试过程中的地位,3 测试计划的变更 为使测试计划得到贯彻和落实,测试组人员必须及时跟踪软件开发的过程,对产品提交测试做准备。测试计划中强调对变更的控制尤为重要。变更来源于以下几个方面: 项目计划的变更 需求
17、的变更 产品测试版本的变更 测试资源的变更,28,案例研究2,StarMoon公司正在开发一个名为B的网站。这是一个电子商务网站,用户可在这个站点上查找他感兴趣的商品,把它放进购物车,然后用信用卡在线购买。该应用系统的功能有: 注册/用户信息 地址本 查找订单 下订单 加入购物车 在线客户服务,29,案例研究,用户能够执行的操作有:修改或删除他们个人购物车里的商品,编辑或删除地址本里保存的个人信息,在网站上发贴、回帖。 StarMoon公司将对这个站点进行跨浏览器和跨平台兼容性测试,当然还要测试站点的功能。Don Allen和他的团队已经制定了一份测试计划纲要。该应用项目预期将在六个月内交付客
18、户。 为场景中的应用编制测试计划,30,31,测试计划,测试计划确定了测试的范围和测试的大致方向,概要地指出了项目的基本测试策略,这包括: 测试的目标是什么? 什么时候开始测试? 将进行哪种测试? 可能存在哪些风险? 有哪些因素需要权衡? 测试将由谁来做? 需要完成多少测试? 使用哪种工具来进行测试? 将采用哪些度量来评估测试? 列出将要进行的测试类型 ?,32,测试计划,1)测试目标: 所谓测试目标是指在规定的条件下要度量的软件特性的指标集。 软件特性有六大特性和七十二项子特性。六大特性是指: 功能性,可靠性,易用性,效率,可维护性及可移植性 软件特性与测试方法(种类)之间关系: 一个软件特
19、性可能有多种测试方法 用不同的方法可以测试同一个软件特性,33,测试计划,2)范围 : 描述测试的各个阶段(例如,单元测试、集成测试或系统测试),并说明本计划中的测试类型(如功能测试或性能测试 ) 。 简要地列出测试对象中将接受测试或将不接受测试的那些性能和功能 。 列出可能会影响测试设计、开发或实施的所有假设、风险、意外事件和约束 。,34,测试计划,3)测试策略 (方法) 测试策略指测试将采用的方法。对于任何一种测试类型,都要给出描述并说明作这种测试的理由。 如果某种测试不能执行,也必须明确指出并给出理由。 制定测试策略时,主要应考虑将采用哪些测试技术,并针对每一种测试制定测试完成标准。
20、另外,必须确保测试只能在安全的环境里使用已知、受控制的数据库来执行。 4)项目里程碑 (进度表) 应包括各项测试的测试活动。 应为这些测试确定单独的项目里程碑,以了解项目完成的状态。,35,项目里程碑表,36,测试计划,5)资源 指出需要哪些测试人员,每个角色的职责以及所需的技能要求。 计划中要明确测试经理、测试设计者和测试人员的职责。 6)测试环境 测试环境包括测试所需的硬件、软件和网络需求。为了为测试创建理想的环境,识别测试环境是非常必要的。 测试环境部分还要指出测试所用的工具、操作系统和编译器,以及搭建测试环境所需的网络要求。,37,人力资源,38,测试计划,7)风险和应急计划 风险和应
21、急计划列出所有风险,描述每一种风险可能造成的影响,以及万一发生风险所应采取的应对措施 8)可交付制品 列出了将要创建的各种制品(测试模型、测试记录、缺陷报告)、工具和报告,及其创建人员、交付对象和交付时间。,39,3.3 测试设计,测试设计的目的是为每一个测试需求确定测试用例集。并且确定执行测试用例的测试过程。具体如下: 对每一个测试需求,确定其需要的测试用例 对每一个测试用例,确定其输入及预期结果 确定测试用例的测试环境配置 编写测试用例文档 对测试用例进行同行评审,40,3.4 测试实施过程,软件测试的实施一般经历以下3个阶段: 初测期:主要测试软件的主要功能和关键的执行路径,排除主要障碍
22、。 细测期:依据测试计划、测试大纲和测试用例,逐一测试软件的功能、性能、用户界面、兼容性等多个方面。 回归测试期:主要是复查已知错误的纠正情况,确认在未引发任何新的错误时,终结回归测试。 实施阶段涉及到实施测试用例、提交报告、回归测试和测试总结等工作,41,测试实施过程,验证测试,回归测试,软件测试实施过程分为单元测试、集成测试、确认测试、系统测试、验收测试和回归测试等。,42,测试实施过程,单元测试:通过对每个最小的软件模块进行测试,对源代码的每个程序单元实行测试,检查各个程序模块是否正确地实现了规定的功能,确保其能正常工作。 集成测试:对已测试过的模块进行组装集成,目的是检验与软件设计相关
23、的程序结构问题。 确认测试:检验软件是否满足需求规格说明中的功能和性能需求,确定软件配置完全、正确。 系统测试:检验软件产品能否与实际运行环境中的系统的其它部分(如:硬件、数据库及操作人员等)协调地工作。 验收测试:检验软件产品质量的最后一道工序,主要让用户对软件进行测试。 回归测试:重新执行已做过测试的某一子集,保证没有引入新的错误。,43,测试实施过程,44,3.5 测试文档,1测试文档的定义 测试文档(Testing Documentation)用来记录和描述了整个测试流程,它是整个测试活动中非常重要的文件。测试过程实施所必备的核心文档是:测试计划、测试用例(大纲)和软件测试报告。 2测
24、试文档的重要性 软件测试是一个很复杂的过程,涉及软件开发其他阶段的工作,对于提高软件质量、保证软件正常运行有着十分重要的意义,因此必须把对测试的要求、过程及测试结果以正式的文档形式写下来。软件测试文档用来描述要执行的测试及测试的结果。可以说,测试文档的编制是软件测试工作规范化的一个重要组成部分。 软件测试文档不只在测试阶段才开始考虑,它应在软件开发的需求分析阶段就开始着手编制,软件开发人员的一些设计方案也应在测试文档中得到反映,以利于设计的检验。测试文档对于测试阶段的工作有着非常明显的指导作用和评价作用。即便在软件投入运行的维护阶段,也常常要进行再测试或回归测试,这时仍会用到软件测试文档。,4
25、5,通常软件生命周期可分为以下6个阶段:需求阶段、功能设计阶段、详细设计阶段、编码阶段、软件测试阶段以及运行/维护阶段,相邻两个阶段之间可能存在一定程度的重复以保证阶段之间的顺利衔接,但每个阶段的结束是有一定的标志,例如已经提交可交付文档等。 1需求阶段 (1)测试输入 需求计划(来自开发)。 (2)测试任务 制定验证和确认测试计划; 对需求进行分析和审核; 分析并设计基于需求的测试,构造对应的需求覆盖或追踪矩阵。,软件生命周期各阶段的测试任务与可交付的文档,46,软件生命周期各阶段的测试任务与可交付的文档,2功能设计阶段 (1)测试输入 功能设计规格说明(来自开发)。 (2)测试任务 功能设
26、计验证和确认测试计划; 分析和审核功能设计规格说明; 可用性测试设计; 分析并设计基于功能的测试,构造对应的功能覆盖矩阵; 实施基于需求和基于功能的测试。 (3)可交付的文档 主确认测试计划; 验收测试计划(针对功能设计); 验收测试报告(针对功能设计)。,47,软件生命周期各阶段的测试任务与可交付的文档,3详细设计阶段 (1)测试输入 详细设计规格说明(来自开发)。 (2)测试任务 详细设计验收测试计划; 分析和审核详细设计规格说明; 分析并设计基于内部的测试。 (3)可交付的文档 详细确认测试计划; 验收测试计划(针对详细设计); 验收测试报告(针对详细设计); 测试设计规格说明。,48,
27、软件生命周期各阶段的测试任务与可交付的文档,4编码阶段 (1)测试输入 代码(来自开发)。 (2)测试任务 代码验收测试计划; 分析代码; 验证代码; 设计基于外部的测试; 设计基于内部的测试。 (3)可交付的文档 测试用例规格说明; 需求覆盖或追踪矩阵; 功能覆盖矩阵; 测试步骤规格说明; 验收测试计划(针对代码); 验收测试报告(针对代码)。,49,软件生命周期各阶段的测试任务与可交付的文档,5测试阶段 (1)测试输入 要测试的软件; 用户手册。 (2)测试任务 制定测试计划; 审查由开发部门进行的单元和集成测试; 进行功能测试; 进行系统测试; 审查用户手册。 (3)可交付的文档 测试记录; 测试事故报告; 测试总结报告。,50,软件生命周期各阶段的测试任务与可交付的文档,6运行/维护阶段 (1)测试输入 已确认的问题报告; 软件生命周期。软件生命周期是一个重复的过程。如果软件被修改了,开发和测试活动都要回归到与修改相对应的生命周期阶段。 (2)测试任务 监视验收测试; 为确认
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年安徽芜湖鸠兹水务有限公司第二批工作人员招聘3人笔试参考题库附带答案详解
- 数字温度计课程设计答辩
- 2024年下半年川投集团公开招聘正式开启(300个岗位)笔试参考题库附带答案详解
- 老年人护理的基本情况
- 餐饮合伙经营协议合同书
- 二零二五版信用卡的借
- 就业安置协议书二零二五年
- 二零二五版房屋转租合同三方协议范例
- 2024四川川渝国际人才发展集团有限公司公开招聘工作人员5人笔试参考题库附带答案详解
- 胃肠镜检查前后护理要点
- 借用品牌合同范本
- 2025年江苏省期无锡市天一实验校初三5月模拟英语试题含答案
- 渠道医美合伙人招募计划
- 空调机房吸音墙顶面综合施工专题方案
- 红楼梦专题元妃省亲39课件
- 辅导员工作手册
- 半导体物理课件:第二章半导体中杂质和缺陷能级
- 特种设备事故应急演练方案(附总结)
- ISO测量管理体系内审员培训资料
- 电子测量技术第5章 数字测量方法
- 预防性健康检管理制度管理办法
评论
0/150
提交评论