还剩15页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
软件测试计划文档编号文档名称编写审核批准批准日期目录TOC\o1-3\h\z1简介
31.1目的
31.2背景
31.3范围
31.4项目标识32测试需求43测试策略
43.1测试类型
53.
1.1数据和数据库完整性测试
53.
1.2功能测试
53.
1.3业务周期测试
63.
1.4用户界面测试
63.
1.5性能评价
73.
1.6负载测试
83.
1.7强度测试
83.
1.8容量测试
93.
1.9安全性和访问控制测试
103.
1.10故障转移和恢复测试
113.
1.11配置测试
123.
1.12__测试
133.2工具144资源
144.1角色
144.2系统155项目里程碑166可交付工件
166.1测试日志
166.2缺陷报告167附录A项目任务161简介
1.1目的项目名称的这一“测试计划”文档有助于实现以下目标•[确定现有项目的信息和应测试的软件构件•列出推荐的测试需求(高层次)•推荐可采用的测试策略,并对这些策略加以说明•确定所需的资源,并对测试的工作量进行估计•列出测试项目的可交付元素
1.2背景[输入测试对象(组件、应用程序、系统等)及其目标的的简要说明需要包括的信息有主要的功能和特性、测试对象的构架以及项目的简史本节应该只包含3至5个段落]
1.3范围[描述测试的各个阶段,例如单元测试、集成测试或系统测试,并说明本计划所针对的测试类型(如功能测试或性能测试)简要地列出测试对象中将接受测试或将不接受测试的那些特性和功能如果在编写此文档的过程中作出的某些假设可能会影响测试设计、__或实施,则列出所有这些假设列出可能会影响测试设计、__或实施的所有风险或意外__列出可能会影响测试设计、__或实施的所有约束]
1.4项目标识下表列出了制定测试计划所用的文档,并标明了文档的可用性[注可以视情况删除或添加项目]文档(版本/日期)已创建或可用已被接受或已经过复审__或来源备注需求规约是否是否功能性规约是否是否用例报告是否是否项目计划是否是否设计规约是否是否原型是否是否用户手册是否是否业务模型或业务流程是否是否数据模型或数据流是否是否业务功能和业务规则是否是否项目或业务风险评估是否是否2测试需求下面列出了那些已被确定为测试对象的项目(用例、功能性需求和非功能性需求)此列表说明了测试的对象[在此处输入一个主要测试需求的高层次列表]3测试策略[测试策略提供了推荐用于测试对象的方法上一节“测试需求”中说明了将要测试哪些对象,而本节则要说明如何对测试对象进行测试对于每种测试,都应提供测试说明,并解释其实施和执行的原因如果不实施和执行某种测试,则应该用一句话加以说明,并陈述这样做的理由例如,“将不实施和执行该测试该测试不合适”制定测试策略时所考虑的主要事项有将要使用的方法以及判断测试何时完成的标准下面列出了在进行每项测试时需考虑的事项,除此之外,测试还只应在安全的环境中使用已知的、受控的数据库来执行]
3.1测试类型用列表的方式(例如IPO表即输入、处理、输出表的形式),逐项定量和定性地叙述对软件所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明软件应支持的终端数和应支持的并行操作的用户数
3.
1.1数据和数据库完整性测试[数据库和数据库进程应作为项目名称中的子系统来进行测试在测试这些子系统时,不应将测试对象的用户界面用作数据的接口对于数据库管理系统DBMS,还需要进行深入的研究,以确定可以支持以下测试的工具和方法]测试目标[确保数据库访问方法和进程正常运行,数据不会遭到损坏]方法[调用各个数据库访问方法和进程,并在其中填充有效的和无效的数据或对数据的请求检查数据库,确保数据已按预期的方式填充,并且所有数据库__都按正常方式出现;或者检查所返回的数据,确保为正当的理由检索到了正确的数据]完成标准[所有的数据库访问方法和进程都按照设计的方式运行,数据没有遭到损坏]需考虑的特殊事项[测试可能需要DBMS__环境或驱动程序以便在数据库中直接输入或修改数据进程应该以手工方式调用应使用小型或最小的数据库(其中的记录数很有限)来使所有无法接受的__具有更大的可见性]
3.
1.2功能测试[测试对象的功能测试应该侧重于可以被直接追踪到用例或业务功能和业务规则的所有测试需求这些测试的目标在于核实能否正确地接受、处理和检索数据以及业务规则是否正确实施这种类型的测试基于黑盒方法,即通过图形用户界面GUI与应用程序交互并分析输出结果来验证应用程序及其内部进程以下列出的是每个应用程序推荐的测试方法概要]测试目标[确保测试对象的功能正常,其中包括导航、数据输入、处理和检索等]方法[利用有效的和无效的数据来执行各个用例、用例流或功能,以核实以下内容在使用有效数据时得到预期的结果在使用无效数据时显示相应的错误消息或警告消息各业务规则都得到了正确的应用]完成标准[所计划的测试已全部执行所发现的缺陷已全部解决]需考虑的特殊事项[确定或说明那些将对功能测试的实施和执行造成影响的事项或因素(内部的或外部的)]
3.
1.3业务周期测试[业务周期测试应模拟在一段时间内对项目名称执行的活动应先确定一段时间(例如一年),然后执行将在该时段内发生的事务和活动这种测试包括所有的每日、每周和每月的周期,以及所有与日期相关的__(如___)]测试目标[确保测试对象及后台进程都按照所要求的业务模型和时间表正确运行]方法[通过执行以下活动,测试将模拟若干个业务周期将修改或增强对测试对象进行的功能测试,以增加每项功能的执行次数,从而在指定的时段内模拟若干个不同的用户将使用有效的和无效的日期或时段来执行所有与时间或日期相关的功能将在适当的时候执行或启动所有周期性出现的功能在测试中还将使用有效的和无效的数据,以核实以下内容在使用有效数据时得到预期的结果在使用无效数据时显示相应的错误消息或警告消息各业务规则都得到了正确的应用完成标准[所计划的测试已全部执行所发现的缺陷已全部解决}需考虑的特殊事项[系统日期和__可能需要特殊的支持活动需要通过业务模型来确定相应的测试需求和测试过程]
3.
1.4用户界面测试[通过用户界面UI测试来核实用户与软件的交互UI测试的目标在于确保用户界面向用户提供了适当的访问和浏览测试对象功能的操作除此之外,UI测试还要确保UI功能内部的对象符合预期要求,并遵循公司或行业的标准]测试目标[核实以下内容通过浏览测试对象可正确反映业务的功能和需求,这种浏览包括窗口与窗口之间、字段与字段之间的浏览,以及各种访问方法(Tab健、鼠标__和快捷键)的使用窗口的对象和特征(例如菜单、大小、位置、状态和中心)都符合标准]方法[为每个窗口创建或修改测试,以核实各个应用程序窗口和对象都可正确地进行浏览,并处于正常的对象状态]完成标准[证实各个窗口都与基准版本保持一致,或符合可接受标准]需考虑的特殊事项[并不是所有定制或第三方对象的特征都可访问]
3.
1.5性能评价[性能评价是一种性能测试,它对响应时间、事务处理速率和其他与时间相关的需求进行评测和评估性能评价的目标是核实性能需求是否都已满足实施和执行性能评价的目的是将测试对象的性能行为当作条件(例如工作量或硬件配置)的一种函数来进行评价和微调注以下事务均指“逻辑业务事务”这种事务被定义为将由系统的某个主角通过使用测试对象来执行的特定用例,例如,添加或修改某个合同]测试目标[核实所指定的事务或业务功能在以下情况下的性能行为正常的预期工作量预期的最繁重工作量]方法[使用为功能或业务周期测试制定的测试过程通过修改数据文件来增加事务数量,或通过修改脚本来增加每项事务的迭代次数脚本应该在一台计算机上运行(最好是以单个用户、单个事务为基准),并在多台客户机(虚拟的或实际的客户机,请参见下面的“需考虑的特殊事项”)上重复]完成标准[单个事务或单个用户在每个事务所预期或要求的时间范围内成功地完成测试脚本,没有发生任何故障][多个事务或多个用户在可接受的时间范围内成功地完成测试脚本,没有发生任何故障]需考虑的特殊事项[综合的性能测试还包括在服务器上添加后台工作量可采用多种方法来执行此操作,其中包括直接将“事务强行分配到”服务器上,这通常以“结构化查询语言”SQL调用的形式来实现通过创建“虚拟的”用户负载来模拟许多个(通常为数百个)客户机此负载可通过“远程终端仿真”RemoteTerminalEmulation工具来实现此技术还可用于在网络中加载“流量”使用多台实际客户机(每台客户机都运行测试脚本)在系统上添加负载性能测试应该在专用的计算机上或在专用的机时内执行,以便实现完全的控制和精确的评测性能测试所用的数据库应该是与实际大小相同或等比例缩放的数据库]
3.
1.6负载测试[负载测试是一种性能测试在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面][注以下事务均指“逻辑业务事务”这些事务被定义为将由系统的最终用户通过使用应用程序来执行的具体功能,例如,添加或修改某个合同]测试目标[核实所指定的事务或商业理由在不同的工作量条件下的性能行为时间]方法[使用为功能或业务周期测试制定的测试通过修改数据文件来增加事务数量,或通过修改测试来增加每项事务发生的次数]完成标准[多个事务或多个用户在可接受的时间范围内成功地完成测试,没有发生任何故障]需考虑的特殊事项[负载测试应该在专用的计算机上或在专用的机时内执行,以便实现完全的控制和精确的评测负载测试所用的数据库应该是与实际大小相同或等比例缩放的数据库]
3.
1.7强度测试[强度测试是一种性能测试,实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的强度测试还可用于确定测试对象能够处理的最大工作量][注以下提到的事务都是指逻辑业务事务]测试目标[核实测试对象能够在以下强度条件下正常运行,不会出现任何错误服务器上几乎没有或根本没有可用的内存(RAM和DASD)连接或模拟了最大实际(或实际可承受)数量的客户机多个用户对相同的数据/账户执行相同的事务最繁重的事务量或最差的事务组合(请参见上面的“性能测试”)注强度测试的目标还可表述为确定和记录那些使系统无法继续正常运行的情况或条件客户机的强度测试在“配置测试”的第
3.
1.11节中进行了说明]方法[使用为性能评价或负载测试制定的测试要对有限的资源进行测试,就应该在一台计算机上运行测试,而且应该减少或限制服务器上的RAM和DASD对于其他强度测试,应该使用多台客户机来运行相同的测试或互补的测试,以产生最繁重的事务量或最差的事务组合完成标准[所计划的测试已全部执行,并且在达到或超出指定的系统限制时没有出现任何软件故障,或者导致系统出现故障的条件并不在指定的条件范围之内]需考虑的特殊事项[如果要增加网络工作强度,可能会需要使用网络工具来给网络加载消息或信息包应该暂时减少用于系统的DASD,以限制数据库可用空间的增长使多个客户机对相同的记录或数据账户同时进行的访问达到同步]
3.
1.8容量测试[容量测试使测试对象处理大量的数据,以确定是否达到了将使软件发生故障的极限容量测试还将确定测试对象在给定时间内是否能够持续处理的最大负载或工作量例如,如果测试对象正在为生成一份报表而处理一组数据库记录,那么容量测试就会使用一个大型的测试数据库,检验该软件是否正常运行并生成了正确的报表]测试目标[核实测试对象在以下大容量条件下能否正常运行连接(或模拟了)最大(实际或实际可承受)数量的客户机,所有客户机在长时间内执行相同的、且情况(性能)最差的业务功能已达到最大的数据库大小(实际的或按比例缩放的),而且同时执行了多个查询或报表事务]方法[使用为性能评价或负载测试制定的测试应该使用多台客户机来运行相同的测试或互补的测试,以便在长时间内产生最繁重的事务量或最差的事务组合(请参见上面的“强度测试”)创建最大的数据库大小(实际的、按比例缩放的、或输入了代表性数据的数据库),并使用多台客户机在长时间内同时运行查询和报表事务]完成标准[所计划的测试已全部执行,而且在达到或超出指定的系统限制时没有出现任何软件故障]需考虑的特殊事项[对于上述的大容量条件,哪个时段是可以接受的时间?]
3.
1.9安全性和访问控制测试[安全性和访问控制测试侧重于安全性的两个关键方面应用程序级别的安全性,包括对数据或业务功能的访问系统级别的安全性,包括对系统的登录或远程访问应用程序级别的安全性可确保在预期的安全性情况下,主角只能访问特定的功能或用例,或者只能访问有限的数据例如,可能会允许所有人输入数据,创建新账户,但只有经理才能删除这些数据或账户如果具有数据级别的安全性,测试就可确保“用户类型一”能够看到所有客户信息(包括财务数据),而“用户二”只能看见同一客户的统计数据系统级别的安全性可确保只有具备系统访问权限的用户才能访问应用程序,而且只能通过相应的__来访问]测试目标应用程序级别的安全性[核实主角只能访问其所属用户类型已被授权使用的那些功能或数据]系统级别的安全性核实只有具备系统和应用程序访问权限的主角才能访问系统和应用程序]方法应用程序级别的安全性[确定并列出各用户类型及其被授权使用的功能或数据][为各用户类型创建测试,并通过创建各用户类型所特有的事务来核实其权限]修改用户类型并为相同的用户重新运行测试对于每种用户类型,确保正确地提供或拒绝了这些附加的功能或数据系统级别的访问[请参见下面的“需考虑的特殊事项”]完成标准[各种已知的主角类型都可访问相应的功能或数据,而且所有事务都按照预期的方式运行,并在先前的应用程序功能测试中运行了所有的事务]需考虑的特殊事项[必须与相应的网络或系统___一起对系统访问权进行检查和讨论由于此测试可能是网络管理或系统管理的职能,可能不需要执行此测试]
3.
1.10故障转移和恢复测试[故障转移和恢复测试可确保测试对象能成功完成故障转移,并从硬件、软件或网络等方面的各种故障中进行恢复,这些故障导致数据意外丢失或破坏了数据的完整性故障转移测试可确保对于必须始终保持运行状态的系统来说,如果发生了故障,那么备选或备份的系统就适当地将发生故障的系统“接管”过来,而且不会丢失任何数据或事务恢复测试是一种相反的测试流程其中,将应用程序或系统置于极端的条件下(或者是模仿的极端条件下),以产生故障,例如设备输入/输出I/O故障或无效的数据库指针和关健字启用恢复流程后,将监测和检查应用程序和系统,以核实应用程序或系统是正确无误的,或数据已得到了恢复]测试目标[确保恢复进程(手工或自动)将数据库、应用程序和系统正确地恢复到了预期的已知状态测试中将包括以下各种情况客户机断电服务器断电通过网络服务器产生的通信中断DASD和/或DASD控制器被中断、断电或与DASD和/或DASD控制器的通信中断周期未完成(数据过滤进程被中断,数据同步进程被中断)数据库指针或关键字无效数据库中的数据元素无效或遭到破坏]方法[应该使用为功能和业务周期测试创建的测试来创建一系列的事务一旦达到预期的测试起点,就应该分别执行或模拟以下操作客户机断电关闭PC的电源服务器断电模拟或启动服务器的断电过程通过网络服务器产生的中断模拟或启动网络的通信中断(实际断开通信线路的连接或关闭网络服务器或路由器的电源)DASD和DASD控制器被中断、断电或与DASD和DASD控制器的通信中断模拟与一个或多个DASD控制器或设备的通信,或实际取消这种通信一旦实现了上述情况(或模拟情况),就应该执行其他事务而且一旦达到第二个测试点状态,就应调用恢复过程在测试不完整的周期时,所使用的方法与上述方法相同,只不过应异常终止或提前终止数据库进程本身对以下情况的测试需要达到一个已知的数据库状态当破坏若干个数据库字段、指针和关键字时,应该以手工方式在数据库中(通过数据库工具)直接进行其他事务应该通过使用“应用程序功能测试”和“业务周期测试”中的测试来执行,并且应执行完整的周期]完成标准[在所有上述情况中,应用程序、数据库和系统应该在恢复过程完成时立即返回到一个已知的预期状态此状态包括仅限于已知损坏的字段、指针或关键字范围内的数据损坏,以及表明进程或事务因中断而未被完成的报表]需考虑的特殊事项[恢复测试会给其他操作带来许多的麻烦断开缆线连接的方法(模拟断电或通信中断)可能并不可取或不可行所以,可能会需要采用其他方法,例如诊断性软件工具需要系统(或计算机操作)、数据库和网络组中的资源这些测试应该在工作时间之外或在一__立的计算机上运行]
3.
1.11配置测试[配置测试核实测试对象在不同的软件和硬件配置中的运行情况在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同客户机工作站可能会__不同的软件例如,应用程序、驱动程序等而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源]测试目标[核实测试对象可在要求的硬件和软件配置中正常运行]方法[使用功能测试脚本在测试过程中或在测试开始之前,打开各种与非测试对象相关的软件(例如Microsoft应用程序Ex__l和Word),然后将其关闭执行所选的事务,以模拟主角与测试对象软件和非测试对象软件之间的交互重复上述步骤,尽量减少客户机工作站上的常规可用内存]完成标准[对于测试对象软件和非测试对象软件的各种组合,所有事务都成功完成,没有出现任何故障]需考虑的特殊事项[需要、可以使用并可以通过桌面访问哪种非测试对象软件?通常使用的是哪些应用程序?应用程序正在运行什么数据?例如,在Ex__l中打开的大型电子表格,或是在Word中打开的100页文档作为此测试的一部分,应将整个系统、Netware、网络服务器、数据库等都记录下来]
3.
1.12__测试[__测试有两个目的第一个目的是确保该软件能够在所有可能的配置下进行__,例如,进行首次__、升级、完整的或自定义的__,以及在正常和异常情况下__异常情况包括磁盘空间不足、缺少目录创建权限等第二个目的是核实软件在__后可立即正常运行这通常是指运行大量为功能测试制定的测试]测试目标核实在以下情况下,测试对象可正确地__到各种所需的硬件配置中首次__以前从未__过项目名称的新计算机更新以前__过相同版本的项目名称的计算机更新以前__过较早版本的项目名称的计算机方法[手工__脚本或__自动脚本,以验证目标计算机的状况新-项目名称从未__过;已__项目名称相同或较早版本)启动或执行__使用预先确定的功能测试脚本子集来运行事务]完成标准项目名称事务成功执行,没有出现任何故障需考虑的特殊事项[应该选择项目名称的哪些事务才能准确地测试出项目名称应用程序已经成功__,而且没有遗漏主要的软件构件?]
3.2工具此项目将使用以下工具[注可以视情况删除或添加项目]工具厂商/自行研制版本测试管理缺陷跟踪用于功能性测试的工具用于性能测试的工具测试覆盖监测器或评价器项目管理DBMS工具4资源[本节列出推荐项目名称项目使用的资源,及其主要职责、知识或技能]
4.1角色下表列出了在此项目的人员配备方面所作的各种假定[注可视情况删除或添加项目]人力资源角色推荐的最少资源(所分配的专职角色数量)具体职责或注释测试经理,测试项目经理进行管理监督职责提供技术指导获取适当的资源提供管理报告测试设计员确定测试用例、确定测试用例的优先级并实施测试用例职责生成测试计划生成测试模型评估测试工作的有效性测试员执行测试职责执行测试记录结果从错误中恢复记录变更请求测试系统___确保测试环境和资产得到管理和维护职责管理测试系统授予和管理角色对测试系统的访问权数据库___确保测试数据(数据库)环境和资产得到管理和维护职责管理测试数据(数据库)设计员确定并定义测试类的操作、属性和关联职责确定并定义测试类确定并定义测试包实施员实施测试类和测试包,并对它们进行单元测试职责创建在测试模型中实施的测试类和测试包
4.2系统下表列出了测试项目所需的系统资源[此时并不完全了解测试系统的具体元素建议让系统模拟生产环境,并在适当的情况下减小访问量和数据库大小][注可以视情况删除或添加项目]系统资源资源名称/类型数据库服务器—网络或子网TBD—服务器名服务器名TBD—数据库名TBD客户端测试PC—包括特殊的配置需求TBD测试存储库—网络或子网TBD—服务器名服务器名TBD测试__PCTBD5项目里程碑[对项目名称的测试应包括上面各节所述的各项测试的测试活动应该为这些测试确定单独的项目里程碑,以通知项目的状态和成果]里程碑任务工作量开始日期结束日期制定测试计划设计测试实施测试执行测试评估测试6可交付工件[本节列出了将要创建的各种文档、工具和报告,及其创建人员、交付对象和交付时间]
6.1测试日志[说明用来记录和报告测试结果和测试状态的方法和工具]
6.2缺陷报告[本节确定用来记录、跟踪和报告测试中发生的意外情况及其状态的方法和工具]7附录A项目任务以下是一些与测试有关的任务制定测试计划确定测试需求评估风险制定测试策略确定测试资源创建时间表生成测试计划设计测试-准备工作量分析文档-确定并说明测试用例-确定并结构化测试过程-复审和评估测试覆盖实施测试记录或通过编程创建测试脚本确定设计与实施模型中的测试专用功能建立外部数据集执行测试-执行测试过程-评估测试的执行情况-恢复暂停的测试-核实结果-调查意外结果-记录缺陷评估测试-评估测试用例覆盖-评估代码覆盖-分析缺陷-确定是否达到了测试完成标准与成功标准。