智 网 科 技(杭州)有 限 公 司
AMERICAN SMART TECHNOLOGIES (HANGZHOU) CO., LTD 文档编号______________ 密 级______________ 项目名称:
文档名称:测试计划书 项目负责人: 项目开发人: 开发部门:
项目负责人_________ _____年_____月_____日 部门经理_________ _____年_____月_____日 主 管_________ _____年_____月_____日 智网科技(杭州)有限公司 测试计划书 项目名称 修订历史记录
日期 版本 说明 作者 批准 <日/月/年> 介 ........................................................... ................................................................................. 4 1.1 目 的 ...................................................................................................................................... 4 1.2 背 景 ...................................................................................................................................... 4 1.3 范 围 ...................................................................................................................................... 4 2. 测试需 求 .................................................................................................................................... 5 3. 测试策 略 .................................................................................................................................... 6 3.1 测试类 型.............................................................................................................................. 6 3.1.1总体组装测试类 型: .......................................................................................................... 6 3.1.1.1 数据和数据库完整性测 试......................................................................................... 6 3.1.1.2 功能测 试 .................................................................................................................... 6 3.1.1.3 业务周期测 试 ............................................................................................................ 8 3.1.1.4 用户界面测 试 ............................................................................................................ 9 3.1.1.5 性能评 测 .................................................................................................................. 10 3.1.1.6 负载测 试 .................................................................................................................. 11 3.1.1.7 强度测 试 .................................................................................................................. 12 3.1.1.8 容量测 试 .................................................................................................................. 13 3.1.1.9 安全性和访问控制测 试 .......................................................................................... 14 3.1.1.10 故障转移和恢复测 试 ............................................................................................ 15 3.1.1.11 配置测 试 ................................................................................................................ 17 3.1.1.12 安装测 试 ................................................................................................................ 18 3.1.2单元测试类 型 .................................................................................................................... 19 3.2 工 具 ......................................................................................................... ........................... 20 4. 资源配 置 .................................................................................................................................. 20 5. 测试进度 表 .............................................................................................................................. 20 第 3 页 共 20 页 测试计划书 项目名称 测试计划 1. 简介 1.1 目的 <项目名称> 的这一“测试计划”文档有助于实现以下目标: • [确定现有项目的信息和应测试的软件构件。 • 列出推荐的测试需求(高级需求)。 • 推荐可采用的测试策略,并对这些策略加以说明。 • 确定所需的资源,并对测试的工作量进行估计。 • 列出测试项目的可交付元素] 1.2 背景 [对测试对象(构件、应用程序、系统等)及其目标进行简要说明。需要包括的信息 有:主要的功能和性能、测试对象的构架以及项目的简史。本节应该只有 3 至 5 个 段落。] 1.3 范围 [描述测试的各个阶段(例如,单元测试、集成测试或系统测试),并说明本计划所 针对的测试类型(如功能测试或性能测试)。 简要地列出测试对象中将接受测试或将不接受测试的那些性能和功能。 如果在编写此文档的过程中作出的某些假设可能会影响测试设计、开发或实施,则 列出所有这些假设。 列出可能会影响测试设计、开发或实施的所有风险或意外事件。 列出可能会影响测试设计、开发或实施的所有约束。 第 4 页 共 20 页 测试计划书 项目名称 2. 测试需求 下表用于确定被当作测试对象的各项需求(例如用例、功能性需求和非功能性需求)。 表中分总体组装测试、单元测试两部份分别列出了将要测试的对象。 [在此处输入一个主要测试需求的高级列表。] 第 5 页 共 20 页 测试计划书 项目名称 3. 测试策略 [测试策略提供了对测试对象进行测试的推荐方法。上一节“测试需求”中说明的是测试对象,而本节则要说明如何对测试对象进行测试。 对于每种测试,都应提供测试说明,并解释其实施和执行的原因。 如果将不实施和执行某种测试,则应该用一句话加以说明,并陈述这样做的理由。例如,“将不实施和执行该测试。该测试不合适”。 制定测试策略时所考虑的主要事项有:将要使用的技术以及判断测试何时完成的标准。 下面列出了在进行每项测试时需考虑的事项,除此之外,测试还只应在安全的环境中使用已知的、有控制的数据库来执行。] 3.1 测试类型 3.1.1总体组装测试类型: 3.1.1.1 数据和数据库完整性测试 [在 <项目名称> 中,数据库和数据库进程应作为一个子系统来进行测试。在测试这些子系统时,不应将测试对象的用户界面用作数据的接口。对于数据库管理系统 (DBMS),还需要进行深入的研究,以确定可以支持以下测试的工具和技术。] 测试目标: [确保数据库访问方法和进程正常运行,数据不会遭到损坏。] 技术: [调用各个数据库访问方法和进程,并在其中填充有效的和 无效的数据(或对数据的请求)。 检查数据库,确保数据已按预期的方式填充,并且所有的数 据库事件都已正常发生;或者检查所返回的数据,确保为正 当的理由检索到了正确的数据] 完成标准: [所有的数据库访问方法和进程都按照设计的方式运行,数 据没有遭到损坏。] 需考虑的特殊事项: [测试可能需要 DBMS 开发环境或驱动程序在数据库中直 接输入或修改数据。 进程应该以手工方式调用。 应使用小型或最小的数据库(记录的数量有限)来使所有无 法接受的事件具有更大的可视度。] 3.1.1.2 功能测试 [对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。此类测试基于黑盒技术,该技术通过图形用户界面 (GUI) 与应用程序进行交互,并对交互的输出或结果进行分析,以此来核实应用程序及其内部进程。以下为各种应用程序列出了推荐使用的测试概要:] 第 6 页 共 20 页 测试计划书 项目名称 测试目标: [确保测试对象的功能正常,其中包括导航、数据输入、处 理和检索等功能。] 技术: [利用有效的和无效的数据来执行各个用例、用例流或功能, 以核实以下内容: 在使用有效数据时得到预期的结果。 在使用无效数据时显示相应的错误消息或警告消息。 各业务规则都得到了正确的应用。] 完成标准: [所计划的测试已全部执行。 所发现的缺陷已全部解决。] 需考虑的特殊事项: [确定或说明那些将对功能测试的实施和执行造成影响的事 项或因素(内部的或外部的)] 第 7 页 共 20 页 测试计划书 项目名称 3.1.1.3 业务周期测试 [业务周期测试应模拟在一段时间内对 <项目名称> 执行的活动。应先确定一个时间段(例如一年),然后执行将在该时间段(一年内)发生的事务和活动。这种测试包括所有的日、周和月周期,以及所有与日期相关的事件(如备忘录)。] 测试目标 [确保测试对象及背景的进程都按照所要求的业务模型和时 间表正确运行。] 技术: [通过执行以下活动,测试将模拟若干个业务周期: 将修改或改进对测试对象进行的功能测试,以增加每项功能 的执行次数,从而在指定的时间段内模拟若干个不同的用 户。 将使用有效的和无效的数据或时间段来执行所有与时间或 数据相关的功能。 将在适当的时间执行或启用所有周期性出现的功能。 在测试中还将使用有效的和无效的数据,以核实以下内容: 在使用有效数据时得到预期的结果。 在使用无效数据时显示相应的错误消息或警告消息。 各业务规则都得到了正确的应用。 完成标准: [所计划的测试已全部执行。 所发现的缺陷已全部解决。} 需考虑的特殊事项: [系统日期和事件可能需要特殊的支持活动 需要通过业务模型来确定相应的测试需求和测试过程。] 第 8 页 共 20 页 测试计划书 项目名称 3.1.1.4 用户界面测试 [用户界面 (UI) 测试用于核实用户与软件之间的交互。UI 测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。另外,UI 测试还可确保 UI 中的对象按照预期的方式运行,并符合公司或行业的标准。] 测试目标: [核实以下内容: 通过测试对象进行的浏览可正确反映业务的功能和需求,这 种浏览包括窗口与窗口之间、字段与字段之间的浏览,以及 各种访问方法(Tab 健、鼠标移动、和快捷键)的使用 窗口的对象和特征(例如,菜单、大小、位置、状态和中心) 都符合标准。] 技术: [为每个窗口创建或修改测试,以核实各个应用程序窗口和 对象都可正确地进行浏览,并处于正常的对象状态。] 完成标准: [成功地核实出各个窗口都与基准版本保持一致,或符合可 接受标准] 需考虑的特殊事项: [并不是所有定制或第三方对象的特征都可访问。] 第 9 页 共 20 页 测试计划书 项目名称 3.1.1.5 性能评测 [性能评测是一种性能测试,它对响应时间、事务处理速率和其他与时间相关的需求进行评测和评估。性能评测的目标是核实性能需求是否都已满足。实施和执行性能评测的目的是将测试对象的性能行为当作条件(例如工作量或硬件配置)的一种函数来进行评测和微调。 注:以下所说的事务是指“逻辑业务事务”。这种事务被定义为将由系统的某个 Actor 通过使用测试对象来执行的特定用例,例如,添加或修改给定的合同。] 测试目标: [核实所指定的事务或业务功能在以下情况下的性能 行为: 正常的预期工作量 预期的最繁重工作量] 技术: [使用为功能或业务周期测试制定的测试过程。 通过修改数据文件来增加事务数量,或通过修改脚本来增加 每项事务的迭代数量。 脚本应该在一台计算机上运行(最好是以单个用户、单个事 务为基准),并在多个客户机(虚拟的或实际的客户机,请 参见下面的“需要考虑的特殊事项”)上重复。] 完成标准: [单个事务或单个用户:在每个事务所预期或要求的时间范 围内成功地完成测试脚本,没有发生任何故障。] [多个事务或多个用户:在可接受的时间范围内成功地完成 测试脚本,没有发生任何故障。] 需考虑的特殊事项: [综合的性能测试还包括在服务器上添加后台工作量。 可采用多种方法来执行此操作,其中包括: 直接将“事务强行分配到”服务器上,这通常以“结构化查 询语言”(SQL) 调用的形式来实现。 通过创建“虚拟的”用户负载来模拟许多个(通常为数百个) 客户机。此负载可通过“远程终端仿真”(Remote Terminal Emulation) 工具来实现。此技术还可用于在网络中加载“流 量”。 使用多台实际客户机(每台客户机都运行测试脚本)在系统 上添加负载。 性能测试应该在专用的计算机上或在专用的机时内执行,以 便实现完全的控制和精确的评测。 性能测试所用的数据库应该是实际大小或相同缩放比例的 数据库。] 第 10 页 共 20 页 测试计划书 项目名称 3.1.1.6 负载测试 [负载测试是一种性能测试。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。] [注:以下所说的事务是指“逻辑业务事务”。这种事务被定义为将由系统的某个最终用户通过使用应用程序来执行的特定功能,例如,添加或修改给定的合同。] 测试目标: [核实所指定的事务或商业理由在不同的工作量条件下的性 能行为时间。] 技术: [使用为功能或业务周期测试制定的测试。 通过修改数据文件来增加事务数量,或通过修改测试来增加 每项事务发生的次数。] 完成标准: [多个事务或多个用户:在可接受的时间范围内成功地完成 测试,没有发生任何故障。] 需考虑的特殊事项: [负载测试应该在专用的计算机上或在专用的机时内执行, 以便实现完全的控制和精确的评测。 负载测试所用的数据库应该是实际大小或相同缩放比例的 数据库。] 第 11 页 共 20 页 测试计划书 项目名称 3.1.1.7 强度测试 [强度测试是一种性能测试,实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。] [注:以下提到的事务都是指逻辑业务事务。] 测试目标: [核实测试对象能够在以下强度条件下正常运行,不会出现任何错误: 服务器上几乎没有或根本没有可用的内存(RAM 和 DASD) 连接或模拟了最大实际(实际允许)数量的客户机 多个用户对相同的数据或账户执行相同的事务 最繁重的事务量或最差的事务组合(请参见上面的“性能测 试”)。 注:强度测试的目标可表述为确定和记录那些使系统无法继 续正常运行的的情况或条件。 客户机的强度测试在“配置测试”的第 3.1.11 节中进行了 说明。] 技术: [使用为性能评测或负载测试制定的测试。 要对有限的资源进行测试,就应该在一台计算机上运行测 试,而且应该减少或限制服务器上的 RAM 和 DASD。 对于其他强度测试,应该使用多台客户机来运行相同的测试 或互补的测试,以产生最繁重的事务量或最差的事务组合。 完成标准: 计划的测试已全部执行,并且在达到或超出指定的系统 限制时没有出现任何软件故障,或者导致系统出现故障的条 [所件并不在指定的条件范围之内。] 需考虑的特殊事项: [如果要增加网络工作强度,可能会需要使用网络工具来给 网络加载消息或信息包。 应该暂时减少用于系统的 DASD,以限制数据库可用空间的 增长。 使多个客户机对相同的记录或数据账户同时进行的访问达 到同步。] 第 12 页 共 20 页 测试计划书 项目名称 3.1.1.8 容量测试 [容量测试使测试对象处理大量的数据,以确定是否达到了将使软件发生故障的极限。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。例如,如果测试对象正在为生成一份报表而处理一组数据库记录,那么容量测试就会使用一个大型的测试数据库,检验该软件是否正常运行并生成了正确的报表。] 测试目标: [核实测试对象在以下高容量条件下能否正常运行: 连接或模拟了最大(实际或实际允许)数量的客户机,所有 客户机在长时间内执行相同的、且情况(性能)最坏的业务 功能。 已达到最大的数据库大小(实际的或按比例缩放的),而且 同时执行了多个查询或报表事务。] 技术: [使用为性能评测或负载测试制定的测试。 应该使用多台客户机来运行相同的测试或互补的测试,以便 在长时间内产生最繁重的事务量或最差的事务组合(请参见 上面的“强度测试”)。 创建最大的数据库大小(实际的、按比例缩放的、或填充了 代表性数据的数据库),并使用多台客户机在长时间内同时 运行查询和报表事务。] 完成标准: [所计划的测试已全部执行,而且在达到或超出指定的系统 限制时没有出现任何软件故障。] 需考虑的特殊事项: [对于上述的高容量条件,哪个时间段是可以接受的时间,] 第 13 页 共 20 页 测试计划书 项目名称 3.1.1.9 安全性和访问控制测试 [安全性和访问控制测试侧重于安全性的两个关键方面: 应用程序级别的安全性,包括对数据或业务功能的访问 系统级别的安全性,包括对系统的登录或远程访问。 应用程序级别的安全性可确保:在预期的安全性情况下,主角只能访问特定的功能或用例,或者只能访问有限的数据。例如,可能会允许所有人输入数据,创建新账户,但只有管理员才能删除这些数据或账户。如果具有数据级别的安全性,测试就可确保“用户类型一”能够看到所有客户消息(包括财务数据),而“用户二”只能看见同一客户的统计数据。 系统级别的安全性可确保只有具备系统访问权限的用户才能访问应用程序,而且只能通过相应的网关来访问。] 测试目标: • 应用程序级别的安全性:[核实主角只能访问其所属用 户类型已被授权访问的那些功能或数据。] • 系统级别的安全性:[核实只有具备系统和应用程序访 问权限的主角才能访问系统和应用程序。] 技术: • 应用程序级别的安全性:[确定并列出各用户类型及其 被授权访问的功能或数据。] [为各用户类型创建测试,并通过创建各用户类型所 特有的事务来核实其权限。] 修改用户类型并为相同的用户重新运行测试。对于每 种用户类型,确保正确地提供或拒绝了这些附加的功 能或数据。 • 系统级别的访问:[请参见以下的“需考虑的特殊事 项”] 完成标准: [各种已知的主角类型都可访问相应的功能或数据, 而且所有事务都按照预期的方式运行,并在先前的应 用程序功能测试中运行了所有的事务。] 需考虑的特殊事项: [必须与相应的网络或系统管理员一起对系统访问权 进行检查和讨论。由于此测试可能是网络管理或系统 管理的职能,可能会不需要执行此测试。] 第 14 页 共 20 页 测试计划书 项目名称 3.1.1.10 故障转移和恢复测试 [故障转移和恢复测试可确保测试对象能成功完成故障转移,并能从导致意外数据损失或数据完整性破坏的各种硬件、软件或网络故障中恢复。 故障转移测试可确保:对于必须持续运行的系统,一旦发生故障,备用系统就将不失时机地“顶替”发生故障的系统,以避免丢失任何数据或事务。 恢复测试是一种对抗性的测试过程。在这种测试中,将把应用程序或系统置于极端的条件下(或者是模拟的极端条件下),以产生故障(例如设备输入/输出 (I/O) 故障或无效的数据库指针和关健字)。然后调用恢复进程并监测和检查应用程序和系统,核实应用程序或系统和数据已得到了正确的恢复。] 测试目标: [确保恢复进程(手工或自动)将数据库、应用程序 和系统正确地恢复到了预期的已知状态。测试中将 包括以下各种情况: 客户机断电 服务器断电 通过网络服务器产生的通信中断 DASD 和/或 DASD 控制器被中断、断电或与 DASD 和/或DASD 控制器的通信中断 周期未完成(数据过滤进程被中断,数据同步进程 被中断)。 数据库指针或关键字无效 数据库中的数据元素无效或遭到破坏] 技术: [应该使用为功能和业务周期测试创建的测试来创 建一系列的事务。一旦达到预期的测试起点,就应 该分别执行或模拟以下操作: 客户机断电:关闭 PC 机的电源。 服务器断电:模拟或启动服务器的断电过程。 通过网络服务器产生的中断:模拟或启动网络的通 信中断(实际断开通信线路的连接或关闭网络服务 器或路由器的电源)。 DASD 和DASD 控制器被中断、断电或与 DASD 和 DASD 控制器的通信中断:模拟与一个或多个 DASD 控制器或设备的通信,或实际取消这种通信。 一旦实现了上述情况(或模拟情况),就应该执行 其他事务。而且一旦达到第二个测试点状态,就应 调用恢复过程。 在测试不完整的周期时,所使用的技术与上述技术 第 15 页 共 20 页 测试计划书 项目名称 相同,只不过应异常终止或提前终止数据库进程本身。 对以下情况的测试需要达到一个已知的数据库状态。当破坏若干个数据库字段、指针和关键字时,应该以手工方式在数据库中(通过数据库工具)直接进行。其他事务应该通过使用“应用程序功能测试”和“业务周期测试”中的测试来执行,并且应执行完整的周期。] 完成标准: [在所有上述情况中,应用程序、数据库和系统应该在恢复过程完成时立即返回到一个已知的预期状态。此状态包括仅限于已知损坏的字段、指针或关键字范围内的数据损坏,以及表明进程或事务因中断而未被完成的报表。] 需考虑的特殊事项: [恢复测试会给其他操作带来许多的麻烦。断开缆线连接的方法(模拟断电或通信中断)可能并不可取或不可行。所以,可能会需要采用其他方法,例如诊断性软件工具。 需要系统(或计算机操作)、数据库和网络组中的资源。 这些测试应该在工作时间之外或在一台独立的计算机上运行。] 第 16 页 共 20 页 测试计划书 项目名称 3.1.1.11 配置测试 [配置测试核实测试对象在不同的软件和硬件配置中的运行情况。在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同。客户机工作站可能会安装不同的软件例如,应用程序、驱动程序等而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。] 测试目标: [核实测试对象可在所需的硬件和软件配置中正常运 行。] 技术: [使用功能测试脚本。 在测试过程中或在测试开始之前,打开各种与非测 试对象相关的软件(例如 Microsoft 应用程序:Excel 和 Word),然后将其关闭。 执行所选的事务,以模拟主角与测试对象软件和非 测试对象软件之间的交互。 重复上述步骤,尽量减少客户机工作站上的常规可 用内存。] 完成标准: [对于测试对象软件和非测试对象软件的各种组合, 所有事务都成功完成,没有出现任何故障。] 需考虑的特殊事项: [需要、可以使用并可以通过桌面访问哪种非测试对 象软件, 通常使用的是哪些应用程序, 应用程序正在运行什么数据,例如,在 Excel 中打 开的大型电子表格,或是在 Word 中打开的 100 页 文档。 作为此测试的一部分,应将整个系统、Netware、网 络服务器、数据库等都记录下来。] 第 17 页 共 20 页 测试计划书 项目名称 3.1.1.12 安装测试 [安装测试有两个目的。第一个目的是确保该软件在正常情况和异常情况的不同条件下: 例如,进行首次安装、升级、完整的或自定义的安装,都能进行安装。异常情况包括磁盘空间不足、缺少目录创建权限等。第二个目的是核实软件在安装后可立即正常运行。这通常是指运行大量为功能测试制定的测试。] 测试目标: 核实在以下情况下,测试对象可正确地安装到各种 所需的硬件配置中: 首次安装。以前从未安装过 <项目名称> 的新计算 机 更新。以前安装过相同版本的 <项目名称> 的计算 机 更新。以前安装过 <Project Name> 的较早版本的计 算机 技术: [手工开发脚本或开发自动脚本,以验证目标计算机 的状况(首次安装 - <项目名称>从未安装过;<项目 名称> 安装过相同或较早的版本)。 启动或执行安装。 使用预先确定的功能测试脚本子集来运行事务。] 完成标准: <项目名称> 事务成功执行,没有出现任何故障。 需考虑的特殊事项: [应该选择 <项目名称> 的哪些事务才能准确地测 试出 <项目名称> 应用程序已经成功安装,而且没 有遗漏主要的软件构件,] 第 18 页 共 20 页 测试计划书 项目名称 3.1.2单元测试类型 测试类型 被测对象 要 求 需求或设计要求的每个软件特性必须被测试功能确认 各单元模块 到 对计算所使用的数据,范围内和范围外的边边界检验 各单元模块 界值都应测试 1 检验输入、输出数据的内容、格式、类型 及其它要求 数据检验 各单元模块 2 检验额定值或奇异值 3 检验全局数据结构或重要局部数据结构 通过测试对象进行的浏览可正确反映业务的 功能和需求,这种浏览包括窗口与窗口之间、 字段与字段之间的浏览,以及各种访问方法界面测试 各单元模块 (Tab 健、鼠标移动、和快捷键)的使用 窗口的对象和特征(例如,菜单、大小、位 置、状态和中心)都符合标准。 第 19 页 共 20 页 测试计划书 项目名称 3.2 工具 此项目将使用的测试工具: 4. 资源配置 [本节列出推荐 <项目名称> 项目使用的资源配置] 5. 测试进度表 [对 <项目名称> 的测试应包括上面各节所述的各项测试的测试活动。应该为这些测试确定 进度,以通知项目的状态和成果。] 测试任务 开始日期 结束日期 责任人 总体、组装测试计划 总体、组装测试用例 单元测试计划 单元测试用例 构建测试环境 执行单元测试 单元测试报告 执行组装测试 组装测试报告 执行总体测试 总体测试报告 回归测试 第 20 页 共 20 页 因篇幅问题不能全部显示,请点此查看更多更全内容