1、软件测试筹划书封面修订历史记录版本日期AMD修订者阐明1.0XXXX年XX月XX(A-添加,M-修改,D-删除)目录1简介41.1目41.2背景41.3范畴42.测试参照文档和测试提交文档52.1测试参照文档52.2测试提交文档53.测试进度64.测试资源74.1人力资源74.2测试环境74.3测试工具75.系统风险、优先级86.测试方略96.1数据和数据库完整性测试96.2接口测试106.3集成测试116.4功能测试126.5顾客界面测试136.6性能评测146.7负载测试156.8强度测试166.9容量测试176.10安全性和访问控制测试186.11故障转移和恢复测试196.12配备测试2
2、16.13安装测试227.问题严重度描述238.附录:项目任务241 简介1. 1目项目名称这一“测试筹划”文档有助于实现如下目的:拟定既有项目信息和应测试软件构件。列出推荐测试需求(高档需求)。推荐可采用测试方略,并对这些方略加以阐明。拟定所需资源,并对测试工作量进行预计。列出测试项目可交付元素1. 2背景对测试对象(构件、应用程序、系统等)及其目的进行简要阐明。需要涉及信息有:重要功能和性能、测试对象构架以及项目简史。1.3范畴描述测试各个阶段(例如,单元测试、集成测试或系统测试),并阐明本筹划所针对测试类型(如功能测试或性能测试)。简要地列出测试对象中将接受测试或将不接受测试那些性能和功
3、能。如果在编写此文档过程中做出某些假设也许会影响测试设计、开发或实行,则列出所有这些假设。列出也许会影响测试设计、开发或实行所有风险或意外事件。列出也许会影响测试设计、开发或实行所有约束。2. 测试参照文档和测试提交文档2.1测试参照文档下表列出了制定测试筹划时所使用文档,并标明了各文档可用性:注:可恰本地删除或添加文档项。文档(版本/日期)已创立或可用已被接受或已通过复审作者或来源备注可行性分析报告是否是否软件需求定义是否是否软件系统分析(STD,DFD,CFD,DD)是否是否软件概要设计是否是否软件详细设计是否是否软件测试需求是否是否硬件可行性分析报告是否是否硬件需求定义是否是否硬件概要设
4、计是否是否硬件原理图设计是否是否硬件构造设计(包括PCB)是否是否FPGA设计是否是否硬件测试需求是否是否PCB设计是否是否USB驱动设计是否是否Tuner BSP 设计是否是否MCU设计是否是否模块开发手册是否是否测试时间表及人员安排是否是否测试筹划是否是否测试方案是否是否测试报告是否是否测试分析报告是否是否顾客操作手册是否是否安装指南是否是否2.2测试提交文档下面应当列出在测试阶段结束后,所有可提交文档3.测试进度测试活动筹划开始日期实际开始日期结束日期制定测试筹划设计测试集成测试系统测试性能测试安装测试顾客验收测试对测试进行评估产品发布4.测试资源4.1人力资源下表列出了在此项目人员配备
5、方面所作各种假定。注:可恰本地删除或添加角色项。角色所推荐至少资源(所分派专职角色数量)详细职责或注释4.2测试环境下表列出了测试系统环境软件环境(有关软件、操作系统等)硬件环境(网络、设备等)4.3测试工具此项目将列出测试使用工具:用途工具生产厂商/自产版本5.系统风险、优先级简要描述测试阶段风险和解决优先级6.测试方略测试方略提供了对测试对象进行测试推荐办法。对于每种测试,都应提供测试阐明,并解释其实行因素。制定测试方略时所考虑重要事项有:将要使用技术以及判断测试何时完毕原则。下面列出了在进行每项测试时需考虑事项,除此之外,测试还只应在安全环境中使用已知、有控制数据库来执行。注意:不实行某
6、种测试,则应当用一句话加以阐明,并陈述这样理由。例如,“将不实行该测试。该测试本项目不合用”。6.1数据和数据库完整性测试要项目名称中,数据库和数据库进程应作为一种子系统来进行测试。在测试这些子系统时,不应将测试对象顾客界面用作数据接口。对于数据库管理系统(DBMS),还需要进行进一步研究,以拟定可以支持如下测试工具和技术。测试目的:保证数据库访问办法和进程正常运营,数据不会遭到损坏测试范畴:技术:调用各个数据库访问办法和进程,并在其中填充有效和无效数据(或对数据祈求)。检查数据库,保证数据已按预期方式填充,并且所有数据库事件已正常发生;或者检查所返回数据,保证合法理由检索到了对的数据开始原则
7、:完毕原则:所有数据库访问办法和进程都按照设计方式运营,数据没有遭到损坏。测试重点和优先级:需考虑特殊事项:测试也许需要DBMS开发环境或驱动程序在数据库中直接输入或修改数据。进程应当以手工方式调用。应使用小型或最小数据库(记录数量有限)来使所有无法接受事件具备更大可视度。6.2接口测试测试目的保证接口调用对的性测试范畴:所有软件、硬件接口,记录输入输出数据技术:开始原则:完毕原则:测试重点和优先级:需考虑特殊事项:接口限制条件6.3集成测试集成测试重要目检测系统与否达到需求对业务流程及数据流解决与否符合原则,检测系统对业务流解决与否存在逻辑不严谨及错误,检测需求与否存在不合理原则及规定。此阶
8、段测试基于功能完毕测试。测试目的检测需求中业务流程,数据流对的性测试范畴:需求中明确业务流程,或组合不同功能模块而形成一种大功能。技术:运用有效和无效数据来执行各个用例、用例流或功能,以核算如下内容:在使用有效数据时得到预期成果。在使用无效数据时显示相应错误消息或警告消息。各业务规则都得到了对的应用。开始原则:在完毕某个集成测试时必要达到原则完毕原则:所筹划测试已所有执行。所发现缺陷已所有解决。测试重点和优先级:测试重点指在测试过程中需着重测试地方,优先级可以依照需求及严重来定需考虑特殊事项:拟定或阐明那些将对功能测试实行和执行导致影响事项或因素(内部或外部)6.4功能测试对测试对象功能测试应
9、侧重于所有可直接追踪到用例或业务功能和业务规则测试需求。这种测试目的是核算数据接受、解决和检索与否对的,以及业务规则实行与否恰当。此类测试基于黑盒技术,该技术通过图形顾客界面(GUI)与应用程序进行交互,并对交互输出或成果进行分析,以此来核算应用程序及其内部进程。如下为各种应用程序列出了推荐使用测试概要:测试目的保证测试功能正常,其中涉及导航,数据输入,解决和检索等功能。测试范畴:技术:运用有效和无效数据来执行各个用例、用例流或功能,以核算如下内容:在使用有效数据时得到预期成果。在使用无效数据时显示相应错误消息或警告消息。各业务规则都得到了对的应用。开始原则:完毕原则:测试重点和优先级:需考虑
10、特殊事项:拟定或阐明那些将对功能测试实行和执行导致影响事项或因素(内部或外部)6.5顾客界面测试顾客界面(UI)测试用于核算顾客与软件之间交互。UI测试目的是保证顾客界面会通过测试对象功能来为顾客提供相应访问或浏览功能。此外,UI测试还可保证UI中对象按照预期方式运营,并符合公司或行业原则。测试目的核算如下内容:通过测试进行浏览可对的反映业务功能和需求,这种浏览涉及窗口与窗口之间、字段与字段之间浏览,以及各种访问办法(Tab键、鼠标移动、和快捷键)使用窗口对象和特性(例如,菜单、大小、位置、状态和中心)都符合原则。测试范畴:技术:为每个窗口创立或修改测试,以核算各个应用程序窗口和对象都可对的地
11、进行浏览,并处在正常对象状态。开始原则:完毕原则:成功地核算出各个窗口都与基准版本保持一致,或符合可接受原则测试重点和优先级:需考虑特殊事项:并不是所有定制或第三方对象特性都可访问。6.6性能评测性能评测是一种性能测试,它对响应时间、事务解决速率和其她与时间有关需求进行评测和评估。性能评测目的是核算性能需求与否都已满足。实行和执行性能评测目是将测试对象性能行为当作条件(例如工作量或硬件配备)一种函数来进行评测和微调。注:如下所说事务是指“逻辑业务事务”。这种事务被定义为将由系统某个Actor通过使用测试对象来执行特定用例,添加或修改给定合同。测试目的核算所指定事务或业务功能在如下状况下性能行为
12、:正常预期工作量预期最繁重工作量测试范畴:技术:使用为功能或业务周期测试制定测试过程。通过修改数据文献来增长事务数量,或通过修改脚本来增长每项事务迭代数量。脚本应当在一台计算机上运营(最佳是以单个顾客、单个事务为基准),并在各种客户机(虚拟或实际客户机,请参见下面“需要考虑特殊事项”)上重复。开始原则:完毕原则:单个事务或单个顾客:在每个事务所预期时间范畴内成功地完毕测试脚本,没有发生任何故障。各种事务或各种顾客:在可接受时间范畴内成功地完毕测试脚本,没有发生任何故障。测试重点和优先级:需考虑特殊事项:综合性能测试还涉及在服务器上添加后台工作量。可采用各种办法来执行此操作,其中涉及:直接将“事
13、务强行分派到”服务器上,这普通以“构造化语言”(SQL)调用形式来实现。通过创立“虚拟”顾客负载来模仿许各种(普通为数百个)客户机。此负载可通过“远程终端仿真(Remote Terminal Emulation)工具来实现。此技术还可用于在网络中加载“流量”。使用多台实际客户机(每台客户机都运营测试脚本)在系统上添加负载。性能测试应当在专用计算机上或在专用机时内执行,以便实现完全控制和精准评测。性能测试所用数据库应当是实际大小或相似缩放比例数据库。6.7负载测试负载测试是一种性能测试。在这种测试中,将使测试对象承担不同工作量,以评测和评估测试对象在不同工作量条件下性能行为,以及持续正常运营能力
14、。负载测试目的是拟定并保证系统在超过最大预期工作量状况下仍能正常运营。此外,负载测试还要评估性能特性,例如,响应时间、事务解决速率和其她与时间有关方面。注:如下所说事务是指“逻辑业务事务”。这各事务被定义为将由系统某个最后顾客通过使用应用程序来执行特定功能,例如,添加或修改给定合同。测试目的核算所指定事务或商业理由在不同工作量条件下性能行为时间。测试范畴:技术:使用为功能或业务周期测试制定测试。通过修改数据文献来增长事务数量,或通过修改脚本来增长每项事务发生次数。开始原则:完毕原则:各种事务或各种顾客:在可接受时间范畴内成功地完毕测试,没有发生任何故障。测试重点和优先级:需考虑特殊事项:负载测
15、试应当在专用计算机上或在专用机时内执行,以便实现完全控制和精准评测。负载测试所用数据库应当是实际大小或相似缩放比例数据库。6.8强度测试强度测试是一种性能测试,实行和执行此类测试目是找出因资源局限性或资源争用而导致错误。如果内存或磁盘空间局限性,测试对象就也许会体现出某些在正常条件下并不明显缺陷。而其她缺陷则也许由于争用共享资源(如数据库锁或网络带宽)而导致。强度测试还可用于拟定测试对象可以解决最大工作量。注:如下提到事务都是指逻辑业务事务。测试目的核算测试对象可以在如下强度条件下正常运营,不会浮现任何错误:服务器上几乎没有或主线没有可用内存(RAM和DASD)连接或模仿了最大实际(实际容许)
16、数量客户机各种顾客对相似数据或帐户执行相似事务最繁重事务量或最差事务组合(请参见上面“性能测试”)。注:强度测试目的可表述为拟定和记录那些使系统无法继续正常运营状况或条件。客户机强度测试在“配备测试”第3.1.11节中进行了阐明。测试范畴:技术:使用为性能评测或负载测试制定测试。要对有限资源进行测试,就应当在一台计算机上运营测试,并且应当减少或限制服务器上RAM和DASD。对于其她强度测试,应当使用多台客户机来运营相似测试或互补测试,以产生最繁重事务量或最差事务组合。开始原则:完毕原则:所筹划测试已所有执行,并且在达到或超过指定系统限制时没有浮现任何软件故障,或者导致系统浮现故障条件并不在指定
17、条件范畴之内。测试重点和优先级:需考虑特殊事项:如果要增长网络工作强度,也许会需要使用网络工具来给网络加载消息或信息包。应当暂时减少用于系统DASD,以限制数据库可用空间增长。使各种客户机对相似记录或数据帐户同步进行访问达到同步。6.9容量测试容量测试使测试对象解决大量数据,以拟定与否达到了将使软件发生故障极限。容量测试还将拟定测试对象在给定期间内可以持续解决最大负载或工作量。例如,如果测试对象正在为生成一份报表而解决一组数据库记录,那么容量测试就会使用一种大型测试数据库。检查该软件与否正常运营并生成了对的报表。测试目的核算测试对象在如下高容量条件下能否正常运营:连接或模仿了最大(实际或实际容
18、许)数量客户机,所有客户机在长时间内执行相似、且状况(性能)最坏业务功能。已达到最大数据库大小(实际或按比例缩放),并且同步执行各种查询或报表事务。测试范畴:技术:使用为性能评测或负载测试制定测试。应当使用多台客户机来运营相似测试或互补测试,以便在长时间内产生最繁重事务量或最差事务组合(请参见上面“强度测试”)创立最大数据库大小(实际、按比例缩放、或填充了代表性数据数据库),并使用多台客户机在长时间内同步运营查询和报表事务。开始原则:完毕原则:所筹划测试已所有执行,并且达到或超过指定系统限制时没有浮现任何软件故障。测试重点和优先级:需考虑特殊事项:对于上述高容量条件,哪个时间段是可以接受时间?
19、6.10安全性和访问控制测试安全性和访问控制测试侧重于安全性两个核心方面:应用程序级别安全性,涉及对数据或业务功能访问。系统级别安全性,涉及对系统登录或远程访问。应用程序级别安全性可保证:在预期安全性状况下,Actor只能访问特定功能或用例,或者只能访问有限数据。例如,也许会容许所有人输入数据,创立新帐户,但只有管理员才干删除这些数据或帐户。如果具备数据级别安全性,测试就可保证“顾客类型一”可以看到所有客户消息(涉及财务数据),而“顾客二”看见同一客户记录数据。系统级别安全性可保证只有具备系统访问权限顾客才干访问应用程序,并且只能通过相应网关来访问。测试目的应用程序级别安全性:核算Actor只
20、能访问其所属顾客类型已被授权访问那些功能或数据。系统级别安全性:核算只有具备系统和应用程序访问权限Actor才干访问系统和应用程序。测试范畴:技术:应用程序级别安全性:拟定并列出各顾客类型及其被授权访问功能或数据。为各顾客类型创立测试,并通过创立各顾客类型所特有事务来核算其权限。修改顾客类型并为相似顾客重新运营测试。对于每种顾客类型,保证对的地提供或回绝了这些附加功能或数据。系统级别访问:请参见如下“需考虑特殊事项”。开始原则:完毕原则:各种已知Actor类型都可访问相应功能或数据,并且所有事务都按照预期方式运营,并在先前应用程序功能测试中运营了所有事务。测试重点和优先级:需考虑特殊事项:必要
21、与相应网络或系统管理员始终对系统访问权进行检查和讨论。由于此测试也许是网络管理可系统管理职能,也许会不需要执行此测试。6.11故障转移和恢复测试故障转移和恢复测试可可保证测试对象能成功完毕转移,并能从导致意外数据损失或数据完整性破坏各种硬件、软件可网络故障中恢复。故障转移测试可保证:对于必要持续运营系统,一旦发生故障,备用系统就将不失时机地“顶替”发生故障系统,以避免丢失任何数据或事务。恢复测试是一种对抗性测试过程。在这种测试中,将把应用程序或系统置于极端条件下(或者是模仿极端条件下),以产生故障(例如设备输入/输出(I/O)故障或无效数据库指针和核心字)。然后调用恢复进程并监测和检查应用程序
22、和系统,核算应用程序或系统和数据已得到了对的恢复。测试目的保证恢复进程(手工或自动)将数据库、应用程序和系统对的地恢复到预期已知状态。测试中将涉及如下各种状况:客户机断电服务器断电通过网络服务器产生通信中断DASD和/或DASD控制器被中断、断电或与DASD和/或DASD控制器通信中断周期未完毕(数据过滤进程被中断,数据同步进程被中断)。数据库指针或核心字无效数据库中数据元素无效或遭到破坏测试范畴:技术:应当使用为功能和业务周期测试创立测试来创立一系列事务。一旦达到预期测试起点,就应当分别执行或模仿如下操作: 客户机断电:关闭PC机电源。 服务器断电:模仿或启动服务器断电过程。 通过网络服务器
23、产生中断:模仿或启动网络通信中断(实际断开通信线路连接或关闭网络服务器或路由器电源)。 DASD和DASD控制器被中断、断电或与DASD和DASD控制器通信中断:模仿与一种或各种DASD控制器或设备通信,或实际取消这种通信。 一旦实现了上述状况(或模仿状况),就应当执行其她事务。并且一旦达到第二个测试点状态,就应调用恢复过程。 在测试不完整周期时,所使用技术与上述技术相似,只但是应异常终结或提前终结数据库进程自身。 对如下状况测试需要达到一种已知数据库状态。当破坏若干个数据库字段、指针和核心字时,应当以手工方式在数据库中(通过数据库工具)直接进行。其她事务应当通过使用“应用程序功能测试”和“业
24、务周期测试”中测试来执行,并且应执行完整周期。开始原则:完毕原则:在所有上述状况中,应用程序、数据库和系统应当在恢复过程完毕时及时返回到一种已知预期状态。此状态涉及仅限于已知损坏字段、指针或核心字范畴内数据损坏,以及表白进程或事务因中断面未被完毕报表。测试重点和优先级:需考虑特殊事项: 恢复测试会给其她操作带来许多麻烦。断开缆线连接办法(模仿断电或通信中断)也许并不可取或不可行。因此,也许会需要采用其她办法,例如诊断性软件工具。 需要系统(或计算机操作)、数据库和网络组中资源。 这些测试应当在工作时间之外或在一台独立计算机上运营。6.12配备测试配备测试核算测试对象在不同软件和硬件配备中运营状
25、况。在大多数生产环境中,客户机工作站、网络连接和数据库服务器详细硬件规格会有所不同。客户机工作站也许会安装不同软件例如,应用程序、驱动程序等并且在任何时候,都也许运营许多不同软件组合,从而占用不同资源。测试目的核算测试可在所需硬件和软件配备中正常运营。测试范畴:技术: 使用功能测试脚本。 在测试过程中或在测试开始之前,打开各种与非测试对象有关软件(例如Microsoft应用程序:Excel和Word),然后将其关闭。 执行所选事务,以模仿Actor与测试对象软件和非测试对象软件之间交互。 重复上述环节,尽量减少客户机工作站上常规可用内存。开始原则:完毕原则:对于测试对象软件和非测试对象软件各种
26、组合,所有事务都成功完毕,没有浮现任何故障。测试重点和优先级:需考虑特殊事项: 需要、可以使用并可以通过桌面访问哪种非测试对象软件? 普通使用是哪些应用程序? 应用程序正在运营什么数据?例如,在Excel中打开大型电子表格,或是在Word中打开100页文档。 作为此测试一某些,应将整修系统、Netware、网络服务器、数据库等都记录下来。6.13安装测试安装测试有两个目。第一种目是保证该软件在正常状况和异常状况不同条件下例如,进行初次安装、升级、完整或自定义安装都能进行安装。异常状况涉及磁盘空间局限性、缺少目录创立权限等。第二个目是核算软件在安装后可及时正常运营。这普通是指运营大量为功能测试制
27、定测试。测试目的核算在如下状况下,测试对象可对的地安装到各种所需硬件配备中: 初次安装。此前从未安装过项目名称新计算机 更新。此前安装过相似版本项目名称计算机 更新。此前安装过Project Name较早版本计算机测试范畴:技术: 手工开发脚本或开发自动脚本,以验证目的计算机状况初次安装项目名称从未安装过;项目名称安装过相似或较早版本。 启动或执行安装。 使用预先拟定功能测试脚本子集来运营事务。开始原则:完毕原则:项目名称事务成功执行,没有浮现任何故障。测试重点和优先级:需考虑特殊事项:应当选取项目名称哪些事务才干精确地测试出项目名称应用程序已经成功安装,并且没有漏掉重要软件构件?。7.问题严
28、重度描述问题严重度描述响应时间高例如使系统崩溃程序员在多长时间内改正此问题中低8.附录:项目任务如下是某些与测试关于任务: 制定测试筹划n 拟定测试需求n 评估风险n 制定测试方略n 拟定测试资源n 创立时间表n 生成测试筹划 设计测试n 准备工作量分析文档n 拟定并阐明测试用例n 拟定测试过程,并建立测试过程构造 复审和评估测试覆盖 实行测试n 记录或通过编程创立测试脚本n 拟定设计与实行模型中测试专用功能n 建立外部数据集 执行测试 执行测试过程 评估测试执行状况 恢复暂停测试 核算成果 调查意外成果 记录缺陷 对测试进行评估 评估测试用例覆盖 评估代码覆盖 分析缺陷 拟定与否达到了测试完毕原则与成功原则