××××××系统 系统测试计划
撰写: 审核:
××××××测试中心
日期:××××年8月
变更记录
A 1.4 增加测试后需要提交的测试文 档 M M 4.2 全部 修改测试工具名称及版本 更新目录及页眉页脚 注:变更分三种:A——增加,M——修改,D——删除
目录
1 前言 ...................................................... 3
1.1
目的 ................................................. 3
1.2 1.3 1.4
术语定义 ............................................. 3 测试参考文档 ......................................... 3 测试提交文档 ......................................... 4
2 测试进度与工作量 ........................................... 5 3 测试启停标准 ............................................... 5 4 测试资源 ................................................... 6
4.1 4.2 4.3
人力资源 ............................................. 6 测试环境 ............................................. 6 测试工具 ............................................. 7
5 测试策略 ................................................... 7
5.1 5.2 5.3 5.4 5.5 5.6 5.7 5.8
功能测试 ............................................. 8 数据和数据库完整性测试 ............................... 8 用户界面测试 ......................................... 9 安全性和访问控制测试 ................................ 10 性能测试 ............................................ 10 故障转移和恢复测试 .................................. 11 回归测试 ............................................ 12 安装测试 ............................................ 13
6 测试风险分析及优先级 ...................................... 14
6.1 6.2
测试风险 ............................................ 14 功能模块测试优先级 .................................. 15
1 前言
项目名称:××××系统V2.0,以下简称××××系统
××××系统 V2.0主要包括××××系统服务器、××××系统 Web服务器,是一种无客户端的纯Web模式交流平台,适合广域网上提供客户服务和咨询服务办公模式。××××系统是为了支持M2M网站系统的在线客服功能,实现M2M网站访客与网站管理员进行在线交流。
同时××××系统也是网上交互平台,实现即时交流、咨询和服务等。实现了网上即时客服功能,实现了企业产品的售前、售后服务功能,由原来电话咨询服务转为网上在线咨询和服务模式,为企业节省了服务费用,同时也为用户咨询和服务带来方便。
1.1 目的
本测试计划的编写目的在于使测试人员更好地执行测试工作,它说明了测试工作的各项要求和性能指标,明确测试任务,阐述实用范围及背景,提供维护人员解决问题所需的条件,形成本系统的质量记录,为以后工作提供参考资料。
本测试报告的预期读者是××××系统即时办公系统的软件开发人员、项目管理人员、研发管理人员、测试经理、测试人员、维护人员。
1.2 术语定义
XMPP协议:XMPP(Extensible Messageing and Presence Protocol:可扩展信息与存在协议)是目前主流的四种IM(Instant Messaging,即时信息)协议之一,其他三种分别为:即时信息和空间协议(IMPP)、空间和即时信息协议(PRIM)、会话启动协议(SIP)。在这四种协议中,XMPP是最灵活的。XMPP是一种基于XML的协议,它继承了在XML环境中灵活的发展性。因此,基于XMPP的应用具有超强的可扩展性。经过扩展以后的XMPP可以通过发送扩展的信息来处理用户的需求,以及在XMPP的顶端建立如内容发布系统和基于地址的服务等应用程序。而且,XMPP包含了针对服务器端的软件协议,使之能与另一个进行通话,这使得开发者更容易建立客户应用程序或给一个配好系统添加功能。
1.3 测试参考文档
下表列出了制定测试计划时所使用的文档,并标明了各文档的可用性:
表1-1 测试参考文档
已被接收或已经过复审 已被接收 文档 ××××系统即时办公系统需求规已创建或可用 作者或来源 备注 可用 格说明书 ××××系统 Express V2.0 开发可用 计划 ××× 已被接收 ××× 1.4 测试提交文档
《××××系统 V2.0 系统结题验收测试报告》 《××××系统 V2.0 质量分析报告》 《××××系统 V2.0 性能测试报告》 《××××系统 V2.0 问题报告》 《××××系统 V2.0 系统测试用例》 《××××系统 V2.0 系统测试报告》 《××××系统 V2.0 系统测试分析报告》 《××××系统 V2.0 性能测试计划》 《××××系统 V2.0 系统测试计划》
2 测试进度与工作量
表2-1 测试进度与工作量估计表
测试活动 测试准备 功能测试 回归测试 计划开始日期 计划结束日期 工作量估计 5个工作日 6个工作日 3个工作日 2个工作日 5个工作日 2个工作日 4个工作日 工作成果 测试计划、测试用例 功能测试总结 测试记录及BUG提交 测试记录及BUG提交 性能测试报告 提交安装程序 测试分析报告编写 相关结题文档 ××××-7-25 ××××-7-31 ××××-8-1 ××××-8-8 ××××-8-11 ××××-8-13 其它类型测试 ××××-8-14 ××××-8-15 性能测试 安装测试 其他 ××××-8-18 ××××-8-23 ××××-8-24 ××××-8-26 ××××-8-27 ××××-9-02 其它类型测试包括:数据库和数据完整性能测试、安全性和访问控制测试、故障转移和恢复测试、配置测试。
3 测试启停标准
表3-1 系统测试开始、停止标准表
测试阶段 开始标准 停止标准 (1) 按照系统测试计划,完成了系统测试。 (2) 达到了确认准则中关于系统测试所规定的覆盖率(达到100%)的要求。 模块的单元测试结系统测试 束,达到单元测试停止标准。 (3) 系统满足产品需求规格说明书的要求。 (4) 缺陷状态为closed或later状态。 (5) 在系统测试中发现的错误已经得到修改,各级缺陷修复率达到标准。 (6) 系统测试的缺陷密度(个/KLOC)需要符合组织级质量目标中要求并达到项目控制范围。 4 测试资源
4.1 人力资源
下表列出了此项目的人员配备计划。
表4-1 测试人员需求表
角色 所推荐的最少资源 具体职责说明 撰写测试计划(总体)、 撰写测试小组工作规范、 设计TD库结构、 检查组内工作、 撰写测试分析报告、 分析测试需求、 设计测试用例、 执行测试工作、 撰写测试记录、 撰写测试总结 撰写性能测试分析报告、 执行性能测试工作、 撰写性能测试记录、 撰写性能测试总结 功能测试员 2人 性能测试员 1人 4.2 测试环境
表4-2 测试环境说明表 软件环境(相关软件、操作系统等) 服务器端: 操作系统: Windows XP+SP2 mysql5,Tomcat5.5.25,JDK1.6.03版本 客户端: 操作系统: Windows XP+SP2 浏览器: MicroSoft IE6.0 硬件环境(网络、设备等) 服务器配置: PC机 配置:Intel(R) Pentium(R) 4 CPU 1.60GHz,1.00GB内存 客户端配置: PC机 配置:Intel(R) Pentium(R) 4 CPU 1.60GHz,1.00GB内存 网络环境 采用10/100M办公网 4.3 测试工具
下表列出了测试使用的工具。
表4-3 测试工具使用表
用途 BUG管理 文档书写 配置管理工具 测试管理工具 自动化测试工具 开发IDE 工具 TestDirector8.0 Officer 2003/2007 TortoiseSVN TestDirector8.0 LoadRunner8.0 Eclipse3.2 生产厂商/自产 Mercury Interactive Microsoft 开源 Mercury Interactive HP 免费 版本 8.0 2007 1.3.5 8.0 8.0 3.2 5 测试策略
测试策略提供了对测试对象进行测试的推荐方法。对于每种测试,都应提供测试说明,并解释其实施的原因。制定测试策略时所考虑的主要事项有:将要使用的技术以及判断测试何时完成的标准。下面列出了在进行每项测试时需考虑的事项,除此之外,测试还只应在安全的环境中使用已知的、有控制的数据库来执行。
5.1 功能测试
对测试对象的功能测试应侧重于所有可直接追踪到用例或业务功能和业务规则的测试需求。这种测试的目标是核实数据的接受、处理和检索是否正确,以及业务规则的实施是否恰当。此类测试基于黑盒技术,该技术通过图形用户界面(GUI)与应用程序进行交互,并对交互的输出或结果进行分析,以此来核实应用程序及其内部进程。以下为各种应用程序列出了推荐使用的测试概要:
表5-1 功能测试策略
测试目标 测试范围 确保测试的功能正常 ××××系统所有模块 利用有效的和无效的数据来执行各个用例、用例流或功能,以核实以下内容: 技术 在使用有效数据时得到预期的结果。 在使用无效数据时显示相应的错误消息或警告消息。 各业务规则都得到了正确的应用。 开始标准 完成标准 测试重点和优先级 模块功能完成,提交测试 所有缺陷已经被修复 确定或说明那些将对功能测试的实施和执行造成影需考虑的特殊事项 响的事项或因素(内部的或外部的) 5.2 数据和数据库完整性测试
要在××××系统中,数据库和数据库进程应作为一个子系统来进行测试。在测试这些子系统时,不应将测试对象的用户界面用作数据的接口。对于数据库管理系统还需要进行深入的研究,以确定可以支持以下测试的工具和技术。
表5-2 数据和数据库完整性测试策略
测试目标 测试范围 技术 确保数据访问方法和进程正常运行、确保数据一致性 ××××系统所有功能模块 检查数据库,确保数据已按预期的方式填充,并且所有的数据库事件已正常发生;或者检查所返回的数据,确保正当的理由检索到了正确的数据 开始标准 数据库可正常运行、测试版本已经提交测试 所有的数据库访问方法和进程都按照设计的方式运完成标准 行,数据没有遭到损坏。 所计划的测试已全部执行。发现的缺陷已全部解决。 测试重点和优先级 需考虑的特殊事项 确保数据的一致性和完整性 5.3 用户界面测试
用户界面测试用于核实用户与软件之间的交互。用户界面测试的目标是确保用户界面会通过测试对象的功能来为用户提供相应的访问或浏览功能。用户界面测试还可确保界面中的对象按照预期的方式运行,并符合公司或行业的标准。
表5-3用户界面测试策略
通过测试进行的浏览可正确反映业务的功能和需求,这种浏览包括窗口与窗口之间、字段与字段之间的浏览,测试目标 以及各种访问方法(Tab键、鼠标移动和快捷键)的使用。 窗口的对象和特征(例如,菜单、大小、位置、状态和中心)都符合标准。 测试范围 技术 口和对象都可正确地进行浏览,并处于正常的对象状态。 开始标准 完成标准 合可接受标准。 测试重点和优先级 需考虑的特殊事项 测试版本已经提交测试 成功地核实出各个窗口都与基准版本保持一致,或符××××系统所有功能模块 为每个窗口创建或修改测试,以核实各个应用程序窗 并不是所有定制或第三方对象的特征都可访问。 5.4 安全性和访问控制测试
安全性和访问控制测试侧重于安全性的两个关键方面: 应用程序级别的安全性,包括对数据或业务功能的访问。 系统级别的安全性,包括对系统的登录或远程访问。
应用程序级别的安全性可确保:在预期的安全性情况下只能访问有限的数据。
表5-4安全性和访问控制测试策略
测试目标 测试范围 应用程序级别的数据安全性 ××××系统安全 应用程序级别的安全性: 确定并列出各用户类型及其被授权访问的功能或数据。 技术 为各用户类型创建测试,并通过创建各用户类型所特有的事务来核实其权限。 开始标准 ××××系统模块提交 各种已知的Actor类型都可访问相应的功能或数据,完成标准 而且所有事务都按照预期的方式运行,并在先前的应用程序功能测试中运行了所有的事务。 测试重点和优先级 必须与相应的网络或系统管理员一直对系统访问权需考虑的特殊事项 进行检查和讨论。由于此测试可能是网络管理可系统管理的职能,可能会不需要执行此测试。 5.5 性能测试
性能测试对响应时间、事务处理速率和其他与时间相关的需求进行评测和评估。性能评测的目标是核实性能需求是否都已满足。实施和执行性能评测的目的是将测试对象的性能行为当作条件(例如工作量或硬件配置)的一种函数来进行评测和微调。
注:以下所说的事务是指“逻辑业务事务”。这种事务被定义为将由系统的某个Actor通过使用测试对象来执行的特定用例,添加或修改给定的合同。
表5-5 性能评测策略
核实所指定的事务或业务功能在以下情况下的性能行为: 测试目标 正常的预期工作量 预期的最繁重工作量 测试范围 技术 开始标准 完成标准 测试重点和优先级 需考虑的特殊事项 队列消息、主题消息(并发访问) 使用代码驱动桩的方式 功能测试完成 性能达到需求,无致命性能障碍 需要考虑到数据量的大小以及大数据量 5.6 故障转移和恢复测试
故障转移和恢复测试可确保测试对象能成功完成转移,并能从导致意外数据损失或数据完整性破坏的各种硬件、软件和网络故障中恢复。
故障转移测试可确保:对于必须持续运行的系统,一旦发生故障,备用系统就将不失时机地“顶替”发生故障的系统,以避免丢失任何数据或事务。
恢复测试是一种对抗性的测试过程。在这种测试中,将把应用程序或系统置于极端的条件下(或者是模拟的极端条件下),以产生故障(例如设备输入/输出(I/O)故障或无效的数据库指针和关键字)。然后调用恢复进程并监测和检查应用程序和系统,核实应用程序或系统和数据已得到了正确的恢复。
表5-6 故障转移和恢复测试策略
确保恢复进程(手工或自动)将数据库、应用程序和测试目标 系统正确地恢复到预期的已知状态。 测试范围 ××××系统全部模块 使用为功能和业务周期创建的测试来创建一系列的事务。达到预期的测试起点后,分别执行或模拟以下操作: 技术 客户机断电:关闭PC机的电源。 服务器断电:模拟或启动服务器的断电过程。 通过网络服务器产生的中断:断开通信线路的连接或关闭网络服务器或路由器的电源。 一旦实现了上述情况(或模拟情况),就应该执行其他事务。而且一旦达到第二个测试点状态,就应调用恢复过程。 在测试不完整的周期时,所使用的技术与上述技术相同,只不过应异常终止或提前终止数据库进程本身。 开始标准 ××××系统功能测试已经结束 在所有上述情况中,应用程序、数据库和系统应该在恢复过程完成时立即返回到一个已知的预期状态。 完成标准 此状态包括仅限于已知损坏的字段、指针或关键字范围内的数据损坏,以及表明进程或事务因中断面未被完成的报表。 测试重点和优先级 恢复测试会给其他操作带来许多的麻烦。断开缆线连接的方法(模拟断电或通信中断)可能并不可取或不可行。需考虑的特殊事项 所以,可能会需要采用其他方法,例如诊断性软件工具。 这些测试应该在工作时间之外或在一台独立的计算机上运行。 5.7 回归测试
回归测试指在测试或其他活动中发现的缺陷经过修改后重新测试。目的是验证软件缺陷得到了正确的修复,同时对系统的变更没有影响以前的功能。回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。
当软件中所含错误被发现时,如果错误跟踪与管理系统不够完善,就可能会遗漏对这些错误的修改;而开发者对错误理解的不够透彻,也可能导致所做的修改只修正了错误的外在表现,而没有修复错误本身,从而造成修改失败;修改还有可能产生副作用从而导致软件未被修改的部分产生新的问题,使本来工作正常的功能产生错误。同样,在有新代码加入软件的时候,除了新加入的代码中有可能含有错误外,新代码还有可能对原有的代码带来影响。
因此,每当软件发生变化时,我们就必须重新测试现有的功能,以便确定修改是否达到了预期的目的,检查修改是否损害了原有的正常功能。同时,还需要补充新的测试用例来测试新的或被修改了的功能。为了验证修改的正确性及其影响就需要进行回归测试。
回归测试策略分为完全重复性测试和选择性重复测试。选择性重复测试包括:覆盖修改法、周边影响法、指标达成法。
表5-7 回归测试策略
检验已经被发现的缺陷有没有被正确的修改和修改测试目标 过程中有没有引发新的缺陷。 测试范围 ××××系统所有功能模块 手工开发脚本或开发自动脚本,以验证新版本的缺陷技术 已经被正确修复并且没有造成新的缺陷。 技术策略使用选择性重复测试方法进行。 开始标准 完成标准 测试重点和优先级 需考虑的特殊事项 提交修改后的版本 ××××系统所有Bug已经修复没有新的Bug产生 。 5.8 安装测试
安装测试有两个目的:
第一个目的是确保该软件在正常或异常情况下都能进行安装,例如,进行首次、升级、完整的或自定义的安装。异常情况包括磁盘空间不足、缺少目录创建权限等。
第二个目的是核实软件在安装后可立即正常运行。这通常是指运行大量为功能测试制定的测试。
表5-8 安装测试策略
核实在以下情况下,测试对象可正确地安装到各种所需的硬件配置中: 测试目标 首次安装:以前从未安装过××××系统的新计算机 更新安装:以前安装过相同版本的****系统的计算机 以前安装过××××系统较早版本的计算机 测试范围 技术 使用预先确定的功能测试脚本子集来运行事务。 开始标准 完成标准 测试重点和优先级 ××××系统的完整安装包已经提交 ××××系统事务成功执行,没有出现任何故障。 ××××系统的安装程序 启动或执行安装。 应该选择××××系统的哪些事务才能准确地测试出需考虑的特殊事项 ××××系统应用程序已经成功安装,而且没有遗漏主要的软件构件。 6 测试风险分析及优先级
6.1 测试风险
1、
交付日期
由于开发人员未能在计划规定的日期内交付被测试对象,可能会导致测试计划时间的滞后,影响到整个项目进度。或者由于交付日期的滞后,造成测试时间的缩减,影响测试工作质量。
规避方法:开发人员尽可能的在计划规定的日期内交付被测对象。如果交付的被测试对象确实需要延后,应该得到项目组长、开发经理、QA的认可,并且尽可能的保证测试工程时间。 2、
测试需求
在开发人员提供的测试需求中,可能会存在需求点的遗漏、需求指标的估算不足或者过于的远离实际,项目过程中测试需求的变更等,这些可能会造成测试的不充分或者测试时间、资源的浪费。
规避方法:在将测试需求提交给开发人员前,应该确保需求中各项指标数据与实际测试过程中误差尽可能的小。最好不要随意的进行需求的变更,否则造成测试过程管理上的混乱。如果需要对测试需求进行变更,应该得到项目组长、开发经理、QA的认可。 3、
测试范围
由于开发过程中模块的开发范围优先级别的不一致,造成测试不能连贯性,这样会对测试人员在进行测试用例编写过程中,不能很好的将前后模块完成的对应起来,导致测试的范围缺乏必要的广度,
造成测试的不充分。
规避方法:在测试人员指定好测试范围后,开发人员能够提供必要的支持,对测试人员划定的测试范围进行评审和建议。 4、
人员的能力
由于开发过程中,项目需要利用到很多的不同的技术做支撑。而测试人员不可能去对每一门技术做到如数家珍,面面俱到,这就涉及到一个测试工作的深度问题。由于测试人员自身的业务技术知识不够也会影响到测试质量。
规避办法:在测试之前开发人员能够将相关技术做一些简单讲解,提供一些相关技术资料,并对可能会出现的问题,能给出一些指导性的建议。测试人员尽可能的有目的、有计划的、有针对的尽快提高自己的业务素质。 5、
测试环境
在测试过程中,由于网络故障、计算机硬件故障、或者其他软硬件支持的问题对测试进度造成影响。
规避办法:在测试之前做好这些相关准备工作,并且要考虑到如果发生了如何尽快的解决,以不致影响到测试进度。 6、
劣质组件
开发人员提供的被测对象,存在着很多显而易见的BUG。由于这些劣质组件的存在,会给测试工作带来了很多的资源浪费。
规避方法:开发人员在提交被测对象之前,能够进行必要的自测。 7、
测试工具
在进行一些性能测试或者其他利用到测试工具的测试过程中,由于测试工具自身的原因造成测试偏差,影响测试结果。
规避方法:在测试过程中,进行人为的自检,以发现自动化工具造成的偏差,把偏差值控制在一个很小的范围之内,不能说测试工具得出的结果是100%正确的。
6.2 功能模块测试优先级
表6-1 测试范围的功能点模块划分
模块/功能点 客随机为访客分功能描述 访客名称予以区别,避免客服人员在同备注 新功能 优先级 高 户端 配会话名称 发送方式 时应对多个咨询时,弄乱客户次序 在对话窗口设置了发送快捷键 客服端的附件发送功能,可直接为客户新功能 高 发送附件 提供资料帮助,也方便客户直接提供问题图片,更加直观 客服能准确接收到访客的信息, 旧功能 低 接收信息 客户能准确接收到客服的回话, 客服之间会话准确没有错乱 客户能正确看到客服列表和信息 旧功能 低 客服列表 客服能准确看到客服列表的信息 访客离线后,在客服会话端提示访客的访客离线提示 离线信息,并限制客服对离线的访客进行回复 允许一个客服同时属于几个不同的组,客服分组 并且能正确显示个人信息和上线、下线的信息 客服上线、下线后,客服和客户看到的客服列表刷新 客服列表都能即时显示当前状态 保存会话记录 后台保存会话记录 删除会话记录 对保存的会话记录进行删除 管理端 查询用户 根据用户名称、昵称模糊查询 旧功能 低 新功能 高 新功能 高 新功能 高 新功能 新功能 旧功能 旧功能 新功能 新功能 高 高 低 低 高 高 修改用户信息 对用户的信息进行更新 查看在线用户 查看当前在线用户的名单 清理在线用户 可以断开在线用户的连接,使其下线
因篇幅问题不能全部显示,请点此查看更多更全内容