admin 管理员组

文章数量: 887021

非功能测试测试框架_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

多人同时进行耗时较长的操

本文标签: 测试 框架 功能 Phoenix