《软件教学教案计划》由会员分享,可在线阅读,更多相关《软件教学教案计划(17页珍藏版)》请在金锄头文库上搜索。
1、#+ 软件测试计划软件测试计划 文档编号:文档名称: 编 写:审 核: 批 准:批准日期: #+ 目目 录录 1 简介简介.3 1.1 目的3 1.2 背景3 1.3 范围3 1.4 项目标识3 2 测试需求测试需求.4 3 测试策略测试策略.4 3.1 测试类型5 3.1.1数据和数据库完整性测试.5 3.1.2功能测试.5 3.1.3业务周期测试.6 3.1.4用户界面测试.6 3.1.5性能评价.7 3.1.6负载测试.8 3.1.7强度测试.8 3.1.8容量测试.9 3.1.9安全性和访问控制测试.10 3.1.10故障转移和恢复测试.11 3.1.11配置测试.12 3.1.12安
2、装测试.13 3.2 工具14 4 资源资源.14 4.1 角色14 4.2 系统15 5 项目里程碑项目里程碑.16 6 可交付工件可交付工件.16 6.1 测试日志16 6.2 缺陷报告16 7 附录附录 A:项目任务:项目任务16 #+ 1 简介简介 1.1 目的目的 的这一“测试计划”文档有助于实现以下目标: 确定现有项目的信息和应测试的软件构件。 列出推荐的测试需求(高层次) 。 推荐可采用的测试策略,并对这些策略加以说明。 确定所需的资源,并对测试的工作量进行估计。 列出测试项目的可交付元素 1.2 背景背景 输入测试对象(组件、应用程序、系统等)及其目标的的简要说明。需要包括的信
3、息有: 主要的功能和特性、测试对象的构架以及项目的简史。本节应该只包含 3 至 5 个段落。 1.3 范围范围 描述测试的各个阶段,例如:单元测试、集成测试或系统测试,并说明本计划所针对的测 试类型(如功能测试或性能测试) 。简要地列出测试对象中将接受测试或将不接受测试的那 些特性和功能。 如果在编写此文档的过程中作出的某些假设可能会影响测试设计、开发或实施,则列出所 有这些假设。 列出可能会影响测试设计、开发或实施的所有风险或意外事件。 列出可能会影响测试设计、开发或实施的所有约束。 1.4 项目标识项目标识 下表列出了制定测试计划所用的文档,并标明了文档的可用性: 注:可以视情况删除或添加
4、项目。 #+ 文档文档 (版本(版本/日期)日期) 已创建或可用已创建或可用已被接受或已已被接受或已 经过复审经过复审 作者或来源作者或来源备注备注 需求规约 是 否 是 否 功能性规约 是 否 是 否 用例报告 是 否 是 否 项目计划 是 否 是 否 设计规约 是 否 是 否 原型 是 否 是 否 用户手册 是 否 是 否 业务模型或业务流程 是 否 是 否 数据模型或数据流 是 否 是 否 业务功能和业务规则 是 否 是 否 项目或业务风险评估 是 否 是 否 2 测试需求测试需求 下面列出了那些已被确定为测试对象的项目(用例、功能性需求和非功能性需求) 。此列表 说明了测试的对象。 在
5、此处输入一个主要测试需求的高层次列表。 3 测试策略测试策略 测试策略提供了推荐用于测试对象的方法。上一节“测试需求”中说明了将要测试哪些对 象,而本节则要说明如何对测试对象进行测试。 对于每种测试,都应提供测试说明,并解释其实施和执行的原因。 如果不实施和执行某种测试,则应该用一句话加以说明,并陈述这样做的理由。例如, “将 不实施和执行该测试。 。该测试不合适。 ” 制定测试策略时所考虑的主要事项有:将要使用的方法以及判断测试何时完成的标准。 下面列出了在进行每项测试时需考虑的事项,除此之外,测试还只应在安全的环境中使用 已知的、受控的数据库来执行。 #+ 3.1 测试类型测试类型 用列表
6、的方式(例如 IPO 表即输入、处理、输出表的形式) ,逐项定量和定性地叙述 对软件所提出的功能要求,说明输入什么量、经怎样的处理、得到什么输出,说明软件应 支持的终端数和应支持的并行操作的用户数。 3.1.1 数据和数据库完整性测试数据和数据库完整性测试 数据库和数据库进程应作为中的子系统来进行测试。 在测试这些子系统时,不应将测试对象的用户界面用作数据的接口。对于数据库管理 系统 (DBMS),还需要进行深入的研究,以确定可以支持以下测试的工具和方法。 测试目标:确保数据库访问方法和进程正常运行,数据不会遭到损坏。 方法: 调用各个数据库访问方法和进程,并在其中填充有效的和 无效的数据或对
7、数据的请求。 检查数据库,确保数据已按预期的方式填充,并且所有 数据库事件都按正常方式出现;或者检查所返回的数据,确 保为正当的理由检索到了正确的数据 完成标准:所有的数据库访问方法和进程都按照设计的方式运行,数据没有 遭到损坏。 需考虑的特殊事项: 测试可能需要 DBMS 开发环境或驱动程序以便在数据库 中直接输入或修改数据。 进程应该以手工方式调用。 应使用小型或最小的数据库(其中的记录数很有限)来 使所有无法接受的事件具有更大的可见性。 3.1.2 功能测试功能测试 测试对象的功能测试应该侧重于可以被直接追踪到用例或业务功能和业务规则的所有 测试需求。这些测试的目标在于核实能否正确地接受
8、、处理和检索数据以及业务规则是否 正确实施。这种类型的测试基于黑盒方法,即通过图形用户界面 (GUI) 与应用程序交互并 分析输出结果来验证应用程序及其内部进程。以下列出的是每个应用程序推荐的测试方法 概要: 测试目标:确保测试对象的功能正常,其中包括导航、数据输入、处理 和检索等。 #+ 方法:利用有效的和无效的数据来执行各个用例、用例流或功能, 以核实以下内容: 在使用有效数据时得到预期的结果。 在使用无效数据时显示相应的错误消息或警告消息。 各业务规则都得到了正确的应用。 完成标准: 所计划的测试已全部执行。 所发现的缺陷已全部解决。 需考虑的特殊事项:确定或说明那些将对功能测试的实施和
9、执行造成影响的事项 或因素(内部的或外部的) 3.1.3 业务周期测试业务周期测试 业务周期测试应模拟在一段时间内对 执行的活动。应先确定一段时间 (例如一年) ,然后执行将在该时段内发生的事务和活动。这种测试包括所有的每日、每周 和每月的周期,以及所有与日期相关的事件(如备忘录) 。 测试目标确保测试对象及后台进程都按照所要求的业务模型和时间表正 确运行。 方法:通过执行以下活动,测试将模拟若干个业务周期: 将修改或增强对测试对象进行的功能测试,以增加每项功能 的执行次数,从而在指定的时段内模拟若干个不同的用户。 将使用有效的和无效的日期或时段来执行所有与时间或日期 相关的功能。 将在适当的
10、时候执行或启动所有周期性出现的功能。 在测试中还将使用有效的和无效的数据,以核实以下内容: 在使用有效数据时得到预期的结果。 在使用无效数据时显示相应的错误消息或警告消息。 各业务规则都得到了正确的应用。 完成标准: 所计划的测试已全部执行。 所发现的缺陷已全部解决。 需考虑的特殊事项: 系统日期和事件可能需要特殊的支持活动 需要通过业务模型来确定相应的测试需求和测试过程。 3.1.4 用户界面测试用户界面测试 通过用户界面 (UI) 测试来核实用户与软件的交互。UI 测试的目标在于确保用户界 面向用户提供了适当的访问和浏览测试对象功能的操作。除此之外,UI 测试还要确保 UI 功能内部的对象
11、符合预期要求,并遵循公司或行业的标准。 #+ 测试目标:核实以下内容: 通过浏览测试对象可正确反映业务的功能和需求,这种浏 览包括窗口与窗口之间、字段与字段之间的浏览,以及各种 访问方法(Tab 健、鼠标移动和快捷键)的使用 窗口的对象和特征(例如:菜单、大小、位置、状态和 中心)都符合标准。 方法:为每个窗口创建或修改测试,以核实各个应用程序窗口和对 象都可正确地进行浏览,并处于正常的对象状态。 完成标准:证实各个窗口都与基准版本保持一致,或符合可接受标准 需考虑的特殊事项:并不是所有定制或第三方对象的特征都可访问。 3.1.5 性能评价性能评价 性能评价是一种性能测试,它对响应时间、事务处
12、理速率和其他与时间相关的需求进 行评测和评估。性能评价的目标是核实性能需求是否都已满足。实施和执行性能评价的目 的是将测试对象的性能行为当作条件(例如工作量或硬件配置)的一种函数来进行评价和 微调。 注:以下事务均指“逻辑业务事务” 。这种事务被定义为将由系统的某个主角通过使用 测试对象来执行的特定用例,例如,添加或修改某个合同。 测试目标:核实所指定的事务或业务功能在以下情况下的性能行为: 正常的预期工作量 预期的最繁重工作量 方法:使用为功能或业务周期测试制定的测试过程。 通过修改数据文件来增加事务数量,或通过修改脚本来 增加每项事务的迭代次数。 脚本应该在一台计算机上运行(最好是以单个用
13、户、单 个事务为基准) ,并在多台客户机(虚拟的或实际的客户 机,请参见下面的“需考虑的特殊事项” )上重复。 完成标准:单个事务或单个用户:在每个事务所预期或要求的时间 范围内成功地完成测试脚本,没有发生任何故障。 多个事务或多个用户:在可接受的时间范围内成功地完 成测试脚本,没有发生任何故障。 #+ 需考虑的特殊事项:综合的性能测试还包括在服务器上添加后台工作量。 可采用多种方法来执行此操作,其中包括: 直接将“事务强行分配到”服务器上,这通常以“结构 化查询语言”(SQL) 调用的形式来实现。 通过创建“虚拟的”用户负载来模拟许多个(通常为数 百个)客户机。 此负载可通过“远程终端仿真”
14、 (Remote Terminal Emulation) 工具来实现。 此技术还可用于 在网络中加载“流量” 。 使用多台实际客户机(每台客户机都运行测试脚本)在 系统上添加负载。 性能测试应该在专用的计算机上或在专用的机时内执行,以 便实现完全的控制和精确的评测。 性能测试所用的数据库应该是与实际大小相同或等比例缩放 的数据库。 3.1.6 负载测试负载测试 负载测试是一种性能测试。在这种测试中,将使测试对象承担不同的工作量,以评测 和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。负载测试的 目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还
15、要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。 注:以下事务均指“逻辑业务事务” 。这些事务被定义为将由系统的最终用户通过使 用应用程序来执行的具体功能,例如,添加或修改某个合同。 测试目标:核实所指定的事务或商业理由在不同的工作量条件下的性能 行为时间。 方法: 使用为功能或业务周期测试制定的测试。 通过修改数据文件来增加事务数量,或通过修改测试来 增加每项事务发生的次数。 完成标准:多个事务或多个用户:在可接受的时间范围内成功地完成测 试,没有发生任何故障。 需考虑的特殊事项:负载测试应该在专用的计算机上或在专用的机时内执行, 以便实现完全的控制和精确的评测。 负载测试所用的数据库应该是与实际大小相同或等比例 缩放的数据库。 3.1.7 强度测试强度测试 强度测试是一种性能测试,实施和执行此类测试的目的是找出因资源不足或资源争用 而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并 #+ 不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。 强度测试还可用于确定测试对象能够处理的最大工作量。 注:以下提到的事务都是指逻辑业务事务。 测试目标:核实测试对象能够在以下强度条件下正常运行,不会出现任 何错误: 服务器上几乎没有或根本没有可用