资源描述
基于WIFI智能插座的用户互动测试方案 QES-P-08-A/0-07A
密 级:¨公开 ¨秘密 ¨机密
受控状态:¨受控文件 ¨普通文件
文件编号:
基于WIFI智能插座的用户互动
测试方案
(编制时间:2014年3月11日)
文件标识
项目组名称
文件名称
基于WIFI智能插座的用户互动测试方案
文件位置
文件版本号
V1.0
文件状态
修改历史
版本
日期
说明
负责人
A0
2014-3-11
创建
目 录
1. 概述 4
1.1. 范围 4
1.2. 引用文档 4
2. 测试概要 4
2.1. 测试环境 4
2.2. 人力资源 5
2.3. 测试时间计划 6
2.4. 测试工具 6
3. 测试策略 6
3.1. 测试类型 8
3.1.1. 功能类型 8
3.1.2. 用户界面测试 8
3.1.3. 业务周期测试 9
3.1.4. 性能基准测试 10
3.1.5. 负载测试 11
3.1.6. 压力测试 11
3.1.7. 并发测试 12
3.1.8. 强度测试 12
3.1.9. 容量测试 13
3.1.10. 安全性和访问控制测试 14
3.1.11. 数据和数据库完整性测试 15
3.1.12. 故障转移和恢复测试 16
3.1.13. 安装测试 17
3.1.14. 配置测试 18
3.2. 测试策略 19
4. 测试对象及方法 19
4.1. 常用测试方法及通用功能测试注意事项 19
4.1.1. 常用测试方法 19
4.1.2. 通用功能测试注意事项 23
4.2. 功能测试对象及测试重点 24
4.2.1. 用户登录 24
4.2.2. 消息推送 24
4.2.3. 开关控制 25
4.2.4. 设备管理 26
4.2.5. 综合查询 26
4.2.6. 数据分析 26
4.2.7. 指示灯状态 26
4.2.8. 安装测试 26
4.3. 性能测试对象及测试重点 27
4.3.1. 负载压力测试 27
4.3.1.1. 用户登录 27
4.3.1.2. 能耗查询 27
4.3.1.3. 开关控制 28
4.3.2. 稳定性测试 29
1. 概述
1.1. 范围
对智能插座、手机客户端和服务器端软件三者之间实现互动的过程进行系统测试。
系统测试目标:满足需求规格说明书中各项功能要求,且各功能使用正确。
主要测试内容包括:1.用户注册、登录、修改信息;2.APP接收服务器推送的应用消息;3.通过APP对插座进行实时和定时的开关功能;4.通过APP查询插座开关状态、电量信息、设备信息。
性能测试及其他非功能性测试内容待定。
1.2. 引用文档
下表列出了制定测试计划所引用的文档:
表 Error! No text of specified style in document.1 参考文献
序号
文档名称
版本号
作者或来源
备注
1
基于WIFI智能插座的用户互动设计方案20140114-lt
V1.0
2. 测试概要
2.1. 测试环境
描述测试该项目所需要的硬件环境,见“表 ”
表 Error! No text of specified style in document.2 测试硬件环境
设备名称
数量
型号
备注
Android手机
3
描述测试该项目所需要的软件环境,见“表 ”
表 Error! No text of specified style in document.3 测试软件环境
软件名称
版本号
备注
2.2. 人力资源
所有参与此项目的测试人员见“表 ”
表 Error! No text of specified style in document.4 测试人力资源
角色
资源数量/具体人员
具体职责或注释
测试经理
测试项目经理
1
进行管理监督。
职责:提供技术指导、获取适当的资源、提供管理报告
测试设计员
1
确定测试用例、确定测试用例的优先级并实施测试用例。
职责:生成测试计划、生成测试模型、评估测试工作的有效性
测试员
3
执行测试。
职责:执行测试、记录结果、从错误中恢复、记录变更请求
测试系统管理员
1
确保测试环境和资产得到管理和维护。
职责:管理测试系统、授予和管理角色对测试系统的访问权
数据库管理员
1
确保测试数据(数据库)环境和资产得到管理和维护。
职责:管理测试数据(数据库)
2.3. 测试时间计划
表 Error! No text of specified style in document.5 测试时间计划
分类
开始时间
结束时间
总计(天数)
总计(人时)
2.4. 测试工具
n 测试工具可以按其执行的功能分类;
n 研发提供的测试工具;
n 测试管理工具QC,用于辅助测试活动或工件的计划、设计、实施、执行、评估和管理;
n LoadRunner性能测试工具。
3. 测试策略
测试策略提供了推荐用于测试对象的方法。对于每种测试,都应提供测试说明,并解释其实施和执行的原因。
如果不实施和执行某种测试,则应该用一句话加以说明,并陈述这样做的理由。例如,“将不实施和执行该测试,该测试不合适。”
制定测试策略时所考虑的主要事项有:将要使用的方法以及判断测试何时完成的标准。
下面列出了在进行每项测试时需考虑的事项,除此之外,测试还只应在安全的环境中使用已知的、受控的数据库来执行。
表 Error! No text of specified style in document.6测试类型选择
测试项
测试类型
说明
√
功能测试
必选
√
用户界面测试
必选
业务周期测试
可选
性能基准测试
可选
√
稳定性测试
可选
负载测试
可选
压力测试
可选
√
并发测试
可选
强度测试
可选
容量测试
可选
安全性和访问控制测试
可选
数据和数据库完整性测试
可选
故障转移和恢复测试
可选
√
安装测试
必选
√
配置测试
可选
对于必选测试类型,应包含在任意测试设计及执行中。对于可选测试类型,可根据产品特点、测试重点、测试约束等条件进行选择,在“测试项”栏中填写“√”。
3.1. 测试类型
3.1.1. 功能类型
[测试对象的功能测试应该侧重于可以被直接追踪到用例或业务功能和业务规则的所有测试需求。这些测试的目标在于核实能否正确地接受、处理和检索数据以及业务规则是否正确实施。这种类型的测试基于黑盒方法,即通过图形用户界面 (GUI) 与应用程序交互并分析输出结果来验证应用程序及其内部进程。以下列出的是每个应用程序推荐的测试方法概要:]
测试目标
[确保测试对象的功能正常,其中包括导航、数据输入、处理和检索等。]
方法
[利用有效的和无效的数据来执行各个用例、用例流或功能,以核实以下内容:
·在使用有效数据时得到预期的结果。
·在使用无效数据时显示相应的错误消息或警告消息。
·各业务规则都得到了正确的应用。]
完成标准
· [所计划的测试已全部执行。
·所发现的缺陷已全部解决。]
需考虑的特殊事项
[确定或说明那些将对功能测试的实施和执行造成影响的事项或因素(内部的或外部的)]
适用阶段
子系统测试、集成测试、系统测试
3.1.2. 用户界面测试
[通过用户界面 (UI) 测试来核实用户与软件的交互。UI测试的目标在于确保用户界面向用户提供了适当的访问和浏览测试对象功能的操作。除此之外,UI测试还要确保 UI 功能内部的对象符合预期要求,并遵循公司或行业的标准。]
测试目标
[核实以下内容:
·通过浏览测试对象可正确反映业务的功能和需求,这种浏览包括窗口与窗口之间、字段与字段之间的浏览,以及各种访问方法(Tab 健、鼠标移动和快捷键)的使用
·窗口的对象和特征(例如:菜单、大小、位置、状态和中心)都符合标准。]
方法
[为每个窗口创建或修改测试,以核实各个应用程序窗口和对象都可正确地进行浏览,并处于正常的对象状态。]
完成标准
[证实各个窗口都与基准版本保持一致,或符合可接受标准]
需考虑的特殊事项
[并不是所有定制或第三方对象的特征都可访问。]
适用阶段
子系统测试、集成测试、系统测试
3.1.3. 业务周期测试
[业务周期测试应模拟在一段时间内对试点项目执行的活动。应先确定一段时间(例如一年),然后执行将在该时段内发生的事务和活动。这种测试包括所有的每日、每周和每月的周期,以及所有与日期相关的事件(如备忘录)。]
测试目标
[确保测试对象及后台进程都按照所要求的业务模型和时间表正确运行。]
方法
[通过执行以下活动,测试将模拟若干个业务周期:
·将修改或增强对测试对象进行的功能测试,以增加每项功能的执行次数,从而在指定的时段内模拟若干个不同的用户。
·将使用有效的和无效的日期或时段来执行所有与时间或日期相关的功能。
·将在适当的时候执行或启动所有周期性出现的功能。
·在测试中还将使用有效的和无效的数据,以核实以下内容:
·在使用有效数据时得到预期的结果。
·在使用无效数据时显示相应的错误消息或警告消息。
·各业务规则都得到了正确的应用。
完成标准
· [所计划的测试已全部执行。
·所发现的缺陷已全部解决。]
需考虑的特殊事项
· [系统日期和事件可能需要特殊的支持活动
·需要通过业务模型来确定相应的测试需求和测试过程。]
适用阶段
子系统测试、集成测试、系统测试
3.1.4. 性能基准测试
[性能基准测试是一种性能测试,它对响应时间、事务处理速率和其他与时间相关的需求进行评测和评估。性能基准测试的目标是核实性能需求是否都已满足。实施和执行性能基准测试的目的是将测试对象的性能行为当作条件(例如工作量或硬件配置)的一种函数来进行评价和微调。]
注:以下事务均指“逻辑业务事务”。这种事务被定义为将由系统的某个主角通过使用测试对象来执行的特定用例,例如,添加或修改某个合同。]
测试目标
[核实所指定的事务或业务功能在以下情况下的性能行为:
·正常的预期工作量
·预期的最繁重工作量]
方法
· [使用为功能或业务周期测试制定的测试过程。
·通过修改数据文件来增加事务数量,或通过修改脚本来增加每项事务的迭代次数。
·脚本应该在一台计算机上运行(最好是以单个用户、单个事务为基准),并在多台客户机上重复。]
完成标准
·[单个事务或单个用户:在每个事务所预期或要求的时间范围内成功地完成测试脚本,没有发生任何故障。]
·[多个事务或多个用户:在可接受的时间范围内成功地完成测试脚本,没有发生任何故障。]
需考虑的特殊事项
[综合的性能测试还包括在服务器上添加后台工作量。
可采用多种方法来执行此操作,其中包括:
·直接将“事务强行分配到”服务器上,这通常以“结构化查询语言”(SQL) 调用的形式来实现。
·通过创建“虚拟的”用户负载来模拟许多个(通常为数百个)客户机。
·使用多台实际客户机(每台客户机都运行测试脚本)在系统上添加负载。
性能测试应该在专用的计算机上或在专用的机时内执行,以便实现完全的控制和精确的评测。
性能测试所用的数据库应该是与实际大小相同或等比例缩放的数据库。]
适用阶段
子系统测试、集成测试、系统测试
3.1.5. 负载测试
[负载测试是一种性能测试。目标是测试当负载逐渐增加时,系统各项性能指标的变化情况。在这种测试中,将使测试对象承担不同的工作量,以评测和评估测试对象在不同工作量条件下的性能行为,以及持续正常运行的能力。此外,负载测试还要评估性能特征,例如,响应时间、事务处理速率和其他与时间相关的方面。]
测试目标
[核实所指定的事务或商业理由在不同的工作量条件下的性能行为时间。]
方法
· [使用为功能或业务周期测试制定的测试。
·通过修改数据文件来增加事务数量,或通过修改测试来增加每项事务发生的次数。]
完成标准
[多个事务或多个用户:在可接受的时间范围内成功地完成测试,没有发生任何故障。]
需考虑的特殊事项
·[负载测试应该在专用的计算机上或在专用的机时内执行,以便实现完全的控制和精确的评测。
·负载测试所用的数据库应该是与实际大小相同或等比例缩放的数据库。]
适用阶段
子系统测试、集成测试、系统测试
3.1.6. 压力测试
[压力测试是一种性能测试,通过确定一个系统的瓶颈或者不能接收的性能点,来获得系统能提供的最大服务级别的测试。]
测试目标
[核实所指定的事务或商业理由在超过峰值负载的异常高峰测试]
方法
完成标准
获得系统处理异常情况的能力
需考虑的特殊事项
适用阶段
子系统测试、集成测试、系统测试
3.1.7. 并发测试
[并发测试是一种性能测试,验证系统的并发处理能力。一般是和服务器端建立大量的并发连接,通过客户端的响应时间和服务器端的性能监测情况来判断系统是否达到了既定的并发能力指标。]
测试目标
[核实所指定的事务或商业理由在并发处理能力
如:并发用户登录、并发操作某一业务]
方法
完成标准
获得系统并发处理情况的能力
需考虑的特殊事项
适用阶段
子系统测试、集成测试、系统测试
3.1.8. 强度测试
[强度测试是一种性能测试,实施和执行此类测试的目的是找出因资源不足或资源争用而导致的错误。如果内存或磁盘空间不足,测试对象就可能会表现出一些在正常条件下并不明显的缺陷。而其他缺陷则可能由于争用共享资源(如数据库锁或网络带宽)而造成的。强度测试还可用于确定测试对象能够处理的最大工作量。]
[注:以下提到的事务都是指逻辑业务事务。]
测试目标
[核实测试对象能够在以下强度条件下正常运行,不会出现任何错误:
·服务器上几乎没有或根本没有可用的内存(RAM 和 DASD)
·连接或模拟了最大实际(或实际可承受)数量的客户机
·多个用户对相同的数据/账户执行相同的事务
·最繁重的事务量或最差的事务组合。
注:强度测试的目标还可表述为确定和记录那些使系统无法继续正常运行的情况或条件]
方法
· [使用为负载测试、压力测试或并发测试制定的测试。
·要对有限的资源进行测试,就应该在一台计算机上运行测试,而且应该减少或限制服务器上的 RAM 和 DASD。
·对于其他强度测试,应该使用多台客户机来运行相同的测试或互补的测试,以产生最繁重的事务量或最差的事务组合。
完成标准
[所计划的测试已全部执行,并且在达到或超出指定的系统限制时没有出现任何软件故障,或者导致系统出现故障的条件并不在指定的条件范围之内。]
需考虑的特殊事项
· [如果要增加网络工作强度,可能会需要使用网络工具来给网络加载消息或信息包。
·应该暂时减少用于系统的 DASD,以限制数据库可用空间的增长。
·使多个客户机对相同的记录或数据账户同时进行的访问达到同步。]
适用阶段
子系统测试、集成测试、系统测试
3.1.9. 容量测试
[容量测试使测试对象处理大量的数据,以确定是否达到了将使软件发生故障的极限。容量测试还将确定测试对象在给定时间内是否能够持续处理的最大负载或工作量。容量测试可以分为两种类型:针对某些系统存储、传输、统计、查询等业务进行大数据量的独立数据量测试;与压力性能测试、负载性能测试、疲劳性能测试相结合的综合数据量测试方案。容量测试的关键是测试数据的准备,可以依靠工具准备测试数据。]
测试目标
[核实测试对象在以下大容量条件下能否正常运行:
·连接(或模拟了)最大(实际或实际可承受)数量的客户机,所有客户机在长时间内执行相同的、且情况(性能)最差的业务功能。
·已达到最大的数据库大小(实际的或按比例缩放的),而且同时执行了多个查询或报表事务。]
方法
· [使用为负载测试、压力测试或并发测试制定的测试。
·应该使用多台客户机来运行相同的测试或互补的测试,以便在长时间内产生最繁重的事务量或最差的事务组合。
·创建最大的数据库大小(实际的、按比例缩放的、或输入了代表性数据的数据库),并使用多台客户机在长时间内同时运行查询和报表事务。]
完成标准
·[所计划的测试已全部执行,而且在达到或超出指定的系统限制时没有出现任何软件故障。]
需考虑的特殊事项
[对于上述的大容量条件,哪个时段是可以接受的时间?]
适用阶段
子系统测试、集成测试、系统测试
3.1.10. 安全性和访问控制测试
[安全性和访问控制测试侧重于安全性的两个关键方面:
· 应用程序级别的安全性,包括对数据或业务功能的访问
· 系统级别的安全性,包括对系统的登录或远程访问。
应用程序级别的安全性可确保:在预期的安全性情况下,主角只能访问特定的功能或用例,或者只能访问有限的数据。例如,可能会允许所有人输入数据,创建新账户,但只有经理才能删除这些数据或账户。如果具有数据级别的安全性,测试就可确保“用户类型一”能够看到所有客户信息(包括财务数据),而“用户二”只能看见同一客户的统计数据。
系统级别的安全性可确保只有具备系统访问权限的用户才能访问应用程序,而且只能通过相应的网关来访问。]
测试目标
应用程序级别的安全性:[核实主角只能访问其所属用户类型已被授权使用的那些功能或数据。]
系统级别的安全性:[核实只有具备系统和应用程序访问权限的主角才能访问系统和应用程序。]
方法
应用程序级别的安全性:[确定并列出各用户类型及其被授权使用的功能或数据。]
· [为各用户类型创建测试,并通过创建各用户类型所特有的事务来核实其权限。]
·修改用户类型并为相同的用户重新运行测试。对于每种用户类型,确保正确地提供或拒绝了这些附加的功能或数据。
系统级别的访问:[请参见下面的“需考虑的特殊事项”]
完成标准
[各种已知的主角类型都可访问相应的功能或数据,而且所有事务都按照预期的方式运行,并在先前的应用程序功能测试中运行了所有的事务。]
需考虑的特殊事项
[必须与相应的网络或系统管理员一起对系统访问权进行检查和讨论。由于此测试可能是网络管理或系统管理的职能,可能不需要执行此测试。]
适用阶段
子系统测试、集成测试、系统测试
3.1.11. 数据和数据库完整性测试
[数据库和数据库进程应作为厦门试点项目中的子系统来进行测试。
在测试这些子系统时,不应将测试对象的用户界面用作数据的接口。对于数据库管理系统 (DBMS),还需要进行深入的研究,以确定可以支持以下测试的工具和方法。]
测试目标
[确保数据库访问方法和进程正常运行,数据不会遭到损坏。]
方法
· [调用各个数据库访问方法和进程,并在其中填充有效的和无效的数据或对数据的请求。
·检查数据库,确保数据已按预期的方式填充,并且所有数据库事件都按正常方式出现;或者检查所返回的数据,确保为正当的理由检索到了正确的数据]
完成标准
[所有的数据库访问方法和进程都按照设计的方式运行,数据没有遭到损坏。]
需考虑的特殊事项
· [测试可能需要 DBMS 开发环境或驱动程序以便在数据库中直接输入或修改数据。
·进程应该以手工方式调用。
·应使用小型或最小的数据库(其中的记录数很有限)来使所有无法接受的事件具有更大的可见性。]
适用阶段
子系统测试、集成测试、系统测试
3.1.12. 故障转移和恢复测试
[故障转移和恢复测试可确保测试对象能成功完成故障转移,并从硬件、软件或网络等方面的各种故障中进行恢复,这些故障导致数据意外丢失或破坏了数据的完整性。
故障转移测试可确保:对于必须始终保持运行状态的系统来说,如果发生了故障,那么备选或备份的系统就适当地将发生故障的系统“接管”过来,而且不会丢失任何数据或事务。
恢复测试是一种相反的测试流程。其中,将应用程序或系统置于极端的条件下(或者是模仿的极端条件下),以产生故障,例如设备输入/输出 (I/O) 故障或无效的数据库指针和关健字。启用恢复流程后,将监测和检查应用程序和系统,以核实应用程序或系统是正确无误的,或数据已得到了恢复。]
测试目标
[确保恢复进程(手工或自动)将数据库、应用程序和系统正确地恢复到了预期的已知状态。测试中将包括以下各种情况:
·客户机断电
·服务器断电
·通过网络服务器产生的通信中断
·DASD 和/或 DASD 控制器被中断、断电或与 DASD 和/或DASD 控制器的通信中断
·周期未完成(数据过滤进程被中断,数据同步进程被中断)。
·数据库指针或关键字无效
·数据库中的数据元素无效或遭到破坏]
方法
[应该使用为功能和业务周期测试创建的测试来创建一系列的事务。一旦达到预期的测试起点,就应该分别执行或模拟以下操作:
·客户机断电:关闭 PC 的电源。
·服务器断电:模拟或启动服务器的断电过程。
·通过网络服务器产生的中断:模拟或启动网络的通信中断(实际断开通信线路的连接或关闭网络服务器或路由器的电源)。
·DASD 和 DASD 控制器被中断、断电或与 DASD 和DASD 控制器的通信中断:模拟与一个或多个 DASD 控制器或设备的通信,或实际取消这种通信。
一旦实现了上述情况(或模拟情况),就应该执行其他事务。而且一旦达到第二个测试点状态,就应调用恢复过程。
在测试不完整的周期时,所使用的方法与上述方法相同,只不过应异常终止或提前终止数据库进程本身。
对以下情况的测试需要达到一个已知的数据库状态。当破坏若干个数据库字段、指针和关键字时,应该以手工方式在数据库中(通过数据库工具)直接进行。其他事务应该通过使用“应用程序功能测试”和“业务周期测试”中的测试来执行,并且应执行完整的周期。]
完成标准
[在所有上述情况中,应用程序、数据库和系统应该在恢复过程完成时立即返回到一个已知的预期状态。此状态包括仅限于已知损坏的字段、指针或关键字范围内的数据损坏,以及表明进程或事务因中断而未被完成的报表。]
需考虑的特殊事项
·[恢复测试会给其他操作带来许多的麻烦。断开缆线连接的方法(模拟断电或通信中断)可能并不可取或不可行。所以,可能会需要采用其他方法,例如诊断性软件工具。
·需要系统(或计算机操作)、数据库和网络组中的资源。
·这些测试应该在工作时间之外或在一台独立的计算机上运行。]
适用阶段
子系统测试、集成测试、系统测试
3.1.13. 安装测试
[安装测试有两个目的。第一个目的是确保该软件能够在所有可能的配置下进行安装,例如,进行首次安装、升级、完整的或自定义的安装,以及在正常和异常情况下安装。异常情况包括磁盘空间不足、缺少目录创建权限等。第二个目的是核实软件在安装后可立即正常运行。这通常是指运行大量为功能测试制定的测试。]
测试目标
核实在以下情况下,测试对象可正确地安装到各种所需的硬件配置中:
·首次安装。以前从未安装过用户节能供电模式评估分析项目的新计算机
·更新。以前安装过相同版本的用户节能供电模式评估分析项目的计算机
·更新。以前安装过较早版本的用户节能供电模式评估分析项目的计算机
方法
· [手工开发脚本或开发自动脚本以验证目标计算机的状况¾ 新 - 从未安装过用户节能供电模式评估分项目;已安装相同或较早版本用户节能供电模式评估分析]
·启动或执行安装。
·使用预先确定的功能测试脚本子集来运行事务。]
完成标准
用户节能供电模式评估分析管理项目 事务成功执行,没有出现任何故障。
需考虑的特殊事项
[应该选择 用户节能供电模式评估分析管理 的哪些事务才能准确地测试出 试点项目 应用程序已经成功安装,而且没有遗漏主要的软件构件?]
适用阶段
子系统测试、集成测试、系统测试
3.1.14. 配置测试
[配置测试核实测试对象在不同的软件和硬件配置中的运行情况。在大多数生产环境中,客户机工作站、网络连接和数据库服务器的具体硬件规格会有所不同。客户机工作站可能会安装不同的软件,例如,应用程序、驱动程序等。而且在任何时候,都可能运行许多不同的软件组合,从而占用不同的资源。]
表 Error! No text of specified style in document.7配置测试方法概要
测试目标
[核实测试对象可在要求的硬件和软件配置中正常运行。
对安装配置文档的测试。]
方法
· [使用安装测试和功能测试脚本。
· 系统能否按照安装配置文档成功进行安装和配置。
·在测试过程中或在测试开始之前,打开各种与非测试对象相关的软件(例如 Microsoft 应用程序:Excel 和 Word),然后将其关闭。
·执行所选的事务,以模拟主角与测试对象软件和非测试对象软件之间的交互。
·重复上述步骤,尽量减少客户机工作站上的常规可用内存。]
完成标准
[对于测试对象软件和非测试对象软件的各种组合,所有事务都成功完成,没有出现任何故障。]
需考虑的特殊事项
·[需要、可以使用并可以通过桌面访问哪种非测试对象软件?
·通常使用的是哪些应用程序?
·应用程序正在运行什么数据?例如,在Excel 中打开的大型电子表格,或是在 Word 中打开的 100 页文档。
·作为此测试的一部分,应将整个系统、Netware、网络服务器、数据库等都记录下来。]
适用阶段
子系统测试、集成测试、系统测试
3.2. 测试策略
WIFI智能插座连接到家中的无线WIFI路由器后,与外网服务器建立连接,Android客户端即可通过外网服务器与WIFI插座交互,如开/关插座、采集电量、定时控制等,以此达到智能控制家电的目的。该软件主要分为四大功能模块:用户接口模块、消息推送模块、开关控制模块以及信息查询模块。提供消息推送、开关控制、设备管理、综合查询、数据分析等功能,为功能测试的重点内容;性能测试主要针对用户登录、能耗查询、开关控制的并发性与稳定性等方面制定测试方案。
4. 测试对象及方法
4.1. 常用测试方法及通用功能测试注意事项
4.1.1. 常用测试方法
1. 页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。可以使用一些工具,如LinkBotPro、File-AIDCS、HTML Link Validater、Xenu等工具。LinkBotPro不支持中文,中文字符显示为乱码;HTML Link Validater只能测试以Html或者htm结尾的网页链接;Xenu无需安装,支持asp、do、jsp等结尾的网页,同时能够生成html格式的测试报告。
2. 相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确。
3. 检查按钮的功能是否正确:如新建、编辑、删除、关闭、返回、保存、导入等功能是否正确。
4. 字符串长度检查: 输入超出需求所说明的字符串长度的内容, 看系统是否检查字符串长度。包括文本、密码等。
5. 字符类型检查: 在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型。
6. 标点符号检查: 输入内容包括各种标点符号,特别是空格,各种引号,回车键。看系统处理是否正确。
7.特殊字符检查:输入特殊符号,如@、#、$、%、!、:等,看系统处理是否正确。
8. 中文字符处理: 在可以输入中、英文的系统输入中文,看会否出现乱码或出错。
9. 检查信息的完整性: 在查看信息和更新信息时,查看所填写的信息是不是全部更新,更新信息和添加信息是否一致。
10. 信息重复: 在一些需要命名,且名字应该唯一的信息输入重复的名字或ID,看系统有没有处理,是否报错,重名包括是否区分大小写,以及在输入内容的前后输入空格,系统是否作出正确处理。
11. 检查删除功能:在一些可以一次删除多个信息的地方,不选择任何信息,按“delete”,看系统如何处理,会否出错;然后选择一个和多个信息,进行删除,看是否正确处理。
12. 检查添加和修改是否一致: 检查添加和修改信息的要求是否一致,例如添加要求必填的项,修改也应该必填;添加规定为整型的项,修改也必须为整型.
13. 检查修改重名:修改时把不能重名的项改为已存在的内容,看会否处理,报错.同时,也要注意,会不会报和自己重名的错.
14. 重复提交表单:一条已经成功提交的纪录,返回后再提交,看看系统是否做了处理。对于Web系统来说,可以通过浏览器返回键或者系统提供的返回功能。
15. 检查多次使用返回键的情况: 在有返回键的地方,返回到原来页面,重复多次,看会否出错。
16. 搜索检查: 有搜索功能的地方输入系统存在和不存在的内容,看搜索结果是否正确.如果可以输入多个搜索条件,可以同时添加合理和不合理的条件,看系统处理是否正确。
17. 输入信息位置: 注意在光标停留的地方输入信息时,光标和所输入的信息会否跳到别的地方。
18. 上传下载文件检查:上传下载文件的功能是否实现,上传文件是否能打开。对上传文件的格式有何规定,系统是否有解释信息,并检查系统是否能够做到。下载文件能否打开或者保存,下载的文件是否有格式要求,如需要特殊工具才可以打开等。
19. 必填项(空值)检查:应该填写的项没有填写时系统是否都做了处理,对必填项是否有提示信息,如在必填项前或后加“*”;对必填项提示返回后,焦点是否会自动定位到必填项。
20. 快捷键检查:是否支持常用快捷键,如Ctrl+C、 Ctrl+V、 Backspace等,对一些不允许输入信息的字段,如选人,选日期对快捷方式是否也做了限制。
21. 回车键检查: 在输入结束后直接按回车键,看系统处理如何,会否报错。回车键如何定位。
22.刷新键检查:在Web系统中,使用浏览器的刷新键,看系统处理如何,会否报错。
23.回退键检查:在Web系统中,使用浏览器的回退键,看系统处理如何,会否报错。对于需要用户验证的系统,在退出登录后,使用回退键,看系统处理如何;多次使用回退键,多次使用前进键,看系统如何处理。
24.直接URL链接检查:在Web系统中,直接输入各功能页面的URL地址,看系统如何处理,对于需要用户验证的系统更为重要。
25.空格检查:在输入信息项中,输入一个或连串空格,查看系统如何处理。如对于要求输入整型、符点型变量的项中,输入空格,既不是空值,又不是标准输入。
26.输入法半角全角检查:在输入信息项中,输入半角或全角的信息,查看系统如何处理。如对于要求输入符点型数据的项中,输入全角的小数点(“。”或“.”,如4.5);输入全角的空格等。
27.密码检查:一些系统的加密方法采用对字符Ascii码移位的方式,处理密码加密相对较为简单,且安全性较高,对于局域网系统来说,此种方式完全可以起到加密的作用,但同时,会造成一些问题,即大于128的Ascii对应的字符在解密时无法解析,尝试使用“uvwxyz”等一些码值较大的字符作为密码,同时,密码尽可能的长,如17位密码等,造成加密后的密码出现无法解析的字符。
28.用户检查:任何一个系统,都有各类不同的用户,同样具有一个或多个管理员用户,检查各个管理员之间是否可以相互管理,编辑、删除管理员用户。同时,对于一般用户,尝试删除,并重建同名的用户,检查该用户其它信息是否重现。同样,提供注销功能的系统,此用户再次注册时,是否作为一个新的用户。
29.系统数据检查:这是功能测试最重要的,如果系统数据计算不正确,那么功能测试肯定是通不过的。数据检查根据不同的系统,方法不同。对于业务管理平台,数据随业务过程、状态的变化保持正确,不能因为某个过程出现垃圾数据,也不能因为某个过程而丢失数据。垃圾数据不能在系统中出现,最好也不要在数据库中出现,过多的垃圾数据必然影响数据库的性能。
30.系统可恢复性检查:以各种方式把系统搞瘫,测试系统是否可正常迅速恢复。
31.确认提示检查:系统中的更新、删除操作,是否提示用户确认更新或删除,操作是否可以回退(即是否可以选择取消操作),提示信息是否准确。事前或事后提示,对于Update或Delete操作,要求进行事前提示。
32.数据注入检查:数据注入主要是对数据库的注入,通过输入一些特殊的字符,如“’”,“/”,“-”等或字符组合,完成对SQL语句的破坏,造成系统查询、插入、删除操作的SQL因为这些字符而改变原来的意图。如select * from table where id = ‘ ’ and name = ‘ ’,通过在id输入框中输入“12’-”,会造成查询语句把name条件注释掉,而只查询id=12的记录。同样,对于update和delete的操作,可能会造成误删除数据。
33.刷新检查:web系统中的WebForm控件实时刷新功能,在系统应用中有利有弊,给系统的性能带来较大的影响。测试过程中检测刷新功能对系统或应用造成的影响(白屏),检查控件是否回归默认初始值,检查是否对系统的性能产生较大影响(如每次刷新都连接数据库查询等)。
34.事务检查:对于事务性操作,断开网络或关闭程序来中断操作,事务是否回滚。
35.时间日期检查:时间、日期验证是每个系统都必须的,如2006-2-29、2006-6-31等错误日期,同时,对于管理、财务类系统,每年的1月与前一年的12月(同理,每年的第1季度与前一年的第4季度)。另外,对于日期、时间格式的验证,如2006年2月28日、2006-2-28、20060228等。
36.多浏览器验证:越来越多的各类浏览器的出现,用户访问Web程序不再单单依赖于Microsoft Internet Explorer,而是有了更多的选择:Maxthon、Firefox、Tencent Traveler等,考虑使用多种浏览器访问系统,验证效果。
37.安装测试:对于C/S架构的系统,安装程序的测试是一个重要方面,安装程序自动化程度、安装选项和设置(验证各种方案是否都能正常安装)、安装过程中断测试、安装顺序测试(分布式系统)、修复安装及卸载测试。
38.文档测试:主要是对用户使用手册、产品手册进行测试,校验是否描述正确、完整,是否与当前系统版本对照,是否易理解,是否二义性等。
39.测试数据检查:事实告诉我们,测试数据比代码更有可能是错的,因此,当测试结果显示有错误发生的时候,怀疑代码错误前要先对测试数据检查一遍。
40.Ajax技术的应用:Ajax采用异步调用的机制实现页面的部分刷新功能,异步调用存在异常中断的可能,尝试各种方法异常中断异步的数据调用,查看是否出现问题。
41.脚本错误:随着Ajax、IFrame等异步调用技术的发展,JavaScript技术也越来越受到开发人员的重视,但JavaScript存在调试困难、各浏览器存在可能不兼容等问题,因此在Web系统中,可能会出现脚本错误。同时,脚本错误造成的后果可大、可小,不能忽视
展开阅读全文