资源描述
火人科技ERP管理系统(一期)
测试计划
(V1.00)
编 写 人: 刘海平
编写日期: 2011.11.14-2011-11.15
审 核 人:
审核日期:
修订历史记录
版本
日期
AMD
修订者
说明
1.0
(A-添加,M-修改,D-删除)
目录
1. 简介 4
1. 1目的 4
1. 2背景 4
1.3范围 4
2. 测试参考文档和测试提交文档 5
2.1测试参考文档 5
2.2测试提交文档 5
3.测试进度 6
4.测试资源 7
4.1人力资源 7
4.2测试环境 7
4.3测试工具 7
5.系统风险、优先级 8
6.测试策略 9
6.1数据和数据库完整性测试 9
6.2接口测试 10
6.3集成测试 11
6.4功能测试 12
6.5用户界面测试 13
6.6性能评测 14
6.7负载测试 15
6.8强度测试 16
6.9容量测试 17
6.10安全性和访问控制测试 18
6.11故障转移和恢复测试 19
6.12配置测试 21
6.13安装测试 22
7.问题严重度描述 23
8.附录:项目任务 24
1. 简介
1. 1目的
编写本文档的目的在于确定现有项目信息,描述项目测试范围,定义测试条件和目标、测试策略和要求,分析可能的风险,提供相应的规避措施或应急对策,并策划测试整体进度的计划和人力资源的安排。
火人科技ERP管理系统(一期)测试的目的在于通过测试系统业务、功能及流程实现的正确性,可靠性,易用性,确保系统符合业务需求说明书的要求,且系统性能指标和数据库服务器管理方案满足应用要求。
1. 2背景
婚纱摄影行业潜力巨大,同时经济水平提高,人们已经具备了精神享受的物质基础,同时随着互联网时代的到来,加剧电子商务飞速发展。那么火人科技项目也应运而生。
通过电子商务平台,在互联网上实现业务。
1.3范围
描述测试的各个阶段(例如,单元测试、集成测试或系统测试),并说明本计划所针对的测试类型(如功能测试或性能测试)。
简要地列出测试对象中将接受测试或将不接受测试的那些性能和功能。
如果在编写此文档的过程中做出的某些假设可能会影响测试设计、开发或实施,则列出所有这些假设。
列出可能会影响测试设计、开发或实施的所有风险或意外事件。
列出可能会影响测试设计、开发或实施的所有约束。
2. 测试参考文档和测试提交文档
2.1测试参考文档
下表列出了制定测试计划时所使用的文档,并标明了各文档的可用性:
文档
(版本/日期)
已创建或可用
已被接收或已经过复审
作者或来源
备注
可行性分析报告
是□ 否□
是□ 否□
软件需求定义
是□ 否□
是□ 否□
软件概要设计
是□ 否□
是□ 否□
软件详细设计
是□ 否□
是□ 否□
软件测试需求
是□ 否□
是□ 否□
测试计划
是□ 否□
是□ 否□
测试方案
是□ 否□
是□ 否□
测试报告
是□ 否□
是□ 否□
测试分析报告
是□ 否□
是□ 否□
2.2测试提交文档
测试计划,测试用例,Buglist
3.测试进度
测试活动
计划开始日期
实际开始日期
结束日期
制定测试计划
2011-11-11
2011-11-14
2011-11-15
设计测试
2011-11-13
2011-11-15
集成测试
2011-11-15
2011-11-17
系统测试
2011-11-17
2011-11-18
性能测试
2011-11-18
2011-11-23
安装测试
2011-11-23
2011-11-24
用户验收测试
2011-11-24
2011-11-25
对测试进行评估
2011-11-25
2011-11-25
产品发布
2011-11-26
2011-11-26
4.测试资源
4.1人力资源
下表列出了在此项目的人员配备方面所作的各种假定。
角色
所推荐的最少资源
具体职责或注释
技术总监
1
整体把握项目进程
开发员
2
开发项目保证功能实现
美工
1
保证项目界面美观
测试员
1
保证软件质量
4.2测试环境
下表列出了测试的系统环境
软件环境(相关软件、操作系统等)
操作系统:Windows XP sp3
测试工具:LoadRunner QTP
缺陷工具:TestDirector
硬件环境(网络、设备等)
内存:256M以上
硬盘:20G以上
4.3测试工具
此项目将列出测试使用的工具:
用途
工具
生产厂商/自产
版本
功能测试
QTP
HP
9.2
性能测试
Loadrunner
HP
11
缺陷管理
TestDirector
HP
8.0
数据库管理
MySql
HP
5.0
5.系统风险、优先级
测试风险表
风险编号
风险描述
发生可能性(高、中、低)
影响程度(高、中、低)
责任人
规避方法
1
项目提交测试较晚,测试周期短
高
高
a:提高对开发进度的要求
b:保证必要的测试周期
c:通过适当增加测试时间
2
测试发现较多Bug,研发需要完成新功能,同时要修复的缺陷可能来不及修复完
高
中
a:规范代码编写
b:尽可能早发现业务逻辑方面的Bug
3
测试需求频繁变更,开发不能及时做出相应调整
中
中
尽早明确需求。
4
5
6.测试策略
ⅰ 系统功能测试描述
测试目标
① 确保被测试系统的功能正确,其中后台管理是否正确。前端功能包括网站显示,及功能交互、注册、查询、添加、修改。
② 保证新注册用户、老客户都能正常进行交易,且账务正确
技术及手段
利用有效的和无效的操作数据来执行各业务场景测试用例。核实以下内容:
① 在使用有效数据时得到预期的结果。
② 在使用无效数据时,具有异常处理机制并显示相应的错误信息或警告提示,不出现调试信息。
③ 各业务交易规则都得到正确的应用
完成标准
所设计的功能测试用例执行,所发现的缺陷已得到全部处理。确保业务功能全部被覆盖。
需要考虑的特殊事项
确定或说明那些将对功能测试的实施和执行造成影响的事项或因素
ⅱ 功能测试策略
功能测试策略表
测试活动
测试策略
整体
整个系统功能测试分成两部分,手工测试和自动化测试,
第一轮测试必须通过冒烟测试,验证交付的系统是否满足系统功能的条件。
对功能测试准备两个不同的方案。
① 用管理员权限管理,查看是否满足定义需求。
② 用普通会员权限管理,查看是否满足定义需求。
入门准则检查
必须通过冒烟测试
第一轮
第二轮
Ⅰ 性能测试
性能测试描述表
测试目标
测试系统各关键环节基础性能指标,尤其是并发交易量、响应时间等指标。分析系统性能瓶颈,并提交性能测试报告
技术或手段
① 在登录、提交交互,进行并发测试,获取系统响应指标。
② 实施负载压力测试,分析系统性能瓶颈。
③ 在大数据量条件和长时间功能条件下,对系统进行测试,评估系统稳定性
完成标准
按性能测试方案完成测试,提高性能测试报告并通过评审
考虑特殊事项
测试所需的设备必须到位
Ⅱ 性能测试策略
测试类型策略表
测试类型
测试策略
基准测试
基准测试系统在无其他负载的情况下,测试典型业务的响应时间指标,以作为响应时间的基准进行评估。
测试策略:
① 在与运营环境相同或相近的环境上进行基准测试。
② 用典型单业务测试脚本,在一个用户负载迭代10次的情况下,执行3遍,取均值作为基准性能数据进行记录,包括响应时间、吞吐量、CPU和内存使用率。
单一业务压力负载测试
混合业务压力负载测试
6.1数据和数据库完整性测试
测试目标:
① 对数据备份和恢复测试,文件恢复的操作和结果正确。
② 日志管理测试
技术:
数据备份与恢复测试:根据实现方案设计场景,执行备份和恢复脚本,通过系统功能来验证备份和恢复情况。
完成标准:
成功地核实出数据备份与恢复按照预期的方式运行。
需考虑的特殊事项:
访问测试环境的权限
6.2接口测试
测试目标
确保接口调用的正确性
测试范围:
所有软件、硬件接口,记录输入输出数据
技术:
开始标准:
完成标准:
测试重点和优先级:
需考虑的特殊事项:
接口的限制条件
6.3集成测试
集成测试―主要目的检测系统是否达到需求对业务流程及数据流的处理是否符合标准,检测系统对业务流处理是否存在逻辑不严谨及错误,检测需求是否存在不合理的标准及要求。此阶段测试基于功能完成的测试。
测试目标
检测需求中业务流程,数据流的正确性
测试范围:
需求中明确的业务流程,或组合不同功能模块而形成一个大的功能。
技术:
利用有效的和无效的数据来执行各个用例、用例流或功能,以核实以下内容:
在使用有效数据时得到预期的结果。
在使用无效数据时显示相应的错误消息或警告消息。
各业务规则都得到了正确的应用。
需考虑的特殊事项:
确定或说明那些将对功能测试的实施和执行造成影响的事项或因素(内部的或外部的)
6.4功能测试
对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。此类测试基于黑盒技术,该技术通过图形用户界面(GUI)与应用程序进行交互,并对交互的输出或结果进行分析,以此来核实应用程序及其内部进程。以下为各种应用程序列出了推荐使用的测试概要:
测试目标
确保测试的功能正常,其中包括导航,数据输入,处理和检索等功能。
技术:
利用有效的和无效的数据来执行各个用例、用例流或功能,以核实以下内容:
在使用有效数据时得到预期的结果。
在使用无效数据时显示相应的错误消息或警告消息。
各业务规则都得到了正确的应用。
需考虑的特殊事项:
确定或说明那些将对功能测试的实施和执行造成影响的事项或因素(内部的或外部的)
6.5用户界面测试
用户界面(UI)测试用于核实用户与软件之间的交互。UI测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。另外,UI测试还可确保UI中的对象按照预期的方式运行,并符合公司或行业的标准。
测试目标
核实以下内容:
通过测试进行的浏览可正确反映业务的功能和需求,这种浏览包括窗口与窗口之间、字段与字段之间的浏览,以及各种访问方法(Tab键、鼠标移动、和快捷键)的使用
窗口的对象和特征(例如,菜单、大小、位置、状态和中心)都符合标准。
技术:
为每个窗口创建或修改测试,以核实各个应用程序窗口和对象都可正确地进行浏览,并处于正常的对象状态。
完成标准:
成功地核实出各个窗口都与基准版本保持一致,或符合可接受标准
需考虑的特殊事项:
并不是所有定制或第三方对象的特征都可访问。
6.6性能评测
性能评测是一种性能测试,它对响应时间、事务处理速率和其他与时间相关的需求进行评测和评估。性能评测的目标是核实性能需求是否都已满足。实施和执行性能评测的目的是将测试对象的性能行为当作条件(例如工作量或硬件配置)的一种函数来进行评测和微调。
注:以下所说的事务是指“逻辑业务事务”。这种事务被定义为将由系统的某个Actor通过使用测试对象来执行的特定用例,添加或修改给定的合同。
测试目标
核实所指定的事务或业务功能在以下情况下的性能行为:
正常的预期工作量
预期的最繁重工作量
技术:
使用为功能或业务周期测试制定的测试过程。
通过修改数据文件来增加事务数量,或通过修改脚本来增加每项事务的迭代数量。
脚本应该在一台计算机上运行(最好是以单个用户、单个事务为基准),并在多个客户机(虚拟的或实际的客户机,请参见下面的“需要考虑的特殊事项”)上重复。
完成标准:
单个事务或单个用户:在每个事务所预期时间范围内成功地完成测试脚本,没有发生任何故障。
多个事务或多个用户:在可接受的时间范围内成功地完成测试脚本,没有发生任何故障。
需考虑的特殊事项:
综合的性能测试还包括在服务器上添加后台工作量。
可采用多种方法来执行此操作,其中包括:
直接将“事务强行分配到”服务器上,这通常以“结构化语言”(SQL)调用的形式来实现。
通过创建“虚拟的”用户负载来模拟许多个(通常为数百个)客户机。此负载可通过“远程终端仿真(Remote Terminal Emulation)工具来实现。此技术还可用于在网络中加载“流量”。
使用多台实际客户机(每台客户机都运行测试脚本)在系统上添加负载。
性能测试应该在专用的计算机上或在专用的机时内执行,以便实现完全的控制和精确的评测。
性能测试所用的数据库应该是实际大小或相同缩放比例的数据库。
6.7负载测试
负载测试是一种性能测试。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。负载测试的目标是确定并确保系统在超出最大预期工作量的情况下仍能正常运行。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。
测试目标
核实所指定的事务或商业理由在不同的工作量条件下的性能行为时间。
技术:
使用为功能或业务周期测试制定的测试。
通过修改数据文件来增加事务数量,或通过修改脚本来增加每项事务发生的次数。
完成标准:
多个事务或多个用户:在可接受的时间范围内成功地完成测试,没有发生任何故障。
需考虑的特殊事项:
负载测试应该在专用的计算机上或在专用的机时内执行,以便实现完全的控制和精确的评测。
负载测试所用的数据库应该是实际大小或相同缩放比例的数据库。
6.8强度测试
强度测试是一种性能测试,实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。
测试目标
核实测试对象能够在以下强度条件下正常运行,不会出现任何错误:
服务器上几乎没有或根本没有可用的内存(RAM和DASD)
连接或模拟了最大实际(实际允许)数量的客户机
多个用户对相同的数据或帐户执行相同的事务
最繁重的事务量或最差的事务组合(请参见上面的“性能测试”)。
注:强度测试的目标可表述为确定和记录那些使系统无法继续正常运行的情况或条件。
技术:
使用为性能评测或负载测试制定的测试。
要对有限的资源进行测试,就应该在一台计算机上运行测试,而且应该减少或限制服务器上的RAM和DASD。
对于其他强度测试,应该使用多台客户机来运行相同的测试或互补的测试,以产生最繁重的事务量或最差的事务组合。
完成标准:
所计划的测试已全部执行,并且在达到或超出指定的系统限制时没有出现任何软件故障,或者导致系统出现故障条件的并不在指定的条件范围之内。
需考虑的特殊事项:
如果要增加网络工作强度,可能会需要使用网络工具来给网络加载消息或信息包。
应该暂时减少用于系统的DASD,以限制数据库可用空间的增长。
使多个客户机对相同的记录或数据帐户同时进行的访问达到同步。
6.9容量测试
容量测试使测试对象处理大量的数据,以确定是否达到了将使软件发生故障的极限。容量测试还将确定测试对象在给定时间内能够持续处理的最大负载或工作量。例如,如果测试对象正在为生成一份报表而处理一组数据库记录,那么容量测试就会使用一个大型的测试数据库。检验该软件是否正常运行并生成了正确的报表。
测试目标
核实测试对象在以下高容量条件下能否正常运行:
连接或模拟了最大(实际或实际允许)数量的客户机,所有客户机在长时间内执行相同的、且情况(性能)最坏的业务功能。
已达到最大的数据库大小(实际的或按比例缩放的),而且同时执行多个查询或报表事务。
技术:
使用为性能评测或负载测试制定的测试。
应该使用多台客户机来运行相同的测试或互补的测试,以便在长时间内产生最繁重的事务量或最差的事务组合(请参见上面的“强度测试”)
创建最大的数据库大小(实际的、按比例缩放的、或填充了代表性数据的数据库),并使用多台客户机在长时间内同时运行查询和报表事务。
完成标准:
所计划的测试已全部执行,而且达到或超出指定的系统限制时没有出现任何软件故障。
需考虑的特殊事项:
6.10安全性和访问控制测试
安全性和访问控制测试侧重于安全性的两个关键方面:
应用程序级别的安全性,包括对数据或业务功能的访问。
系统级别的安全性,包括对系统的登录或远程访问。
系统级别的安全性可确保只有具备系统访问权限的用户才能访问应用程序,而且只能通过相应的网关来访问。
测试目标
应用程序级别的安全性:核实Actor只能访问其所属用户类型已被授权访问的那些功能或数据。
系统级别的安全性:核实只有具备系统和应用程序访问权限的Actor才能访问系统和应用程序。
技术:
应用程序级别的安全性:确定并列出各用户类型及其被授权访问的功能或数据。
为各用户类型创建测试,并通过创建各用户类型所特有的事务来核实其权限。
修改用户类型并为相同的用户重新运行测试。对于每种用户类型,确保正确地提供或拒绝了这些附加的功能或数据。
完成标准:
各种已知的Actor类型都可访问相应的功能或数据,而且所有事务都按照预期的方式运行,并在先前的应用程序功能测试中运行了所有的事务。
需考虑的特殊事项:
必须与相应的网络或系统管理员一直对系统访问权进行检查和讨论。由于此测试可能是网络管理可系统管理的职能,可能会不需要执行此测试。
6.11故障转移和恢复测试
故障转移和恢复测试可确保测试对象能成功完成转移,并能从导致意外数据损失或数据完整性破坏的各种硬件、软件可网络故障中恢复。
故障转移测试可确保:对于必须持续运行的系统,一旦发生故障,备用系统就将不失时机地“顶替”发生故障的系统,以避免丢失任何数据或事务。
恢复测试是一种对抗性的测试过程。在这种测试中,将把应用程序或系统置于极端的条件下(或者是模拟的极端条件下),以产生故障(例如设备输入/输出(I/O)故障或无效的数据库指针和关键字)。然后调用恢复进程并监测和检查应用程序和系统,核实应用程序或系统和数据已得到了正确的恢复。
测试目标
确保恢复进程(手工或自动)将数据库、应用程序和系统正确地恢复到预期的已知状态。
测试中将包括以下各种情况:
客户机断电
服务器断电
通过网络服务器产生的通信中断
DASD和/或DASD控制器被中断、断电或与DASD和/或DASD控制器的通信中断
周期未完成(数据过滤进程被中断,数据同步进程被中断)。
数据库指针或关键字无效
数据库中的数据元素无效或遭到破坏
技术:
应该使用为功能和业务周期测试创建的测试来创建一系列的事务。一旦达到预期的测试起点,就应该分别执行或模拟以下操作:
² 客户机断电:关闭PC机的电源、服务器断电:模拟或启动服务器的断电过程。
通过网络服务器产生的中断:模拟或启动网络的通信中断。
DASD和DASD控制器被中断、断电或与DASD和DASD控制器的通信中断:模拟与一个或多个DASD控制器或设备的通信,或实际取消这种通信。
一旦实现了上述情况(或模拟情况),就应该执行其他事务。而且一旦达到第二个测试点状态,就应调用恢复过程。
在测试不完整的周期时,所使用的技术与上述技术相同,只不过应异常终止或提前终止数据库进程本身。
对以下情况的测试需要达到一个已知的数据库状态。当破坏若干个数据库字段、指针和关键字时,应该以手工方式在数据库中(通过数据库工具)直接进行。其他事务应该通过使用“应用程序功能测试”和“业务周期测试”中的测试来执行,并且应执行完整的周期。
完成标准:
在所有上述情况中,应用程序、数据库和系统应该在恢复过程完成时立即返回到一个已知的预期状态。此状态包括仅限于已知损坏的字段、指针或关键字范围内的数据损坏,以及表明进程或事务因中断面未被完成的报表。
需考虑的特殊事项:
恢复测试会给其他操作带来许多的麻烦。断开缆线连接的方法(模拟断电或通信中断)可能并不可取或不可行。所以,可能会需要采用其他方法,例如诊断性软件工具。
需要系统(或计算机操作)、数据库和网络组中的资源。
这些测试应该在工作时间之外或在一台独立的计算机上运行。
6.12配置测试
配置测试核实测试对象在不同的软件和硬件配置中的运行情况。在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同。客户机工作站可能会安装不同的软件 例如,应用程序、驱动程序等 而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。
测试目标
核实测试可在所需的硬件和软件配置中正常运行。
技术:
使用功能测试脚本,测试过程中或在测试开始之前,打开各种与非测试对象相关的软件(例如Microsoft应用程序:Excel和Word),然后将其关闭。
执行所选的事务,以模拟Actor与测试对象软件和非测试对象软件之间的交互。
重复上述步骤,尽量减少客户机工作站上的常规可用内存。
完成标准:
对于测试对象软件和非测试对象软件的各种组合,所有事务都成功完成,没有出现任何故障。
需考虑的特殊事项:
应用程序正在运行什么数据?例如,在Excel中打开的大型电子表格,或是在Word中打开的100页文档。
作为此测试的一部分,应将整修系统、Netware、网络服务器、数据库等都记录下来。
6.13安装测试
安装测试有两个目的。第一个目的是确保该软件在正常情况和异常情况的不同条件下 例如,进行首次安装、升级、完整的或自定义的安装 都能进行安装。异常情况包括磁盘空间不足、缺少目录创建权限等。第二个目的是核实软件在安装后可立即正常运行。这通常是指运行大量为功能测试制定的测试。
测试目标
核实在以下情况下,测试对象可正确地安装到各种所需的硬件配置中:
首次安装。以前从未安装过<项目名称>的新计算机
更新。以前安装过相同版本的<项目名称>的计算机
更新。以前安装过<Project Name>的较早版本的计算机
技术:
手工开发脚本或开发自动脚本,以验证目标计算机的状况 首次安装<项目名称>从未安装过;<项目名称>安装过相同或较早的版本。
启动或执行安装。
使用预先确定的功能测试脚本子集来运行事务。
完成标准:
<项目名称>事务成功执行,没有出现任何故障。
需考虑的特殊事项:
应该选择<项目名称>的哪些事务才能准确地测试出<项目名称>应用程序已经成功安装,而且没有遗漏主要的软件构件?
7.缺陷严重级别定义
严重程度级别
缺陷性质
定义标准
A+
致命缺陷
(用户级)
客户反馈缺陷
A
致命缺陷
(系统级)
造成服务器操纵系统、相关应用服务器死机、或整个系统网络系统瘫痪等缺陷
B
严重缺陷
(应用级)
影响系统稳定性、部分网络系统死机瘫痪类应用级的Bug;造成应用子系统死机
C
一般缺陷
(业务级)
业务处理终止或者出错、交易出错及其一致性问题、安全容错或性能方面问题、安装部署不符等问题
D
微小缺陷
(操作级)
易用性、界面规范。提示错误等问题
E
建议缺陷
(文档级)
安装部署手册、操作手册、在线帮助、代码规范性(优化)、可跟踪性
8.附录:项目任务
以下是一些与测试有关的任务:
² 制定测试计划
² 设计测试
² 复审和评估测试覆盖
² 实施测试
² 执行测试
² 执行测试过程
² 评估测试的执行情况
² 恢复暂停的测试
² 核实结果
² 调查意外结果
² 记录缺陷
² 对测试进行评估
² 评估测试用例覆盖
² 评估代码覆盖
² 分析缺陷
² 确定是否达到了测试完成标准与成功标准
展开阅读全文