技术
利用有效的和无效的数据来执行各个用例、用例流或
功能,以核实以下内容:
在使用有效数据时得到预期的结果。
在使用无效数据时显示相应的错误消息或警告消息。
各业务规则都得到了正确的应用。
开始标准
模块功能完成,提交测试
完成标准
所有缺陷已经被修复
测试重点和优先级
需考虑的特殊事项
确定或说明那些将对功能测试的实施和执行造成影响的事项或因素(内部的或外部的)
5.2数据和数据库完整性测试
要在xxxx系统中,数据库和数据库进程应作为一个子系统来进行测试。
在测试这些子
系统时,不应将测试对象的用户界面用作数据的接口。
对于数据库管理系统还需要进行深入
的研究,以确定可以支持以下测试的工具和技术。
表5-2数据和数据库完整性测试策略
测试目标
确保数据访问方法和进程正常运行、确保数据一致性
测试范围
XXXX系统所有功能模块
技术
检查数据库,确保数据已按预期的方式填充,并且所
有的数据库事件已正常发生;或者检查所返回的数据,确保正当的理由检索到了正确的数据
开始标准
数据库可正常运行、测试版本已经提交测试
完成标准
所有的数据库访问方法和进程都按照设计的方式运行,数据没有遭到损坏。
所计划的测试已全部执行。
发现的缺陷已全部解决。
测试重点和优先级
需考虑的特殊事项
确保数据的一致性和完整性
5.3用户界面测试
用户界面测试用于核实用户与软件之间的交互。
用户界面测试的目标是确保用户界面会
通过测试对象的功能来为用户提供相应的访问或浏览功能。
用户界面测试还可确保界面中的
对象按照预期的方式运行,并符合公司或行业的标准。
表5-3用户界面测试策略
测试目标
通过测试进行的浏览可正确反映业务的功能和需求,
这种浏览包括窗口与窗口之间、字段与字段之间的浏览,以及各种访问方法(Tab键、鼠标移动和快捷键)的使用。
窗口的对象和特征(例如,菜单、大小、位置、状态
和中心)都符合标准。
测试范围
XXXX系统所有功能模块
技术
为每个窗口创建或修改测试,以核实各个应用程序窗口和对象都可正确地进行浏览,并处于正常的对象状态。
开始标准
测试版本已经提交测试
完成标准
成功地核实出各个窗口都与基准版本保持一致,合可接受标准。
或符
测试重点和优先级
需考虑的特殊事项
并不是所有定制或第三方对象的特征都可访问。
5.4安全性和访问控制测试
安全性和访问控制测试侧重于安全性的两个关键方面:
应用程序级别的安全性,包括对数据或业务功能的访问。
系统级别的安全性,包括对系统的登录或远程访问。
应用程序级别的安全性可确保:
在预期的安全性情况下只能访问有限的数据。
表5-4安全性和访问控制测试策略
测试目标
应用程序级别的数据安全性
测试范围
XXXX系统安全
技术
应用程序级别的安全性:
确定并列出各用户类型及其被授权访问的功能或数据。
为各用户类型创建测试,并通过创建各用户类型所特有
的事务来核实其权限。
开始标准
XXXX系统模块提交
完成标准
各种已知的Actor类型都可访冋相应的功能或数据,而且所有事务都按照预期的方式运行,并在先前的应用程
序功能测试中运行了所有的事务。
测试重点和优先级
需考虑的特殊事项
必须与相应的网络或系统管理员一直对系统访问权进行检查和讨论。
由于此测试可能是网络管理可系统管理的职能,可能会不需要执行此测试。
5.5性能测试
性能测试对响应时间、事务处理速率和其他与时间相关的需求进行评测和评估。
性能评
测的目标是核实性能需求是否都已满足。
实施和执行性能评测的目的是将测试对象的性能行
为当作条件(例如工作量或硬件配置)的一种函数来进行评测和微调。
注:
以下所说的事务是指逻辑业务事务”。
这种事务被定义为将由系统的某个Actor通
过使用测试对象来执行的特定用例,添加或修改给定的合同。
表5-5性能评测策略
测试目标
核实所指定的事务或业务功能在以下情况下的性能行为:
正常的预期工作量
预期的最繁重工作量
测试范围
队列消息、主题消息(并发访问)
技术
使用代码驱动桩的方式
开始标准
功能测试完成
完成标准
性能达到需求,无致命性能障碍
测试重点和优先级
需考虑的特殊事项
需要考虑到数据量的大小以及大数据量
5.6故障转移和恢复测试
故障转移和恢复测试可确保测试对象能成功完成转移,并能从导致意外数据损失或数据
完整性破坏的各种硬件、软件和网络故障中恢复。
故障转移测试可确保:
对于必须持续运行的系统,一旦发生故障,备用系统就将不失时机地顶替”发生故障的系统,以避免丢失任何数据或事务。
恢复测试是一种对抗性的测试过程。
在这种测试中,将把应用程序或系统置于极端的条
件下(或者是模拟的极端条件下),以产生故障(例如设备输入/输出(I/O)故障或无效的
数据库指针和关键字)。
然后调用恢复进程并监测和检查应用程序和系统,核实应用程序或
系统和数据已得到了正确的恢复。
表5-6故障转移和恢复测试策略
测试目标
确保恢复进程(手工或自动)将数据库、应用程序和系统正确地恢复到预期的已知状态。
测试范围
XXXX系统全部模块
技术
使用为功能和业务周期创建的测试来创建一系列的事务。
达到预期的测试起点后,分别执行或模拟以下操作:
客户机断电:
关闭PC机的电源。
服务器断电:
模拟或启动服务器的断电过程。
通过网络服务器产生的中断:
断开通信线路的连接或关
闭网络服务器或路由器的电源。
一旦实现了上述情况(或模拟情况),就应该执行其
他事务。
而且一旦达到第二个测试点状态,就应调用恢复过程。
在测试不完整的周期时,所使用的技术与上述技术相同,只不过应异常终止或提前终止数据库进程本身。
开始标准
XXXX系统功能测试已经结束
完成标准
在所有上述情况中,应用程序、数据库和系统应该在恢复过程完成时立即返回到一个已知的预期状态。
此状态包括仅限于已知损坏的字段、指针或关键字范
围内的数据损坏,以及表明进程或事务因中断面未被完成的报表。
测试重点和优先级
需考虑的特殊事项
恢复测试会给其他操作带来许多的麻烦。
断开缆线连
接的方法(模拟断电或通信中断)可能并不可取或不可行。
所以,可能会需要采用其他方法,例如诊断性软件工具。
这些测试应该在工作时间之外或在一台独立的计算
机上运行。
5.7回归测试
回归测试指在测试或其他活动中发现的缺陷经过修改后重新测试。
目的是验证软件缺陷
得到了正确的修复,同时对系统的变更没有影响以前的功能。
回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。
当软件中所含错误被发现时,如果错误跟踪与管理系统不够完善,就可能会遗漏对这些
错误的修改;而开发者对错误理解的不够透彻,也可能导致所做的修改只修正了错误的外在
表现,而没有修复错误本身,从而造成修改失败;修改还有可能产生副作用从而导致软件未被修改的部分产生新的问题,使本来工作正常的功能产生错误。
同样,在有新代码加入软件
的时候,除了新加入的代码中有可能含有错误外,新代码还有可能对原有的代码带来影响。
因此,每当软件发生变化时,我们就必须重新测试现有的功能,以便确定修改是否达到了预期的目的,检查修改是否损害了原有的正常功能。
同时,还需要补充新的测试用例来测试新的或被修改了的功能。
为了验证修改的正确性及其影响就需要进行回归测试。
回归测试策略分为完全重复性测试和选择性重复测试。
选择性重复测试包括:
覆盖修改
法、周边影响法、指标达成法。
表5-7回归测试策略
测试目标
检验已经被发现的缺陷有没有被正确的修改和修改过程中有没有引发新的缺陷。
测试范围
XXXX系统所有功能模块
手工开发脚本或开发自动脚本,以验证新版本的缺陷
技术
已经被正确修复并且没有造成新的缺陷。
技术策略使用选择性重复测试方法进行。
开始标准
提交修改后的版本
完成标准
xxxx系统所有Bug已经修复没有新的Bug产生。
测试重点和优先级
需考虑的特殊事项
5.8安装测试
安装测试有两个目的:
第一个目的是确保该软件在正常或异常情况下都能进行安装,例如,进行首次、升级、完整的或自定义的安装。
异常情况包括磁盘空间不足、缺少目录创建权限等。
第二个目的是核实软件在安装后可立即正常运行。
这通常是指运行大量为功能测试制定
的测试。
表5-8安装测试策略
测试目标
核实在以下情况下,测试对象可正确地安装到各种所需的硬件配置中:
首次安装:
以前从未安装过"XX系统的新计算机更新安装:
以前安装过相冋版本的****系统的计算机
以前安装过XXXX系统较早版本的计算机
测试范围
XXXX系统的安装程序
技术
启动或执行安装。
使用预先确疋的功能测试脚本子集来运仃事务。
开始标准
XXXX系统的完整安装包已经提交
完成标准
XXXX系统事务成功执行,没有出现任何故障。
测试重点和优先级
需考虑的特殊事项
应该选择XXXX系统的哪些事务才能准确地测试出XXXX
系统应用程序已经成功安装,而且没有遗漏主要的软件构件。
6测试风险分析及优先级
6.1测试风险
1、交付日期
由于开发人员未能在计划规定的日期内交付被测试对象,可能会导致测试计划时间的
滞后,影响到整个项目进度。
或者由于交付日期的滞后,造成测试时间的缩减,影响测试工作质量。
规避方法:
开发人员尽可能的在计划规定的日期内交付被测对象。
如果交付的被测试
对象确实需要延后,应该得到项目组长、开发经理、QA的认可,并且尽可能的保证测试
工程时间。
2、测试需求
在开发人员提供的测试需求中,可能会存在需求点的遗漏、需求指标的估算不足或者过于的远离实际,项目过程中测试需求的变更等,这些可能会造成测试的不充分或者测试
时间、资源的浪费。
规避方法:
在将测试需求提交给开发人员前,应该确保需求中各项指标数据与实际测
试过程中误差尽可能的小。
最好不要随意的进行需求的变更,否则造成测试过程管理上的
混乱。
如果需要对测试需求进行变更,应该得到项目组长、开发经理、QA的认可。
3、测试范围
由于开发过程中模块的开发范围优先级别的不一致,造成测试不能连贯性,这样会对
测试人员在进行测试用例编写过程中,不能很好的将前后模块完成的对应起来,导致测试的范围缺乏必要的广度,造成测试的不充分。
规避方法:
在测试人员指定好测试范围后,开发人员能够提供必要的支持,对测试人
员划定的测试范围进行评审和建议。
4、人员的能力
由于开发过程中,项目需要利用到很多的不同的技术做支撑。
而测试人员不可能去对
每一门技术做到如数家珍,面面俱到,这就涉及到一个测试工作的深度问题。
由于测试人员自身的业务技术知识不够也会影响到测试质量。
规避办法:
在测试之前开发人员能够将相关技术做一些简单讲解,提供一些相关技术
资料,并对可能会出现的问题,能给出一些指导性的建议。
测试人员尽可能的有目的、有计划的、有针对的尽快提高自己的业务素质。
5、测试环境
在测试过程中,由于网络故障、计算机硬件故障、或者其他软硬件支持的问题对测试
进度造成影响。
规避办法:
在测试之前做好这些相关准备工作,并且要考虑到如果发生了如何尽快的
解决,以不致影响到测试进度。
6、劣质组件
开发人员提供的被测对象,存在着很多显而易见的BUG。
由于这些劣质组件的存在,
会给测试工作带来了很多的资源浪费。
规避方法:
开发人员在提交被测对象之前,能够进行必要的自测。
7、测试工具
在进行一些性能测试或者其他利用到测试工具的测试过程中,由于测试工具自身的原
因造成测试偏差,影响测试结果。
规避方法:
在测试过程中,进行人为的自检,以发现自动化工具造成的偏差,把偏差值控制在一个很小的范围之内,不能说测试工具得出的结果是100%正确的。
6.2功能模块测试优先级
表6-1测试范围的功能点模块划分
模块/功能点
功能描述
备注
优先级
客
户端
随机为访客分
配会话名称
访客名称予以区别,避免客服人员在同
时应对多个咨询时,弄乱客户次序
新功能
高
发送方式
在对话窗口设置了发送快捷键
新功能
高
发送附件
客服端的附件发送功能,可直接为客户
提供资料帮助,也方便客户直接提供问
题图片,更加直观
旧功能
低
接收信息
客服能准确接收到访客的信息,
旧功能
低
客户能准确接收到客服的回话,
客服之间会话准确没有错乱
客服列表
客户能正确看到客服列表和信息
客服能准确看到客服列表的信息
旧功能
低
访客离线提示
访客离线后,在客服会话端提示访客的
离线信息,并限制客服对离线的访客进
行回复
新功能
高
客服分组
允许一个客服冋时属于几个不冋的组,
并且能正确显示个人信息和上线、下线
的信息
新功能
高
客服列表刷新
客服上线、下线后,客服和客户看到的
客服列表都能即时显示当前状态
新功能
高
管
理
端
保存会话记录
后台保存会话记录
新功能
高
删除会话记录
对保存的会话记录进行删除
新功能
高
查询用户
根据用户名称、昵称模糊查询
旧功能
低
修改用户信息
对用户的信息进行更新
旧功能
低
查看在线用户
查看当前在线用户的名单
新功能
高
清理在线用户
可以断开在线用户的连接,使其下线
新功能
高