测试计划.docx
《测试计划.docx》由会员分享,可在线阅读,更多相关《测试计划.docx(17页珍藏版)》请在冰豆网上搜索。
测试计划
测试计划
软件项目管理
课
程
大
作
业
(三)
学院名称软件学院
专业软件工程
学生姓名王尽宇
学号3005218077
年班级2005级三班
2009年6月10日
<从微阵列数据中基于互信息重构建基因调控网络>
测试计划
版本<1.0>
修订历史记录
日期
版本
说明
作者
<10日/6月/2009年>
<1.0>
<测试计划>
<王尽宇>
测试计划
1.简介
1.1目的
为了保证项目团队按时保质地完成项目目标,便于项目团队成员更好地了解项目情况,使项目工作开展的各个过程合理有序,因此以文件化的形式,把对于在项目生命周期内的工作任务范围、各项工作的任务分解、项目团队组织结构、各团队成员的工作责任、团队内外沟通协作方式、开发进度、经费预算、项目内外环境条件、风险对策等内容做出的安排以书面的方式,作为项目团队成员以及项目干系人之间的共识与约定,项目生命周期内的所有项目活动的行动基础,项目团队开展和检查项目工作的依据。
1.2背景
输入某种生物体的时序信息,通过计算输出所得到的基因调控网络。
1.3范围
该算法用于动态贝叶斯网络的构建,在matlab上执行,可在Windows操作系统平台运行。
1.4
项目标识
下表列出了制定测试计划所用的文档,并标明了文档的可用性:
[注:
可以视情况删除或添加项目。
]
文档
(版本/日期)
已创建或可用
已被接受或已经过复审
作者或来源
备注
需求规约
☑是☐否
是☐否
功能性规约
☑是☐否
是☐否
用例报告
☑是☐否
是☐否
项目计划
☑是☐否
是☐否
设计规约
是☐否
是☐否
原型
是☐否
是☐否
用户手册
是☐否
是☐否
业务模型或业务流程
是☐否
是☐否
数据模型或数据流
是☐否
是☐否
业务功能和业务规则
是☐否
是☐否
项目或业务风险评估
是☐否
是☐否
2.
测试需求
下面列出了那些已被确定为测试对象的项目(用例、功能性需求和非功能性需求)。
此列表说明了测试的对象。
3.
测试策略
3.1测试类型
3.1.1数据和数据库完整性测试
本系统未使用数据库。
3.1.2功能测试
测试目标:
确保测试对象的功能正常,其中数据预处理,打分函数、作图。
方法:
利用有效的和无效的数据来执行各个用例、用例流或功能,以核实以下内容:
∙在使用有效数据时得到预期的结果。
∙在使用无效数据时显示相应的错误消息或警告消息。
∙各业务规则都得到了正确的应用。
完成标准:
∙所计划的测试已全部执行。
∙所发现的缺陷已全部解决。
需考虑的特殊事项:
确定或说明那些将对功能测试的实施和执行造成影响的事项或因素(内部的或外部的)
3.1.3
业务周期测试
业务周期测试应模拟在一段时间内对从微阵列数据中基于互信息重构建基因调控网络系统执行的活动。
应先确定一段时间(例如一年),然后执行将在该时段内发生的事务和活动。
这种测试包括所有的每日、每周和每月的周期,以及所有与日期相关的事件(如备忘录)。
测试目标
确保测试对象及后台进程都按照所要求的业务模型和时间表正确运行。
方法:
通过执行以下活动,测试将模拟若干个业务周期:
∙将修改或增强对测试对象进行的功能测试,以增加每项功能的执行次数,从而在指定的时段内模拟若干个不同的用户。
∙将使用有效的和无效的日期或时段来执行所有与时间或日期相关的功能。
∙将在适当的时候执行或启动所有周期性出现的功能。
∙在测试中还将使用有效的和无效的数据,以核实以下内容:
∙在使用有效数据时得到预期的结果。
∙在使用无效数据时显示相应的错误消息或警告消息。
∙各业务规则都得到了正确的应用。
完成标准:
∙所计划的测试已全部执行。
∙所发现的缺陷已全部解决。
需考虑的特殊事项:
∙系统日期和事件可能需要特殊的支持活动
∙需要通过业务模型来确定相应的测试需求和测试过程。
3.1.4
用户界面测试
本系统在matlab中的命令行内执行,无GUI界面。
3.1.5
性能评价
性能评价是一种性能测试,它对响应时间、事务处理速率和其他与时间相关的需求进行评测和评估。
性能评价的目标是核实性能需求是否都已满足。
实施和执行性能评价的目的是将测试对象的性能行为当作条件(例如工作量或硬件配置)的一种函数来进行评价和微调。
注:
以下事务均指“逻辑业务事务”。
这种事务被定义为将由系统的某个主角通过使用测试对象来执行的特定用例,例如,添加或修改某个合同。
测试目标:
核实所指定的事务或业务功能在以下情况下的性能行为:
∙正常的预期工作量
∙预期的最繁重工作量
方法:
∙使用为功能或业务周期测试制定的测试过程。
∙通过修改数据文件来增加事务数量,或通过修改脚本来增加每项事务的迭代次数。
∙脚本应该在一台计算机上运行(最好是以单个用户、单个事务为基准),并在多台客户机(虚拟的或实际的客户机,请参见下面的“需考虑的特殊事项”)上重复。
完成标准:
∙单个事务或单个用户:
在每个事务所预期或要求的时间范围内成功地完成测试脚本,没有发生任何故障。
∙多个事务或多个用户:
在可接受的时间范围内成功地完成测试脚本,没有发生任何故障。
需考虑的特殊事项:
综合的性能测试还包括在服务器上添加后台工作量。
可采用多种方法来执行此操作,其中包括:
∙直接将“事务强行分配到”服务器上,这通常以“结构化查询语言”(SQL)调用的形式来实现。
∙通过创建“虚拟的”用户负载来模拟许多个(通常为数百个)客户机。
此负载可通过“远程终端仿真”(RemoteTerminalEmulation)工具来实现。
此技术还可用于在网络中加载“流量”。
∙使用多台实际客户机(每台客户机都运行测试脚本)在系统上添加负载。
性能测试应该在专用的计算机上或在专用的机时内执行,以便实现完全的控制和精确的评测。
性能测试所用的数据库应该是与实际大小相同或等比例缩放的数据库。
3.1.6
负载测试
负载测试是一种性能测试。
在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。
负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。
此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。
[注:
以下事务均指“逻辑业务事务”。
这些事务被定义为将由系统的最终用户通过使用应用程序来执行的具体功能,例如,添加或修改某个合同。
]
测试目标:
核实所指定的事务或商业理由在不同的工作量条件下的性能行为时间。
方法:
∙使用为功能或业务周期测试制定的测试。
∙通过修改数据文件来增加事务数量,或通过修改测试来增加每项事务发生的次数。
完成标准:
多个事务或多个用户:
在可接受的时间范围内成功地完成测试,没有发生任何故障。
需考虑的特殊事项:
∙负载测试应该在专用的计算机上或在专用的机时内执行,以便实现完全的控制和精确的评测。
∙负载测试所用的数据库应该是与实际大小相同或等比例缩放的数据库。
3.1.7
强度测试
强度测试是一种性能测试,实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。
如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。
而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。
强度测试还可用于确定测试对象能够处理的最大工作量。
[注:
以下提到的事务都是指逻辑业务事务。
]
测试目标:
核实测试对象能够在以下强度条件下正常运行,不会出现任何错误:
∙服务器上几乎没有或根本没有可用的内存(RAM和DASD)
∙连接或模拟了最大实际(或实际可承受)数量的客户机
∙多个用户对相同的数据/账户执行相同的事务
∙最繁重的事务量或最差的事务组合(请参见上面的“性能测试”)。
注:
强度测试的目标还可表述为确定和记录那些使系统无法继续正常运行的情况或条件。
客户机的强度测试在“配置测试”的第3.1.11节中进行了说明。
方法:
∙使用为性能评价或负载测试制定的测试。
∙要对有限的资源进行测试,就应该在一台计算机上运行测试,而且应该减少或限制服务器上的RAM和DASD。
∙对于其他强度测试,应该使用多台客户机来运行相同的测试或互补的测试,以产生最繁重的事务量或最差的事务组合。
完成标准:
所计划的测试已全部执行,并且在达到或超出指定的系统限制时没有出现任何软件故障,或者导致系统出现故障的条件并不在指定的条件范围之内。
需考虑的特殊事项:
∙如果要增加网络工作强度,可能会需要使用网络工具来给网络加载消息或信息包。
∙应该暂时减少用于系统的DASD,以限制数据库可用空间的增长。
∙使多个客户机对相同的记录或数据账户同时进行的访问达到同步。
3.1.8
容量测试
容量测试使测试对象处理大量的数据,以确定是否达到了将使软件发生故障的极限。
容量测试还将确定测试对象在给定时间内是否能够持续处理的最大负载或工作量。
测试目标:
核实测试对象在以下大容量条件下能否正常运行:
∙使系统在处理超大规模的时序数据信息。
方法:
∙使系统在处理超大规模的时序数据信息,如400*400或更大的矩阵信息。
让系统连续的计算类似规模的矩阵。
完成标准:
∙所计划的测试已全部执行,而且在达到或超出指定的系统限制时没有出现任何软件故障。
需考虑的特殊事项:
对于上述的大容量条件,哪个时段是可以接受的时间?
3.1.9
安全性和访问控制测试
本系统不与互联网相连接,无网络安全问题。
3.1.10
故障转移和恢复测试
故障转移和恢复测试可确保测试对象能成功完成故障转移,并从硬件、软件或网络等方面的各种故障中进行恢复,这些故障导致数据意外丢失或破坏了数据的完整性。
故障转移测试可确保:
对于必须始终保持运行状态的系统来说,如果发生了故障,那么备选或备份的系统就适当地将发生故障的系统“接管”过来,而且不会丢失任何数据或事务。
恢复测试是一种相反的测试流程。
其中,将应用程序或系统置于极端的条件下(或者是模仿的极端条件下),以产生故障,例如设备输入/输出(I/O)故障或无效的数据库指针和关健字。
启用恢复流程后,将监测和检查应用程序和系统,以核实应用程序或系统是正确无误的,或数据已得到了恢复。
测试目标:
确保恢复进程(手工或自动)将应用程序和系统正确地恢复到了预期的已知状态。
测试中将包括以下各种情况:
∙客户机断电
∙周期未完成(数据过滤进程被中断,数据同步进程被中断)。
方法:
应该使用为功能和业务周期测试创建的测试来创建一系列的事务。
一旦达到预期的测试起点,就应该分别执行或模拟以下操作:
∙客户机断电:
关闭PC的电源。
∙控制器或设备的通信,或实际取消这种通信。
一旦实现了上述情况(或模拟情况),就应该执行其他事务。
而且一旦达到第二个测试点状态,就应调用恢复过程。
在测试不完整的周期时,所使用的方法与上述方法相同,只不过应异常终止或提前终止数据库进程本身。
完成标准:
在所有上述情况中,应用程序和系统应该在恢复过程完成时立即返回到一个已知的预期状态。
需考虑的特殊事项:
∙恢复测试会给其他操作带来许多的麻烦。
断开缆线连接的方法(模拟断电或通信中断)可能并不可取或不可行。
所以,可能会需要采用其他方法,例如诊断性软件工具。
∙需要系统(或计算机操作)和网络组中的资源。
∙这些测试应该在工作时间之外或在一台独立的计算机上运行。
3.1.11
配置测试
配置测试核实测试对象在不同的软件和硬件配置中的运行情况。
在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同。
客户机工作站可能会安装不同的软件,例如,应用程序、驱动程序等。
而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。
测试目标:
核实测试对象可在要求的硬件和软件配置中正常运行。
方法:
∙使用功能测试脚本。
∙在测试过程中或在测试开始之前,打开各种与非测试对象相关的软件
∙执行所选的事务,以模拟主角与测试对象软件和非测试对象软件之间的交互。
∙重复上述步骤,尽量减少客户机工作站上的常规可用内存。
完成标准:
对于测试对象软件和非测试对象软件的各种组合,所有事务都成功完成,没有出现任何故障。
需考虑的特殊事项:
∙需要、可以使用并可以通过桌面访问哪种非测试对象软件?
∙通常使用的是哪些应用程序?
∙应用程序正在运行什么数据?
3.1.12
安装测试
安装测试有两个目的。
第一个目的是确保该软件能够在所有可能的配置下进行安装,例如,进行首次安装、升级、完整的或自定义的安装,以及在正常和异常情况下安装。
异常情况包括磁盘空间不足、缺少目录创建权限等。
第二个目的是核实软件在安装后可立即正常运行。
这通常是指运行大量为功能测试制定的测试。
测试目标:
核实在以下情况下,测试对象可正确地安装到各种所需的硬件配置中:
∙首次安装。
以前从未安装过<从微阵列数据中基于互信息重构建基因调控网络>的新计算机
∙更新。
以前安装过相同版本的<<从微阵列数据中基于互信息重构建基因调控网络>的计算机
∙更新。
以前安装过较早版本的<<从微阵列数据中基于互信息重构建基因调控网络>的计算机
方法:
∙手工开发脚本或开发自动脚本,以验证目标计算机的状况<<从微阵列数据中基于互信息重构建基因调控网络>从未安装过;已安装<从微阵列数据中基于互信息重构建基因调控网络>相同或较早版本)。
∙启动或执行安装。
∙使用预先确定的功能测试脚本子集来运行事务。
]
完成标准:
<从微阵列数据中基于互信息重构建基因调控网络>事务成功执行,没有出现任何故障。
需考虑的特殊事项:
应该选择<<从微阵列数据中基于互信息重构建基因调控网络>的哪些事务才能准确地测试出<<从微阵列数据中基于互信息重构建基因调控网络>应用程序已经成功安装,而且没有遗漏主要的软件构件?
3.2
工具
此项目将使用以下工具:
[注:
可以视情况删除或添加项目。
]
工具
厂商/自行研制
版本
项目管理
Project2003
Microsoft
2003
4.
资源
本节列出推荐<从微阵列数据中基于互信息重构建基因调控网络>项目使用的资源,及其主要职责、知识或技能。
4.1角色
下表列出了在此项目的人员配备方面所作的各种假定。
[注:
可视情况删除或添加项目。
]
人力资源
角色
推荐的最少资源
(所分配的专职角色数量)
具体职责或注释
测试经理,
测试项目经理
2
进行管理监督。
职责:
∙提供技术指导
∙获取适当的资源
∙提供管理报告
测试设计员
1
确定测试用例、确定测试用例的优先级并实施测试用例。
职责:
∙生成测试计划
∙生成测试模型
∙评估测试工作的有效性
测试员
1
执行测试。
职责:
∙执行测试
∙记录结果
∙从错误中恢复
∙记录变更请求
测试系统管理员
裴嵩
1
确保测试环境和资产得到管理和维护。
职责:
∙管理测试系统
∙授予和管理角色对测试系统的访问权
设计员
1
确定并定义测试类的操作、属性和关联。
职责:
∙确定并定义测试类
∙确定并定义测试包
实施员
2
实施测试类和测试包,并对它们进行单元测试。
职责:
∙创建在测试模型中实施的测试类和测试包
4.2
系统
下表列出了测试项目所需的系统资源。
此时并不完全了解测试系统的具体元素。
系统资源
资源
名称/类型
客户端测试PC
—包括特殊的配置需求
TBD
测试开发PC
TBD
5.
项目里程碑
对<从微阵列数据中基于互信息重构建基因调控网络>的测试应包括上面各节所述的各项测试的测试活动。
应该为这些测试确定单独的项目里程碑,以通知项目的状态和成果。
里程碑任务
工作量
开始日期
结束日期
制定测试计划
20%
2009年5月19日
2009年5月20日
设计测试
10%
2009年5月21日
2009年5月21日
实施测试
5%
2009年5月22日
2009年5月22日
执行测试
30%
2009年5月22日
2009年5月22日
评估测试
35%
2009年5月23日
2009年5月25日
6.
可交付工件
?
交付的工件
?
预定的交付日期
?
项目计划书
?
2009-3-20
?
软件需求规约
?
2009-4-1
?
软件架构文档
?
2009-4-23
?
测试计划
?
2009-5-20
?
系统帮助文档
?
2009-6-15
?
用户手册
?
2009-6-20
?
培训文档
?
2009-6-25
?
测试文档
?
2009-7-3
?
系统源代码
?
2009-7-13
?
系统安装部署光盘
?
2009-7-23
?
项目总结报告
?
2009-7-28
6.1测试模型
本节确定将要通过测试模型创建并分发的报告。
测试模型中的这些工件应该用ASQ工具来创建或引用。
6.2测试日志
说明用来记录和报告测试结果和测试状态的方法和工具。
6.3缺陷报告
本节确定用来记录、跟踪和报告测试中发生的意外情况及其状态的方法和工具。
7.
附录A:
项目任务
以下是一些与测试有关的任务:
∙制定测试计划
-确定测试需求
-评估风险
-制定测试策略
-确定测试资源
-创建时间表
-生成测试计划
∙设计测试
-准备工作量分析文档
-确定并说明测试用例
-确定并结构化测试过程
-复审和评估测试覆盖
∙实施测试
-记录或通过编程创建测试脚本
-确定设计与实施模型中的测试专用功能
-建立外部数据集
∙执行测试
-
执行测试过程
-评估测试的执行情况
-恢复暂停的测试
-核实结果
-调查意外结果
-记录缺陷
∙评估测试
-评估测试用例覆盖
-评估代码覆盖
-分析缺陷
-确定是否达到了测试完成标准与成功标准