非功能测试测试框架_Phoenix-晶
2015-06-20 12:51
225 查看
非功能测试测试框架_Phoenix-晶
1. SQL注入测试
SQL注入测试 | ||
序号 | 测试点 | 备注说明 |
01 | 输入域的值为数字型, 用1=1,1=2法 | 若满足条件,则存在SQL注入漏洞,程序没有对提交的整型参数的合法性做过滤或判断 |
02 | 输入域的值为字符型, 用 ’1=1’, ’1=2’ 法 | 若满足条件,则存在SQL注入漏洞,程序没有对提交的字符型参数的合法性做过滤或判断 |
03 | 输入域中的值为搜索型, 用’and [查询条件] and ‘%’=’% 等 | 若满足条件,则存在SQL注入漏洞,程序没有对提交的查询的合法性做过滤或判断 |
04 | 用UNION查询语句 | 利用Union可以连接查询,从而从其他表中得到信息 |
05 | 大小写排查 | 程序员对大小写的过滤不充分时,会忽视大小写混合的情况,容易存在漏洞 |
06 | 用UNICODE字符集检查 | 用UNICODE字符集转化的输入,会把+号转为%2B,把%号转化为%25等,容易忽略过滤 |
07 | 用ASCII码检查 | 把输入的字符用ASCII码代替,如a=char(97),容易忽略过滤 |
08 | 用;号或—号检查 | 分号;在SQLServer中表示隔开前后两句语句,--表示后面的语句为注释,容易忽略过滤 |
09 | 利用系统表 | 通过查询数据库的系统表名,可判断具体用的数据库类型 |
10 | 利用数据库服务器的系统变量user 等 | 可以得到数据库名,数据库的用户名,从而进行进一步攻击 |
11 | 利用相关函数 | 若字符是中文的,比如where name=’用户’,可以用where name=nchar(29992)+nchar(25143)代替。 |
12 | 界面输入框中是否对SQL敏感字符进行了屏蔽 | "exec" ,"xp_","sp_","declare","Union","cmd","+","//","..",";","'","--","%" 等命令关键字 |
13 | 是否对SQL脚本语法出错信息进行了屏蔽 | 有些SQL注入的目的就是为了看到报错的SQL命令,通过分析这些SQL命令,获取关键的数据库名,表名以及字段名等信息 |
14 | 在浏览器的地址栏中是否对一些恒等表达式进行了屏蔽 | 例如:http://www.321cn. Com /showdetail.asp?id=19 and 1=1 |
15 | 对于提交表单的浏览器地址是否进行了敏感字符或命令集的屏蔽 | |
16 | 对于cookie参数提交部分,是否对于cookie文件进行了敏感字符或命令集的屏蔽 |
2. 异常测试
异常测试 | ||
序号 | 测试点 | 备注说明 |
1 | 文件丢失测试 | 强行删除被测软件的一些文件,测试被测系统的提示是否准确以及其后的相关补救提示或操作; |
2 | 服务器资源测试 | 通过人为手段,增加软件数据库服务器、web服务器或者中间件服务器等相关服务器的硬件资源,如:cpu、内存、硬盘等的负载,测试被测系统的反应和其后的补救提示或操作 |
3 | 断电测试 | 在测试期间,对部分或者所有相关软件测试机器进行断电测试,测试软件的恢复能力 |
4 | 网络故障测试 | 在测试中中断网络或者人工增加网络流量,测试被测系统的提示是否准确以及其后的相关补救提示或操作 |
5 | 数据表毁坏测试 | 非法删除或修改数据库中的表数据或者表,测试被测系统的提示是否准确以及其后的相关补救提示或操作 |
6 | 数据库服务器死机测试 | 在测试过程中强行关闭软件的数据库服务器或者用其它方式导致数据库死机,测试被测系统的提示是否准确以及其后的相关补救提示或操作 |
7 | web会话测试 | 对于采用b/s结构的软件,应该注意web会话测试。比如:在空白的浏览器中输入比较敏感的页面的URL,软件是否有相应的提示、强调应该先进行登录才能访问该界面 |
8 | 特殊业务流程测试 | 测试软件不按照正规的流程,而是按照可能的但非正规的业务流程运行,是否会生成错误数据,或者造成原有数据的错误,甚至造成系统的瘫痪; |
9 | 压力测试 | 主要是检查系统某些关键业务在极限情况下运行的能力,测试在这种情况下系统的运行、处理数据的情况,是否会造成系统瘫痪 |
10 | 修改系统的重要配置信息测试 | 在软件的配置界面进行重要信息的修改或删除,测试系统是否有相关限制提示,并测试如果修改错误,系统是否能够进行错误提示,引导用户修改,而不至于系统瘫痪 |
11 | 单引号操作 | 大多数基于SQL的数据库数据库数据库数据库系统在用户存储包含一个英文单引号的信息时会出现问题,所以每一个可以接受文字数字型的条目都要有包含一个或多个单引号的文本案例。当然,这类问题还应该包括英文双引号、&、<、>等特殊字符。在测试的时候应该注意其之前的提示和错误操作之后的恢复与补救措施等 |
12 | 必填项输入测试 | 测试每一个功能说明书上指出的屏幕上必须输入数据的字段和屏幕上每一个被说明为必须输入的字段,以保证它强制要求你在字段中输入数据。测试其如果没有输入相关数据的提示和后续操作 |
13 | 日期类型测试 | 日期类型要测试其边界值和日期格式类型的有效性测试。对于日期类型的边界值可能根据数据库不同而不同,比如sql server的最小日期是1753年1月1日;而对于有效性最常用的就是闰年的有效日期问题,准备这类测试用例来测试软件对于错误输入的提示和后续操作 |
14 | 特殊字段类型测试 | 准备每一个功能说明书或界面中规定的特殊数据输入要求(身份证、日期、电话号码、邮编等)的字段的测试案例,输入的数据包括它不应该接受的数据类型,测试软件对错误输入的提示和后续操作 |
15 | 端口号被占用 | 不同服务使用了同一端口号 |
16 | 服务异常终止 | 通过人为手段将数据库服务、web服务等服务进行暂停,观察系统的反应 |
17 | 将系统的用户名和密码或权限进行修改 | 例如在系统运行过程中,修改数据库访问用户名或密码,观察系统的反应 |
18 | 修改系统环境变量 | 在系统运行过程中,人为修改系统使用的环境变量参数,观察系统的反应 |
19 | 对系统产品进行升级 | 老系统仍然在运行过程中,对系统进行升级操作 |
20 | 在对应的服务器上安装其他相关软件 | 在系统运行过程中,服务器上安装新的杀毒软件或者进行病毒库的更新,或更新或安装新的浏览器软件,或更新或安装新的输入法软件,或更新或安装新的办公软件 |
21 | 进行数据迁移工作 | 在系统运行过程中,对系统数据库进行迁移工作 |
22 | 文件丢失操作 | 在系统运行过程中,将系统对应的安装文件夹或生成文件夹进行移动或删除或修改文件夹的属性 |
3. 压力测试
压力测试 | ||
序号 | 测试点 | 备注说明 |
01 | 大量用户并发不同的操作 | 这条考验系统的响应时间,如某款软件只能支持N个用户进行同时登录,在这个时候系统给出的响应时间也正常,但是如果超过了这个限制,如有N+1个用户同时进行了并发,那么系统给出响应时间是否会出现等待响应过长,或者直接出现未响应。 |
02 | 大量用户串行测试 | 这点考虑的是在一个用户一个用户串行登录的时候,系统的响应和Cup的使用率是否会增加 |
03 | Cpu负载测试 | 大量用户逐步的进行登录操作当用户增加时Cpu的使用率是否会出现明显的上升或者登录的用户过多时出现Cpu使用率达到100%导致系统崩溃的情况,此外当Cpu使用率达到100%的时候是否还能处理额外的登录操作。 |
04 | 内存使用的测试 | 比如在进行高数据量并发的时候,系统是否会自动释放缓存等。 |
05 | 网络瓶颈测试 | 通常测试都在内网或者局域网进行,所以被忽略,只有在正式在互联网上测试,且大量的用户通过互联网进行并发形式的登录访问才能看的出效果和瓶颈。 |
06 | 数据库的压力测试 | 大数据的查询统计时间,或者多用户并发查询统计 |
07 | 大数据的压力测试 | 1)接收大数据量的数据文件时间; 2)大量数据的恢复时间; 3)大数据导入导出时间; 4)大批量录入数据时间; |
07 | 大量用户并发提交操作 | |
08 | 软件满负荷下的持续运行 | |
09 | 磁盘的空间的压力测试 | 同时大量用户并发存储大量文件 |
10 | 多个操作同时读写同一块内存 | |
11 | 异常情况下对软件进行操作 | 在软件异常情况下仞然持续操作 |
12 | 多人同时进行批量操作 | 在系统中是否存在批量更新、批量新增或批量删除的操作,如果存在一定要进行压力测试 |
13 | 多人同时进行耗时较长的操作 | 在系统中重点检查,大数据量查询、统计、备份、恢复操作的消耗时间,发现消耗时间较长的操作,要进行压力测试 |
14 | 网络传输压力测试 | 在系统中是否存在网络的上传、下载或传输功能,如果存在,要评估上传下载和传送的容量大小,要进行压力测试 |
15 | 大容量日志压力测试 | 在系统运行过程中,是否会自动生成较大容量的数据库日志或系统日志文件,如果存在,要进行压力测试,检查文件对硬盘空间的影响情况 |
16 | 大容量文件操作压力测试 | 在系统中,是否存在对大容量数据文件或后台文件进行频繁的新增、修改、删除或查询统计操作,如果存在,要进行压力测试 |
17 | 在系统查杀病毒过程中进行压力测试 | 因为服务器都要进行定期的病毒查杀工作,而病毒查杀会消耗许多的系统资源,在此情况下,进行系统的压力测试 |
4. 成熟性测试
成熟性测试 | ||
序号 | 测试点 | 备注说明 |
1 | 验证系统是否在输入类型出错时,还能进行其他数据的操作。 | |
2 | 验证系统是否在输入长度出错时,还能进行其他数据的操作。 | |
3 | 验证系统是否在输入格式出错时,还能进行其他数据的操作。 | |
4 | 验证系统是否在输入范围出错时,还能进行其他数据的操作。 | |
5 | 验证系统是否在输入了重复值(前提不允许重复,注意大小写敏感和前后空格问题)时,还能进行其他数据或功能的操作 | |
6 | 验证系统在添加数据时,由于后台数据库或网络传输等造成添加失败时,还能进行其他功能的操作 | |
7 | 验证系统在修改数据时,由于后台数据库或网络传输等造成添加失败时,还能进行其他功能的操作 | |
8 | 验证系统在删除数据时,由于后台数据库或网络传输等造成添加失败时,还能进行其他功能的操作 | |
9 | 验证系统在查询、统计数据时,由于后台数据库或网络传输等造成添加失败时,还能进行其他功能的操作 | |
10 | 验证系统输入错误时,返回相应的错误信息,还能继续进行下一次输入。 | |
11 | 系统登录失败,账号被锁定,管理员解除,系统仍可以正常使用 | |
12 | 读取、修改、删除文件时,系统无法响应,重新启动,仍可以正常运行使用 | |
13 | 强制系统出错,造成关闭,没有影响之前的已有的数据 | |
14 | 在操作没有进行完成时,关闭系统或关闭浏览器,没有影响之前已完成的操作 | |
15 | 系统调用网络模块出现异常,系统其他模块仍可继续使用 | |
16 | 验证负荷超出了系统极限时系统是否运行正常并采取特殊措施 | |
17 | 出现错误后,是否能够产生对应的错误日志 |
5. 安全性测试
安全性测试 | ||
序号 | 测试项 | 测试点 |
1 | 跨网站脚本攻击 | 通过脚本语言的缺陷模拟合法用户,控制其账户,盗窃敏感数据 |
2 | 注入攻击 | 通过构造查询对数据库、LDAP和其他系统进行非法查询 |
3 | 恶意文件执行 | 在服务器上执行Shell 命令Execute,获取控制权 |
4 | 伪造跨站点请求 | 发起Blind 请求,模拟合法用户,要求转账等请求 |
5 | 不安全对象引用 | 不安全对象的引入,访问敏感文件和资源,WEB应用返回敏感文件内容 |
6 | 被破坏的认证和Session管理 | 验证Session token 保护措施,防止盗窃session |
7 | Session的失效时间限制 | Session的失效时间设置是否过长,会造成访问风险 |
8 | 不安全的木马存储 | 过于简单的加密技术导致黑客破解编密码,隐秘信息被盗窃,验证其数据加密 |
9 | 不安全的通讯 | 敏感信息在不安全通道中以非加密方式传送, 敏感信息被盗窃,验证其通讯的安全性 |
10 | URL访问限制失效 | 验证是否通过恶意手段访问非授权的资源链接,强行访问一些登陆网页,窃取敏感信息 |
11 | 信息泄露和不正确错误处理测试 | 恶意系统检测,防止黑客用获取WEB站点的具体信息的攻击手段获取详细系统信息 |
12 | 注册与登录测试 | 验证系统先注册后登录、验证登录用户名和密码匹配校验,密码长度及尝试登录次数,防止 非法用户登录 |
13 | 超时限制 | 验证WEB应用系统需要有是否超时的限制,当用户长时间不做任何操作的时候,需要重新登录才能使用 |
14 | 日志文件 | 验证服务器上日志是否正常工作,所有事务处理是否被记录 |
15 | 目录文件 | 验证WEB服务器目录访问权限,或者每个目录访问时有index.htm,防止 WEB 服务器处理不适当,将整个WEB目录暴露 |
16 | 身份验证 | 验证调用者身份、数据库身份、验证是否明确服务账户要求、是否强制式试用账户管理措施 |
17 | 授权 | 验证如何向最终用户授权、如何在数据库中授权应用程序,确定访问系统资源权限 |
18 | 会话 | 验证如何交换会话标识符、是否限制会话生存期、如何确保会话存储状态安全 |
19 | 配置管理 | 验证是否支持远程管理、是否保证配置存储安全、是否隔离管理员特权。 |
20 | 备份与恢复 | 为了防止系统意外崩溃造成的数据丢失,验证备份与恢复功能正常实现、备份与恢复方式是否满足Web系统安全性要求 |
21 | 数据库关键数据是否进行加密存储,是否在网络中传递敏感数据 | |
22 | 在登录或注册功能中是否有验证码存在,防止恶意大批量注册登录的攻击 | |
23 | Cookie文件是否进行了加密存储,防止盗用cookie内容 | |
24 | 密码强度提醒 | 建议对密码的规则进行加强设置 |
25 | 密码内容禁止拷贝粘贴 |
6. 界面测试
界面测试 | ||
序号 | 测试点 | 备注说明 |
1 | 易用性测试 | 是否有快捷键,快捷键不能重复 |
是否有热键,热键不能重复 | ||
不要用数据将用户包围,使用便于拥护迅速吸取信息的方式表现信息 | ||
减少用户输入动作数量 | ||
默认按钮要支持Enter 操作,即按Enter 后自动执行默认按钮对应操作 | ||
完成同一功能或任务的元素放在集中位置,减少鼠标移动的距离 | ||
同一界面上的控件数最好不要超过10 个,多于10 个时可以考虑使用分页界面显示 | ||
分页界面要支持在页面间的快捷切换,常用组合快捷键Ctrl+Tab | ||
消除冗余输入,绝不要让用户提供程序中可以自动获取或计算出来的信息 | ||
遵循可不用鼠标的原则:应用中的功能只用键盘也应当可以完成 | ||
为手工录入部分提供快速键盘录入方式,能仅使用小键盘时尽量使用小键盘 | ||
提供操作路径跟踪,或者说是一个可重复的操作路径 | ||
当鼠标指针在控件上停留时即显示相关帮助信息 | ||
是否对用户的输入内容进行记忆,以便减少用户的输入工作量 | ||
是否对用户的操作轨迹进行记忆,例如保存或打开路径等,以减少用户的操作工作量 | ||
是否有右键快捷菜单,方便用户进行操作 | ||
2 | 窗口测试 | 窗口是否能正常关闭 |
窗口控件的大小,对齐方向,颜色背景等属性设置 | ||
活动窗口反显加亮 | ||
多窗口重叠时窗口名称显示正确 | ||
窗口数据是否能够使用鼠标、功能键、键盘、方向键、TAB | ||
当窗口被覆盖并重新调用后,窗口是否正确再生 | ||
如果使用多任务,是否窗口数据被实时更新? | ||
窗口是否支持最大最小和放大 | ||
窗口控件随着窗口的放大而放大,反之亦然 | ||
父体窗口放大时,子体窗口也放大。反之亦然 | ||
Tab键至上而下,从左到右 | ||
子窗口弹出在父窗口左上角或正中 | ||
多个子窗口弹出时,依次向右下方偏移 | ||
重要的按钮和频繁使用的按钮放在屏幕最醒目的处 | ||
对因错误使用等引发的界面关闭的提示按钮放在容易点击处 | ||
与正在使用的功能无关的按钮应该屏蔽 | ||
按钮的大小和界面的大小和空间协调 | ||
多窗口切换时间是否过长(也不宜过短,容易导致界面错误) | ||
左对齐:一般文字、单个数字、日期等 右对齐:数字、时间、日期加时间 | ||
推荐分辨率为1024*768,增强色16位 但在不同的分辨率下均可正常显示 | ||
移动窗体.快速或慢速移动窗体,背景及窗体本身刷新必须正确 | ||
3、 | 菜单测试 | 菜单功能是否正确执行 |
下拉菜单是否根据选项含义进行分组 | ||
菜单命令快捷方式 | ||
文本字体、大小、格式正确 | ||
菜单功能名称是否具有自解释性 | ||
菜单项是否有帮助 | ||
右键菜单是否采用与菜单相同的准则 | ||
下拉式操作能否正常进行 | ||
菜单是否根据系统功能合理分类、选项进行分组 | ||
菜单深度控制在三层以内 | ||
菜单标题简明有意义 | ||
是否依据使用频率排列 | ||
是否依据逻辑顺序排列 | ||
是否依据使用顺序排列 | ||
菜单显示格式和使用方式一致 | ||
选择菜单是否可以正常工作,并与实际执行内容一致 | ||
功能按钮或菜单选项不能重复 | ||
菜单要与用户权限相符 | ||
常用菜单或菜单项是否有快捷键或热键支持 | ||
菜单栏是否支持右键快捷菜单,若支持,则要对菜单栏右键快捷菜单进行测试 | ||
4、 | 图标测试 | 图标基调颜色不刺眼 |
用户登陆界面易找寻 | ||
图标符合常规表达习惯 | ||
图标轮廓清晰、保证在不同背景下清晰显示 | ||
图标尺寸(48*48、32*32、24*24、16*16) | ||
图标功能与实际相似,避免抽象 | ||
图标上是否加标注 | ||
安装界面应有公司介绍或产品介绍,有公司的图标 | ||
主界面及大多数界面最好有公司图标 | ||
用户是否可以根据自己的需要自定义相关的图标按钮或工具栏 | ||
图标按钮是否支持右键快捷菜单 | ||
5、 | 鼠标测试 | 整个交互语境中,是否识别鼠标操作 |
如果要求多次点击,是否能够在语境中正确识别 | ||
光标、处理指示器、识别指针随操作恰当改变 | ||
点击选中?滑动停留选中 | ||
支持滑轮 | ||
相同种类元素采用相同操作激活 | ||
沙漏表示繁忙,手型表示点击 | ||
鼠标无规则点击是否会产生不可估计后果 | ||
单击鼠标右键弹出菜单,取消右键时是否隐藏 | ||
6、 | 内容测试 | 文字易认易懂,拼写正确,不存在二义性 |
不能出现全角,半角混合 | ||
信息的正确性,准确性,合法性,符合人们的风俗习惯 | ||
7、 | 帮助系统的测试 | 系统提供F1帮助键 |
在界面上调用帮助时,能够及时定位到与操作相关的帮助文件 | ||
对功能采用及时帮助,是否能准确定位到帮助系统位置 | ||
利用帮助索引是否能准确定位到帮助主题和内容 | ||
是否具有打印功能 | ||
目录是否划分有层次 | ||
帮助文字描述是否准确 | ||
在系统不同位置激活帮助内容是否与当前操作相关 | ||
微软的帮助由状态栏提供或控件有文本提示 | ||
选择"帮助"->"关于"命令,应看见相关版权和产品信息 | ||
8、 | 向导测试 | 向导是否正确 |
确认向导连接确实存在 | ||
确认向导是否明确直观、一致 | ||
向导中某一步出错后,是否会影响到其他各步骤已经输入的内容 | ||
9、 | 信息提示 | 提示信息是否具有可理解性的语言描述 |
对重要的、具有破坏性的操作命令是否有确认信息、以避免破坏性操作,例如:删除、覆盖、终止 | ||
信息是否具有判断性色彩 | ||
信息提示是否具有统一的标记、标准和缩写 | ||
信息应提供如何从错误中恢复的建设性意见 | ||
信息应伴随着视觉上的提示,如特殊的图像、颜色或信息闪烁 | ||
提示信息中是否对重要的系统信息进行屏蔽,比如用户名,数据库名,数据库类型,表名等 | ||
10、 | 美观协调性 | 长宽接近黄金点比例,切忌长宽比例失调、或宽度超过长度。 |
布局要合理,不宜过于密集,也不能过于空旷,合理的利用空间。 | ||
按钮大小基本相近,忌用太长的名称,免得占用过多的界面位置。 | ||
按钮的大小要与界面的大小和空间要协调 | ||
避免空旷的界面上放置很大的按钮。 | ||
放置完控件后界面不应有很大的空缺位置。 | ||
前景与背景色搭配合理协调,反差不宜太大,最好少用深色,如大红、大绿等。常用色考虑使用Windows界面色调。 | ||
界面风格要保持一致,字的大小、颜色、字体要相同,除非是需要艺术处理或有特殊要求的地方。 | ||
如果窗体支持最小化和最大化或放大时,窗体上的控件也要随着窗体而缩放;切忌只放大窗体而忽略控件的缩放。 | ||
11 | 状态栏测试 | 对状态栏上应该出现的信息进行测试,测试是否显示了所有该显示的内容 |
针对状态栏上显示的每一个内容进行功能测试 | ||
确认状态栏信息是否可以根据用户需要进行定制 | ||
状态栏是否支持右键快捷菜单,如果存在,则要对状态栏中的右键快捷菜单进行测试 | ||
12 | 控件测试 | 控件行为属性的测试,例如是可用不可用,可写还是只读等等 |
控件位置、大小、颜色的测试 | ||
控件关联关系的测试(例如选中某个控件后,其他控件的行为发生了改编) | ||
13 | 右键快捷菜单测试 | 针对快捷菜单上的每一个菜单项进行测试,检查其功能是否实现 |
测试右键快捷菜单弹出位置是否正确,尤其是在窗体的上下左右边缘时 | ||
右键快捷菜单中是否存在热键,热键是否起作用 |
7. 兼容性测试
兼容性测试 | ||
序号 | 测试点 | 备注说明 |
1 | 测试软件是否能在不同的操作系统平台上兼容,或测试软件是否能在同一操作平台的不同版本上兼容 | |
2 | 软件本身能否向前或向后兼容 | 主要指的是能否兼容不同版本的数据 |
3 | 测试软件能否与其他相关的软件兼容 | 例如杀毒软件,文字处理软件,办公软件之间的兼容性 |
4 | 被测软件与标准外设的兼容 | 例如打印机等 |
5 | 程序与运行支撑平台版本之间的兼容性 | 例如是否可以兼容不同的JDK版本,或不同的framework版本等 |
6 | 程序与应用服务器之间的兼容性 | 是否支持不同的应用服务器产品,或支持同一应用服务器的不同版本 |
7 | 各个浏览器之间的兼容性 | 主要是指的B/S架构中,与浏览器各种内核之间的兼容性问题 |
8 | 各种屏幕分辨率之间的兼容性 | 例如主流的1024*768等 |
9 | 不同的网络环境中的兼容性 | |
10 | 数据库之间的兼容性 | 不同的数据库之间的数据迁移问题 |
11 | 不同版本程序数据文件之间的兼容性 | 同一数据库在不同版本的软件上是否能够迁移 |
12 | 整机的兼容性 | 例如在本机能安装使用,在其他配置机器能否正常使用 |
13 | 其他软件的数据兼容性 | 即别的软件中的数据文件能否经进行处理 |
14 | 低版本软件生成的文件,高版本软件是否能够打开 | |
15 | 如果是C/S系统,能否支持低版本的客户端程序访问高版本的服务器端或者是否支持高版本的服务器端程序访问低版本的服务器端 | |
16 | 如果是C/S系统,是否允许不同版本的客户端与同一个服务器进行通信 | 例如不同版本的QQ都可以登录到服务器上 |
17 | 如果是C/S系统,是否允许不同版本的客户端之间进行通信 | 例如不同版本的QQ都可以相互之间进行聊天或通信 |
18 | 当前软件系统生成的文件或数据是否可以在其他软件中被打开 | |
19 | 是否支持同时安装或运行两个不同版本的软件 | |
20 | 不同版本的软件系统是否能够支持以往的数字证书或硬件加密狗等安全校验文件 | |
21 | 新版本的系统是否和老的应用插件相兼容(例如报表插件,流媒体播放插件等) |
8. 稳定性测试
软件稳定性测试 | ||
序号 | 测试点 | |
001 | 对软件多次测试,长时间运行,是否正常运行。 长时间对软件开启关闭软件和系统是否正常。 | |
002 | 软件长时间执行某个业务后切换到别的不同的业务操作是否受影响 | |
003 | 软件长时间开启但是不执行任何操作,然后检查能否正常执行业务操作 | |
004 | 软件长时间对日常的用户数进行操作运行,观察系统内存占用率是否越来越大,可用内存是否减少,内存是否溢出,饱和运算内存是否占用过大、是否溢出 | |
005 | 软件长时间开启正常运行,观察系统CPU是否使用率是否越来越高,在饱和运算时,观察系统cup使用率,饱和运算结束时,CPU使用率能否回到正常值 | |
006 | 在系统运行过程中,对系统饱和施压,观察系统的各种性能指标,以及服务器的指标、观察服务器电源电压是否降低、机箱、内存、硬盘、CPU等硬件指标来观察系统的稳定性。 | |
007 | 模拟平常的压力,模拟实际中日常的用户数进行操作。要存、取、建、查数据,验证数据库是否正常读写 | |
008 | 模拟饱和压力测试,模拟实际中日常最大用户数进行操作。要存、取、建、查数据,验证数据库是否正常读写,系统运行是否受影响 | |
009 | 多个关联软件,存在接口访问数据交流,关闭其中的一个软件,检查软件是否稳定运行。 | |
010 | 多对不同功能模块软件同时操作是否能够正常响应,数据库运行是否正常。 | |
011 | 对依靠网络运行的软件,使用网络工具将软件的带宽限制到最低,检查系统处理是否正常 | |
012 | 对依靠网络运行的软件,在执行业务时断网,检查系统处理是否正常,软件能够正常运行 | |
013 | 有数据库操作的软件,如果数据库停止运行,检查程序是否能正常处理 | |
014 | 对不同功能模块软件同时操作是否能够正常响应 | |
015 | 对不同的操作系统主要是windows系列操作,比如XP,WIN7等,检查不同操作系统能否稳定运行、报错。 | |
016 | 系统断电后此软件是否能够正常启动、正常运行,或者给出异常提示 | |
017 | 多个关联软件,存在接口访问数据交流,关闭其中的一个软件,检查软件是否稳定运行 | |
018 | 版本升级后对原有功能稳定性是否受到影响,对原有数据操作是否存在异常, | |
019 | 软件某单元模块异常后是否影响整个软件正常运行 | |
020 | 当系统出现崩溃时,重起系统软件能否正常运行 | |
021 | 分析系统操作中,哪些业务或功能存在大数据量的处理,如果存在,要将这些功能或业务反复处理,检查系统是否能正常运行,并观察系统的性能和资源使用情况 | |
022 | 分析系统操作中,哪些业务或功能存在大数据量的输出或生成,如果存在,要将这些功能或业务反复处理,检查系统是否能正常运行,并观察系统的性能和硬盘占用情况 | |
023 | 如果系统同时允许多个不同的客户端版本同时访问服务器,要构造尽量多的不同版本的客户端,进行大量的访问服务器的操作,看是否会产生数据冲突或异常 | |
024 | 与开发或设计人员确认,系统的哪些业务或功能在处理过程中,会占用大量的内存,(例如批量生成大容量文件,批量实例化对象,批量产生连接等),要对这些操作进行大量重复,检查系统是否存在内存泄漏问题 | |
025 | 若系统结构中使用了负载均衡,则要考虑负载均衡的策略,要模拟大量用户进行各种不同的并发操作,检查负载均衡是否发生有效地作用 |
9. 容错性测试
容错性测试 | ||
序号 | 测试点 | 备注 |
1 | 数据边界性测试 | 数字类型超出应用设定最大值 |
2 | 数字类型超出类型最大值 | |
3 | 数据类型填写非数据类型 | |
4 | 时间类型超出引用设定限制 | |
5 | 时间类型填写其他类型数据 | |
6 | 文本类型超出应用设定长度 | |
7 | 数据不符合实际规则(例如输入不存在的日期,或货币内容可以输入小数点后多于2位以上等) | |
8 | 是否对输入内容的大小写进行自动转换,以防止用户对于大小写敏感内容出现输入错误 | |
9 | 是否对输入内容的前后空格进行自动去除,以防止用户输入不该存在的前后空格 | |
10 | 校验性测试 | 填写不符合校验的数据,例如不能以数字开头的输入,输入数字开头的数据 |
11 | 验证码,填写错误的验证码 | |
12 | 需重复一致填写时,填写不一致数据 | |
13 | 对于文本框输入类型内容有要求是否进行了键盘输入检测 | |
14 | 上传不符合类型的文件 | |
15 | 代码级测试 | 非法调用函数 |
16 | 使用非法参数(类型错误)调用函数 | |
17 | 使用非法参数(数据不符合规范)调用函数 | |
18 | 参数个数不符合函数要求 | |
19 | 使用不同情况,使程序进入错误处理 | |
20 | 测试是否有可能产生死循环 | |
21 | 对全局数据结构未设置初始值 | |
22 | 对全局数据结构引用过程中进行了数据内容的重新赋值,有可能会导致后续使用全局数据结构的模块导致错误 | |
23 | 接口或函数之间的调用是否会产生循环调用 | |
24 | 界面级测试 | 不按正常流程操作 |
25 | 使用非正常手段访问(例如直接使用内部链接地址访问,直接使用访问协议访问) | |
26 | 对于不应该进行的操作或违法操作是否进行了相关的屏蔽 | |
27 | 对于一些存在限定条件的输入参数,在界面或页面上是否有输入要求提示 | |
28 | 若只能对于某些固定的输入的内容进行处理时,应该使用下拉框或选择框控件,以防止用户输入错误 | |
29 | 对于一些操作较复杂或较容易造成错误的界面,系统是否有明确的说明或向导提示,以减少用户输入或操作错误 | |
30 | 安全性测试 | sql 注入 |
31 | 越权访问 | |
32 | 其他内容可参见28—安全性测试 | |
33 | 数据级测试 | 数据填写不完整时,是否产生错误 |
34 | 流程未完成,强制关闭,是否会产生错误 | |
35 | 多人操作同一数据时,是否产生错误 | |
36 | 当系统出现异常时,是否能自动进行数据备份,以最大程度减少错误带来的损失 | |
37 | 灾难恢复性测试 | 强制使应用系统发生,检查数据是否会错误丢失 |
38 | 强制使硬件发生故障,检查数据是否出错 | |
39 | 并发容错测试 | 对于C/S或B/S系统,要考虑当多个客户端同时新增、修改、删除时是否会造成数据的冲突或不一致等错误 |
40 | 对于C/S或B/S系统,要考虑当多个客户端同时请求系统资源(例如硬盘、内存、CPU等),是否对资源会产生死锁问题 | |
41 | 是否允许同一个用户在不同的机器上同时登录 | |
42 | 是否允许不同或相同的用户在不同机器上同时进行上传、下载、收发邮件等操作 | |
43 | 环境容错测试 | 在网络出现故障时,是否有其他网络进行自动的切换和连接 |
44 | 在系统断电时,是否有其他的供电系统是否能进行自动切换 | |
45 | 在系统服务器出现问题时,是否有其他的备用服务器是否能进行自动切换 |
10. 可维护性测试
可维护性测试 | ||
序号 | 测试点 | 备注说明 |
01 | 初始化测试 | 载入数据初始化系统,测试系统基本功能是否正常使用 |
02 | 测试是否屏蔽非法用户 | |
03 | 测试是否能屏蔽用户错误操作 | |
04 | 界面或页面初始加载数据是否能根据用户的需求进行新增、修改或删除,建议能够进行维护 | |
05 | 用户数据恢复功能 | 增加用户数据,然后使用数据恢复功能,测试数据是否恢复初始状态 |
06 | 删除用户数据,然后使用数据恢复功能,测试数据是否恢复初始状态 | |
07 | 修改用户数据,然后使用数据恢复功能,测试数据是否恢复初始状态 | |
08 | 保持用户数据不变,然后使用数据恢复功能,测试数据是否有变化 | |
09 | 模拟硬盘损坏数据是否恢复到指定状态 | |
10 | 数据或文件在复制或移动过程中,出现故障无法正常操作时,测试当系统恢复正常后,重新进行该操作,是否能够恢复并正常进行。例如大数据量的拷贝或移动,过程中出现故障(例如网络中断),在网络恢复后,是否能够继续复制或转移 | |
11 | 系统恢复功能 | 系统正常运行中,进行系统恢复,测试系统恢复至备份状态并可正常运行 |
12 | 系统出现异常后,退出进行系统恢复,测试系统恢复至备份状态并可正常运行 | |
13 | 测试远程监控、报告错误代码、远程恢复、远程协助功能恢复是否正常 | |
14 | 测试远程升级功能的软件远程升级是否能够正常 | |
15 | 系统恢复过程中,出现故障,测试等故障排除后,是否能继续进行恢复 | |
16 | 配置优化功能 | 对关键的配置文件进行修改,进行系统配置优化,对比前后状态,测试配置优化功能 |
17 | 系统是否具有自动识别或设置配置参数的能力,即当环境发生变化后,系统能够自动识别配置参数的变化并进行提示,或者根据环境变化情况,自动进行参数设置 | |
18 | 系统清理功能 | 查看系统,确认无脏数据,然后进行清理,测试系统是否异常 |
16 | 查看系统,确认存在脏数据,然后进行清理,测试脏数据是否被清除,系统是否异常 | |
17 | 进行脏数据清理的过程中,若出现中断或异常,等系统恢复后,是否能继续进行正常的系统清理 | |
18 | 应用程序的动态性能信息 | 启动应用程序,平稳运行时查看进程信息 |
19 | 处理大量运算,查看进程信息,测试cpu、内存资源占用 | |
20 | 处理大量数据,查看进程信息,比如io资源 | |
21 | 系统兼容性测试 | 依次使用不同配置的软硬件,测试产品是否均支持 |
22 | 更换操作系统时,数据是否恢复到指定状态 | |
23 | 安装规格检查 | 测试是否提供安装规程信息 |
24 | 安装过程中是否允许用户根据自己的需求进行安装参数的设置 | |
25 | 产品说明检查 | 审阅产品说明,测试是否包括用户所需维护信息 |
26 | 审阅产品说明,测试是否使用周境 | |
27 | 审阅产品说明,测试是否有典型的预期用户及其预定的用途 | |
28 | 审阅产品说明,测试是否存在有关效率、有效性和满意度测试的信息 | |
29 | 系统增加功能测试 | 对新增功能进行测试 |
30 | 新增功能后,对新增功能相关模块进行测试 | |
31 | 新增功能后,对系统整体功能进行测试 | |
32 | 系统删除功能测试 | 删除功能后,对删除功能相关模块进行测试 |
33 | 删除功能后,对系统整体功能进行测试 | |
34 | 系统修改功能测试 | 修改某项或某些功能后,对新修改的功能进行测试 |
35 | 修改某项或某些功能后,对系统其他相关受影响的功能进行测试 | |
36 | 系统回归测试 | 按照bug描述的环境、步骤检验bug是否已被修正 |
37 | 在回归测试时,一定要确认修改的bug不会影响其他功能或其他缺陷的修复 | |
38 | 版本测试 | 版本升级后,原有功能是否正常运行,原有数据是否存在差异 |
39 | 测试文档版本可控性、是否易理解 | |
40 | 恢复出厂设置 | 系统正常情况下,进行恢复出厂设置操作 |
41 | 系统出现异常时,进行恢复出厂设置操作 | |
42 | 系统完全崩溃时,重起系统,测试能否再次恢复到上一次界面,其余功能模块不受影响。 |
11. 恢复测试
恢复测试 | ||
序号 | 测试点 | 备注说明 |
1 | 一、硬件和设备故障(包括:服务器宕机、网卡损坏、磁盘损坏等) | 1. 硬件设备故障的保护和恢复 |
2 | 2. 硬件故障的检测、报告和指示处理方法的能力 | |
3 | 3. 硬件冗余和故障时的自动切换能力 | |
4 | 4. 故障诊断方法的合理性和及时性 | |
5 | 5、服务器以及网络交换机路由等是否都接入了UPS备用电源 | |
6 | 6、是否有多个备份服务器进行双机热备份 | |
7 | 7、是否采取了集群技术或负载均衡技术 | |
8 | 二、软件系统故障(包括:系统程序损坏,应用程序损坏、数据库程序损坏、数据库数据损坏等) | 1. 测试系统的程序损坏 |
9 | 2. 测试系统数据损坏 | |
10 | 3. 系统故障能否自检和诊断 | |
11 | 4. 故障发生时能否提供详细的故障描述及处理方法 | |
12 | 5. 局部故障的隔离 | |
13 | 6. 能否在线处理局部故障 | |
14 | 7. 故障前的状态和信息收集 | |
15 | 8. 当故障出现时,是否可以进行自动备份 | |
16 | 9. 当故障恢复后,是否能进行手工或自动恢复 | |
17 | 三、数据故障 | 1. 数据交换或同步进程被中断 |
18 | 2. 数据库进程异常终止或提前终止 | |
19 | 3. 操作异常 | |
20 | 四、通信故障和错误 | 1. 与其他系统通信发生故障 |
21 | 2. 通信传输错误 | |
22 | 3. 通信故障的处理措施是否满足运行要求 | |
23 | 五、恢复能力测试 | 1. 系统是否具备断电故障恢复能力,恢复时间在几秒以内 |
24 | 2. 系统是否具备主服务器故障恢复能力,恢复时间在几秒以内,数据迁移是否完备,业务处理是否正确。若主服务器恢复后,恢复时间多久,恢复程度达到了什么标准 | |
25 | 3.系统是否具备网络故障恢复能力,恢复时间多长?数据是否有丢失?(包括发送数据包,接收数据包) | |
26 | 4. 系统是否具备数据恢复能力,恢复时间多长?数据恢复程度达到什么标准? | |
27 | 5.输入错误恢复程度,若用户输入的信息发生错误,是否能自动恢复到正常情况,例如是否支持相关的撤销操作 | |
28 | 6. 操作错误的恢复程度,若用户操作错误,是否可以回到以前操作过程,例如是否支持回退操作 |
12. 易用性测试
易用性测试 | ||
序号 | 测试点 | 备注说明 |
1 | 相同或相近功能的按钮是否用Frame框框起来。 | |
2 | 常用按钮是否支持快捷方式。 | |
3 | 统一功能或任务的元素是否放在集中位置,减少鼠标移动距离。 | |
4 | 按功能将界面划分局域块,并要有功能说明或标题。 | |
5 | 界面是否支持键盘自动浏览功能。 | 即按Tab键自动切换功能。 |
6 | 界面上首先应输入的信息和重要信息的控件在Tab顺序中应当靠前,位置也应放在窗口醒目位置。 | |
7 | 同一界面上的控件数最好不超过10个。 | 多于10个可考虑分页界面显示。 |
8 | 分页界面要支持在页面间的快捷切换。 | 常用组合:Ctrl+Tab。 |
9 | 默认按钮要支持Enter操作。 | 按Enter后自动执行默认按钮对应操作。 |
10 | 复选框和选项框应该按选择几率的高低排列。 | |
11 | 复选框和选项框要有默认选项,并支持Tab选择 | |
12 | 导航是否直观,系统的主要部分是否可通过主页存取 | |
13 | 应用系统的页面结构、导航、菜单、连接的风格是否一致。 | 确保用户凭直觉就知道应该系统里面是否还有内容,在什么地方。 |
14 | 要确保图形有明确的用途,图片或动画不要胡乱地堆在一起,以免浪费传输时间。应用系统的图片尺寸要尽量地小,并且要能清楚地说明某件事情,一般都链接到某个具体的页面 | |
15 | 验证所有页面字体的风格是否一致 | |
16 | 背景颜色应该与字体颜色和前景颜色相搭配。 | |
17 | 图片的大小和质量,一般采用JPG或GIF压缩。 | |
18 | 检验应用系统提供的信息的正确性、准确性和相关性。 | |
19 | 是否对用户输入的信息进行及时的保存,以便减少用户的输入工作量 | |
20 | 是否在输入界面处,明确注明了相关输入参数的规定规则(例如,必输项、不能重复,相关组成规则等) | |
21 | 是否有相关的操作向导协助用户完成复杂的操作 | |
22 | 在每一个操作页面中,是否都有对应的帮助按钮或帮助菜单。 | |
23 | 鼠标放在图标按钮上时,是否有对应的文字提示 | |
24 | 是否可以根据用户的实际需要进行相关的使用定制 |
相关文章推荐
- 链表的基本操作应用-reverse
- testng 教程之使用参数的一些tricks配合使用reportng
- 【设计模式】单例模式详解
- js对象
- C#如何生成随机不重复的数字
- 3.MyBatis 入门程序
- vim的学习小小笔记
- Python----matplotlib详细介绍
- 运行及总结
- Windows 2008 + SQLServer 2008 双机群集
- SGU 246. Black & White(数论)
- 回忆我的大学
- 黑马程序员——IO流(一)
- 漫游Kafka实战篇clientAPI
- Sql Server 中非常强大的日期格式化函数
- 【C++探索之旅】第一部分第二课:C++编程的必要软件
- sgu273:Game Po(dp)
- PHP传值、传引用
- 关于独立游戏的一些素材网站
- 单例模式