15软件测试技术与测试实训教程讲座第15章验收测试的实用技术v12学时.ppt
软件测试技术与测试实训教程黎连业 王华 李龙 黎照北京:机械工业出版社 2012.05,第15讲:第15章 验收测试的实用技术,验收测试(Acceptance Testing)是在系统测试之后进行的测试,目的是为了检证此系统是否能够满足用户的需要,产品通过验收测试工作才能最终结束。验收可分为前阶段验收和竣工验收两个阶段。验收是根据各种需求说明书的标准,利用工具进行的一项检查工作,其中包括对进程的验收,以及进程质量是否达到需求书的要求,是否符合工程的设计要求等。验收测试是以用户为主的测试。验收测试是依据软件开发商和用户之间的合同、软件需求说明书以及相关行业标准、国家标准、法律法规等的要求对软件的功能、性能、可靠性、易用性、可维护性、可移植性等特性进行严格的测试。本章重点讨论以下内容:验收测试的条件、目的和涉及到的文档;用户应用系统的验收测试;外包软件的验收测试;验收测试的组织过程;验收测试内容;文档验收;交付物清单。,15.1 验收测试的条件、目的和涉及到的文档,验收测试是一个过程,是一个以用户为主的测试。一般,验收测试是在软件系统测试结束以及软件配置审查之后开始的,验收测试应由用户、测试人员、软件开发人员和质量保证人员一起参与,验证软件系统的功能和性能及其它特性是否与用户的要求一致。,15.1.1 验收测试的首要条件验收测试的首要条件有以下几点:1 软件开发已经完成,并全部解决了已知的软件缺陷;2 验收测试计划已经过评审并批准,并且置于文档控制之下;3 对软件需求说明书的审查已经完成;4 对概要设计、详细设计的审查已经完成;5 对所有关键模块的代码审查已经完成;6 对单元、集成、系统测试计划和测试报告的审查已经完成;7 所有的测试脚本已完成,并至少执行过一次,且通过评审;8 使用配置管理工具且代码置于配置控制之下;9 软件问题处理流程已经就绪;10新系统已通过尝试运行工作;11所被测的新系统应该是稳定的,符合技术文档和标准的规定;12已经制定、评审并批准验收测试完成标准;13合同、附件规定的各类文档齐全。,15.1.2 验收测试的目的验收测试的目的主要是:新建系统产品是否是按照用户需求开发的,体验该产品是否能够满足用户使用要求、有没有达到原设计水平、完成的功能怎样;对照合同的需求进行验收测试,是否符合双方达成的共识;新建系统产品的可靠性和可维护性好不好?新建系统产品通过运行的结果表明,对业务处理的能力;新建系统产品对用户操作的容错能力;新建系统产品新系统对系统运行时发生故障的恢复能力;承建单位向业主单位提交的有关技术资料是否俱全。,15.13 验收测试的过程验收测试的主要过程是:验收测试人员要了解软件功能和性能要求、软硬件环境要求;验收测试人员要了解要了解软件的质量要求和验收要求;验收测试人员要编制验收测试计划,根据软件需求和验收要求编制测试计划,制定需测试的测试项;验收测试人员要编制项目验收准则,制定测试策略及验收通过准则,并经过客户参与的计划评审。验收测试人员要测试用例设计,根据验收测试计划和项目验收准则编制测试用例,并经过评审。验收测试人员要测试环境搭建,建立测试的硬件环境、软件环境等。测试实施:测试并记录测试结果。验收测试人员要分析测试结果分析,根据验收通过准则分析测试结果,作出验收是否通过及测试评价。测试报告,根据测试结果编制验收测试报告,并提交给客户。,15.1.4 验收测试的主要内容新建系统产品已通过单元测试、功能测试、网络测试、软件安装测试、性能测试、集成测试、系统测试的测试阶段,在验收测试这一阶段主要内容是:(1)软件是否满足合同规定的所有功能和性能?(2)文档资料是否完整?(3)对功能测试、网络测试、软件安装测试、性能测试、集成测试、系统测试的测试用例进行回归测试;(4)验收测试组依据系统设计说明书的内容,系统使用说明书,系统维护手册在新建系统产品演示一遍,捕捉不足之处。要做到:新建系统产品是否运行正常,达到预定的目标;各个子系统是否运行正常,达到预定的目标;各个功能模块是否运行正常,达到预定的目标;照系统使用说明书上所说的方法去做能否实现;按照系统维护手册上所说的方法去做,能否实现;测试文档验收,测试过程文档是否齐全,可信,符合标准;测试评估,从总体对测试的质量进行评估;测试建议,对本次测试工作指出不足,需要在以后工作中改进的地方。,15.1.5 验收测试过程中测试的文档验收测试过程中测试的文档主要有:文档测试内容文档测试主要内容是:将文档同程序相比较,看是否有不相符的情况;检查文档的流程图是否跟程序一致;检查文档是否有错字或不符合语法规范的地方;程序的帮助文档要说明准确、通俗易懂、不用专业术语、且操作步骤要符合程序的要求;文档要图文并茂,易于理解;对文档要进行完整性、正确性、一致性、易理解性、易浏览性、版本统一性校验。,测试过程涉及到的文档测试过程涉及到的文档主要包括以下文档:测试任务说明书;测试计划说明书;测试用例说明书;测试报告说明书;测试总结说明书;测试验收说明书;缺陷跟踪报告说明书。,15.1.6 验收测试的设计思路 1.验收测试由3大部分组成:(1)软件配置审核;(2)可执行程序测试;(3)验收测试分用户应用系统的验收测试和外包软件的验收测试。,2验收测试的要点主要有:(1)对文档进行审核;(2)对源代码进行审核;(3)对配置进行审核;(4)对测试程序或脚本进行审核;(5)对可执行程序进行测试;(6)按照系统需求说明书对系统进行评审。,3.验收测试要注意的要点验收测试要注意如下两点:(1)在用户方进行验收测试之前,开发方应对软件的进行了全面的正式测试;(2)用户在接收时,开发方提供的测试报告内容和审核报告应齐全。,15.2 用户应用系统的验收测试用户应用系统的验收测试(或称验收)是系统开发机构向用户移交系统时履行的正式手续,也是用户对新系统的认可。尽管许多单位把验收和鉴定(或也有的人称系统评价)结合在一起进行,但验收和鉴定还是有区别的。验收是用户对开发工作的认可,验收要检查新系统功能是否达到要求的设计水平,新系统能否正常运转等。只有通过验收,才能投人正常运行。鉴定是对开发工作作出评价。由专家、教授组成鉴定小组,用户可以向鉴定小组客观反映使用情况,鉴定小组组织人员对新系统进行全面的(技术性能、经济效益、使用价值)考验,鉴定组要写出鉴定书提交上级主管部门备案。,15.2.1 验收工作新系统投入试运行工作结束后,用户应组织人员对开发的新系统进行验收,完成开发单位向用户转交的手续。1 验收的目标 新系统经过一段时间运行后,有没有达到原设计要求?完成的功能怎样?新系统的可靠性和可维护性好不好?新系统对业务处理的能力。新系统对用户操作的容错能力。新系统对发生故障的恢复能力。开发单位向用户提交的有关技术资料是否齐全。,2 验收任务验收小组的任务就是依据系统设计说明书、系统使用说明书和系统维护手册对新系统演示一遍,以确认:整个系统是否运行正常,达到预定目标。各个子系统是否运行正常,达到预定目标。各个功能模块是否运行正常,达到预定目标。使用和维护是否能实现。,15.22 验收报告验收报告,也称为用户使用报告或用户报告,它的主要内容如下:(1)引言 软件名称、用户单位、研制单位 运行环境 操作人员 使用起止日期(2)使用情况 精度 效率 功能 差错(3)系统评价 用户需求满足程度 经济效益或社会效益 使用方便程度 系统可靠性 用户对系统的评价(4)用户的希望和要求,15.2.3 鉴定工作程序和文档资料1 鉴定组织工作鉴定工作由开发单位和用户单位共同组织完成。其工作程序如下:邀请有关专家、教授组成鉴定小组和考核小组,拟出鉴定小组成员名单(注明姓名、工作单位、专业、职称)。要求开发单位写出研究报告,供鉴定会宣读。要求用户单位写出验收报告(或用户使用报告),供鉴定会宣读。要求开发单位写出技术报告,供鉴定会宣读。要求开发单位准备好鉴定要用到的技术文档资料。组织鉴定考核小组进入现场测试。要求鉴定考核小组写出鉴定测试报告,供鉴定会宣读。要求鉴定考核小组写出测试结论报告,供鉴定会宣读。要求考核小组拟出鉴定书草案。确定鉴定会地址、时间、参加人员,并发出邀请信。,2 鉴定测试报告主要内容鉴定考核小组的工作是一项非常严肃认真的工作,它负责向鉴定会提供鉴定测试报告、测试结论报告和鉴定书草案。鉴定测试报告的主要内容如下:(1)鉴定小组成员姓名、职务、职称、专业、工作单位(2)考核小组组成和职责 组成人员(由鉴定小组委托)姓名、职务、职称、专业、工作单位。考核职责和工作分工(3)系统总体测试大纲 系统设计的科学性与完善性 系统功能完整性与可扩充性 软件的实用性 软件技术的复杂性与先进性 系统安全性与可靠性 用户界面,(4)系统技术资料规范化、完整性审查1)文档资料的管理 过程文档过程文档是指记录软件项目开发和维护过程的文档资料,项目的计划、进度、过程质量、组织及项目标准等都是过程文档。过程文档可以分为:软件项目计划、预测和进度安排文档.这些文档由项目经理负责产生,以便预测和控制软件的开发过程。相关报告.相关报告文档用来报告在软件开发过程中,资源是如何分配和利用的。标准报告.标准报告文档规定了软件过程应该如何实现,这些可以是国际标准、国家标准、行业标准等。工作文档.工作文档是在项目开发中最主要的交流沟通工具,记录了软件项目开发中软件工程师的想法等。备忘录.备忘录主要记录了每天项目经理和开发人员之间的详细交流信息。产品文档是指描述正在开发的产品的资料,主要以客户为对象描述产品的用户文档。,产品文档产品文档可以分为用户文档和系统文档。用户文档系统功能描述;初级使用手册;系统参考手册;系统安装文档;系统管理员手册.系统文档 需求文档及相关的基本原理说明;系统体系结构文档;对系统的每一个程序,都有相应的程序体系结构文档;每个子系统的规范和设计说明书;程序代码列表(包括程序注释、用来解释代码中复杂代码段和采用的编码方法等);描述每个程序怎样验证和验证信息与需求之间关系的验证文档。维护指导文档(主要描述系统已知的问题、软件支持、硬件支持等信息,以便维护时使用)。,2)磁带磁盘的资料管理磁带磁盘载体的资料如计算机磁带、软磁盘、录像带、录音带。磁带磁盘载体的资料应一式两份,与相应的纸质文件同时积累并进行登记;同一盘(带)中存放多份文件的应建立磁性载体文件目录清单(格式见表1);载体文件的更改、版本更新通知都应积累、登记;磁性载体文件必须是可读文件。必须在有关的设备上演示或检测,运转正常,无病毒,清洁,无划伤,确保文件的完整性和内容的准确性;磁带(软磁盘)必须贴上标签,简要说明带(盘)中存贮文件的内容、运行的软、硬件环境、版本号、文件的完整性和准确性等;磁性载体档案中的一份作为保存件,不得外借;应建立磁性载体档案的借阅制度,严格执行借阅审批手续;借阅和归还磁性载体档案时,按规定进行质量检查、验收;归档的磁带(软磁盘)必须贴上标签。磁带(软磁盘)套、盒上需标注带(盘)编号、档号、软件名称、版本号、文件数、密级、编制人、编制日期等标识;录像带盒上需标注带编号、档号、片名、放映时间、摄制单位、摄制日期、规格、制式、语别,密级等标识;录音带盒上需标注带编号、档号、讲话人姓名、职务、主要内容和录录制日期、密级、讲话时间等;长期贮存的磁性载体库房要求温、湿度变化范围:应在温度15-27。、相对湿度40一60%范围内、在24小时内温度变化不得超过士3、相对湿度变化不得超过士5%;库房要清洁、防水、防火、防磁。,3 测试结论报告主要内容 测试依据(依据系统总体测试大纲)测试环境、设备、内容 测试结果 测试结论4 鉴定书草案主要内容 技术先进性 经济效益和社会效益 系统内在质量 系统是否具有推广价值 建议 鉴定小组成员,5 研究报告和技术报告主要内容(1)研究报告主要内容1)研究概况 项目名称、用户单位、研制协作单位 研究背景,开发的作用和意义 技术要求 研究时间2)研制过程3)研制过程中的经验与教训4)对未来的设想(2)技术报告主要内容1)系统概述2)系统构成 硬件环境 软件环境3)应用系统概论 总体结构 系统功能和性能 系统业务流程 工作方式4)采用的技术 原有的技术 采用的新技术 新技术的优缺点5)试运行分析 新系统达到的技术指标 存在的问题 自我评价,6 向鉴定考核小组提供的审变材料和鉴定材料 立项申请报告 系统分析说明书 可行性分析报告 系统设计说明书 程序设计说明书 系统测试报告书 系统运行手册 系统维护手册 系统验收报告书 系统功能图 系统业务流程图 数据文件结构图 数据文件代码本 程序流程图 IPO图 计算机方案选择报告,7 鉴定会会议程序鉴定会会议程序一般由各单位自己拟定,这里提供软件库鉴定会会议程序供读者参考。主持人讲话,宣布开会 宣布技术鉴定委员会名单、领导小组名单、开发单位、用户单位、主要开发人员名单 宣读研究报告(开发单位)宣读技术报告(开发单位)宣读测试报告(鉴定考核小组)宣读用户报告(用户验收报告)演示 宣读鉴定报告,15.3外包软件的验收测试,外包软件的验收测试事实上是根据应用对象或产品对象被分为:非正式验收测试和正式验收测试。外包软件的验收测试的策略通常建立在合同需求和公司标准的基础上。外包软件的验收测试同样需要制订测试计划、测试过程和测试用例,重点考虑软件是否满足合同规定的所有功能和性能?文档资料是否完整?人机界面是否令用户满意?外包软件开发人员不可能完全预见用户实际使用程序的情况如,用户可能错误的理解命令,或提供一些奇怪的数据组合,亦可能对设计者自认明了的输出信息迷惑不解等,因此,要对外包软件的验收测试。外包软件验收测试的结果有可能两种:功能和性能指标满足软件需求说明的要求,用户接受;功能和性能指标不满足软件需求说明的要求,用户不接受。外包软件的验收测试要做好软件配置和配置审核;非正式验收测试;正式验收测试.,15.3.1 外包软件验收测试的软件配置和配置审核软件配置和配置审核是外包验收测试的重要环节。在进行外包软件验收测试之前,必须保证所有软件配置项都能进入验收测试,只有这样才能保证最终交付给用户的软件产品完整性和有效性。,1.软件配置对于一个外包的软件项目而言,软件承包方通常要提供的软件配置:1)程序和脚本 程序和脚本主要有:可执行程序;源程序;配置脚本;测试程序或脚本。,2)开发类文档开发类文档主要有:需求分析说明书;概要设计说明书;详细设计说明书;数据库设计说明书;测试计划;测试报告;程序维护手册;程序员开发手册;用户操作手册;项目总结报告。,3)管理文档管理文档主要有:项目计划书;质量控制计划;配置管理计划;用户培训计划;质量总结报告;评审报告会议记录;开发进度月报。4)系统维护文档 系统维护手册。,2.配置审核 对软件承包方提供的软件配置审核,通常软件配置审核过程分为5个步骤:计划;预备会议(预备会议是对审核内容进行介绍并讨论);准备阶段(责任人事先审核并记录发现的问题);审核会议(最终确定工作产品中包含的错误和缺陷);问题追踪。审核的基本目标是:根据共同制定的审核表,尽可能地发现被审核内容中存在的问题,并最终得到解决。在根据相应的审核表进行文档审核和源代码审核时,还要注意文档与源代码的一致性。,15.3.2 非正式验收测试外包软件的非正式验收测试过程分为(Alpha)测试和(Beta)测试。在非正式验收测试中,执行测试过程的限定不象正式验收测试中那样严格,方法不象正式验收测试那样组织有序,而且更为主观。1 测试测试是用户在开发环境下的测试,或者是开发公司组织内部人员模拟各类用户行对即将面市软件产品进行的测试,由开发人员或测试人员进行的测试。测试没有正式验收测试那样严格,在测试中,主要是对使用的功能和任务进行确认,测试的内容由用户需求说明书决定。测试试图发现软件产品的错误。,Alpha测试的优点有:要进行验收测试的软件的功能和特性都是已知的;可以对软件的验收测试过程进行评价;对进行测试软件的要求是已知的;Alpha验收与正式验收的测试相比,可能会发现由其他原因而出现更多的缺陷。Alpha测试的不足之处:可能在测试的过程中无法控制系统所使用的用例;在测试过程中如果按照系统的工作方式可能无法发现系统存在的缺陷;测试过程中用户的着重点可能在新系统上,而不注意查找系统运行时可能存在的缺陷。,Beta 测试 经过测试调整后的软件产品称为(Beta)版本。版本的产品是典型用户在日常工作中实际试用的版本。要求典型用户报告异常情况、提出批评意见。然后软件开发公司再对版本进行改错和完善(一般包括功能、性能、可靠性、易用性、可扩充性、兼容性、效率、资源占用率、人机界面、用户文档方面)。对版本进行改错和完善后进行的测试。各测试员负责创建自己的环境、选择数据,并决定要研究的功能、特性或任务。各测试员负责确定自己对于系统当前状态的接受标准。测试由最终用户实施,开发组织的测试员负责创建自己的环境、选择数据,并决定要研究的功能、特性或任务,采用的方法完全由测试员决定。进行Beta 测试时,各测试员应负责创建自己的测试环境、选择数据,决定要研究的功能、特性或任务,并负责确定自己对于系统当前状态的接受标准。,测试的优点:测试是由试用的用户报告异常情况、提出批评意见,然后软件开发公司再对版本进行改错和完善进行的测试。有大量潜在的测试资源。通过试用用户的参与,提高客户对软件产品的满意程度。试用的用户可以发现更多由主观原因造成的缺陷。测试的缺点:未对所有功能和性能进行测试。测试流程难以评测。试用的用户可能发现缺陷不报告。试用的用户可能不是专注于查找缺陷。用于验收测试的资源不受项目的控制。验收测试测试员有没有测试?需要更多辅助性资源来管理 验收测试测试员。,15.3.3 正式验收测试正式验收测试是系统测试的后续,也就是说正式测试的测试工作和系统测试差不多,测试计划和测试用例设计都应很详细,在这个测试过程中应用的测试用例应是系统测试的用例的子集,不能对系统的测试方向有所偏离,在很多测试过程中,正式验收是自动进行测试的。正式验收测试的优点是:要进行验收测试的软件的功能和特性都是已知的;可以对测试的过程进行评测;正式验收测试可以自动进行测试;对软件的要求是由用户需求说明书所决定的。但正式验收测试也有以下不足:进行正式验收测试需要大量的资源和计划;正式验收测试可能和系统测试差不多;正式验收测试过程中可能不能发现某些缺陷。,15.4 验收测试的组织过程,验收测试的组织过和主要包括了如下内容。15.4.1 验收测试组织方案 组织方案:(1)验收测试时间;(2)测试地点;(3)验收测试环境;(4)人员安排。,15.4.2 项目进度审核(1)项目实施进度情况;项目实施进度情况如表15-1所示。(2)项目合同变更情况;(3)项目需求变更情况;(4)项目投资结算情况。项目投资结算情况如表15-2所示。,15.4.3 验收测试计划 1.验收测试原则:审查提供验收的各类文档的正确性、完整性和统一性,审查文档是否齐全、合理;审查项目功能是否达到了合同规定的要求;审查项目有关服务指标是否达到了合同的要求;审查项目投资以及实施进度的情况;对项目的技术水平做出评价,并得出项目的验收结论。,2.验收测试方式:记录项目验收的组织方式和参与验收工作的人员情况如表15-3所示。,15.5验收测试内容,验收测试的内容有以下几个方面:155.1 验收测试的要点 流程测试;边界值测试;容错性测试;异常测试;安装测试;易用性测试;界面测试;接口测试;配置测试;测试环境;文件传输测试;数据导入导出测试;安全性和访问控制测试;性能测试;压力测试;兼容性测试;升级测试;功能测试;单元测试;集成测试;系统测试;回归测试;运行测试;文档测试。,155.2 测试结果及缺陷分析 覆盖分析 需求覆盖分析需求覆盖率是指经过测试的需求/功能和需求规格说明书中所有需求/功能的比值,通常情况下要达到100的目标。需求/功能测试如表15-4所示。,15.5.3 项目验收情况汇总1.项目验收情况汇总表 项目验收情况汇总表如表15-5所示。2 项目验收附件明细 软件平台验收单;功能模块验收单;项目文档验收单;硬件设备验收单。3.专家组验收意见 4.项目验收结论 专家组给出结论,如哪些产品通过验收,哪些产品没有通过验收。(1)开发单位结论;(2)建设单位结论。5验收结果汇总验收结果汇总如表15-6所示。,6.附件 附件一:软件平台验收单;附件二:功能模块验收单;附件三:项目文档验收单;附件四:硬件设备验收单。,156 文档验收156.1 文档主要验收内容文档验收,文档验收主要内容如下:1)将文档同程序向比较,看是否具有不相符的情况;2)检查文档的截图是不是和程序一致;3)检查文档是否有错字或不符合语法规范的地方;4)程序的帮助文档说明要准确、通俗易懂、不同专业术语且操作步骤必须符合程序要求;5)对文档要进行完整性、正确性、一致性、易理解性、易浏览型、版本统一性校验等。,156.2 验收过程涉及到的一些文档 验收过程中涉及到文档主要包括以下内容:项目任务说明书;项目计划说明书;项目需求规格说明书;项目测试用例的说明书;项目用户手册;项目维护手册。,157 交付物清单1571 乙方提供给甲方的项目交付物清单1乙方提供给甲方项目交付物清单的要求1)乙方提供的交付物是项目的工作成果,交由客户方验收和备份保管。2)交付物为:源代码、手册、需求规格说明书、设计文档、项目计划等。2乙方提供给甲方的项目交付物清单 乙方提供给甲方的项目交付物清单如表15-7所示。,1572 项目交付培训 1项目培训说明1)在定项目培训计划时,有些培训内容可能不是特别明确,只能给出一个大概的计划。随着项目的进行,计划会逐渐明确。2)培训的时间:不一定是具体的日期,可以以某个事件为基准的计划事件。3)培训的场所:可能不能准确到具体的会议室,但可以定下来是在客户方、开发方或者另外的一个地点。4)培训资料:可能仅仅是说明要有PPT文档,纸质资料等。5)培训所需设备:如投影仪,如果要演示,可能需要演示用的机器。2项目交付培训项目交付培训如表15-8所示。,1573 其他交付工作其他交付工作如表15-9所示。表15-9其他交付工作表验收测试常用的模板请参见本书第22 章的2216 验收测试写作模板。,第 15 讲 完 谢 谢!,