CGFRJS06测试用例V10文档格式.docx
《CGFRJS06测试用例V10文档格式.docx》由会员分享,可在线阅读,更多相关《CGFRJS06测试用例V10文档格式.docx(20页珍藏版)》请在冰点文库上搜索。
修改密码7
八、输入框测试8
九、用户体验相关9
1、输入验证
测试用例:
表单文字输入验证
用例编号
Test-001
测试类别
功能测试
建立整体的威胁模型,测试溢出漏洞、信息泄漏、错误处理、SQL
注入、身份验证和授权错误。
测试内容
输入动作
期望输出
1.输入很大的数(如4,294,967,269),输入很小的数(负数)
2.输入超长字符,如对输入文字长度有限制,则尝试超过限制,刚好到达限制字数时有何反应
正常的错误提醒
3.输入特殊字符,如:
~!
@#$%^&
*()_+<
>
:
”{}|
4.输入中英文空格,输入字符串中间含空格,输入首尾空格
正常的错误提醒,首尾空格将被去除
5.输入特殊字符串NULL,null,0x0d0x0a
正常
6.输入正常字符串
7.输入与要求不同类型的字符,如:
要求输入数字则检查正值,负值,零值(正零,负零),小数,字母,空值;
要求输入字母则检查输入数字
8.输入html和javascript代码
正常过滤
9.对于像回答数这样需检验数字正确性的测试点,不仅对比其与问题最终页的回答数,还要对回答进行添加删除等操作后查看变化
例:
1.输入<
html”>
”gfhd<
/html>
看是否出错;
2.输入<
inputtype=”text”
name=”user”/>
看是否出现文本框;
3.输入<
scripttype=”text/javascript”>
alert(“提示”)<
/script>
看是否出现提示。
上传验证
Test-002
1.上传文件是否有格式限制,是否可以上传exe文件;
错误格式提醒
2.上传文件是否有大小限制,上传太大的文件是否导致异常错误,上传0K的文件是否会导致异常错误,上传并不存在的文件是否会导致异常错误;
错误尺寸提醒
3.通过修改扩展名的方式是否可以绕过格式限制,是否可以通过压包方式绕过格式限制;
4.是否有上传空间的限制,是否可以超过空间所限制的大小,如将超过空间的大文件拆分上传是否会出现异常错误。
5.上传文件大小大于本地剩余空间大小,是否会出现异常错误。
上传错误提醒
6.关于上传是否成功的判断。
上传过程中,中断。
程序是否判断上传是否成功。
停止上传提醒
7.对于文件名中带有中文字符,特殊字符等的文件上传。
文件名错误提醒
下载链接的输入验证
Test-003
1.输入:
/../web/
无效链接提醒
2.修改命名后缀
文件不存在提醒
URL地址的输入验证
Test-004
1.某些需登录后或特殊用户才能进入的页面,是否可以通过直接输入网址的方式进入;
无效链接或无权限提醒
2.对于带参数的网址,恶意修改其参数,(若为数字,则输入字母,或很大的数字,或输入特殊字符等)后打开网址是否出错,是否可以非法进入某些页面;
文件不存在或正常跳转提醒
3.搜索页面等url中含有关键字的,输入html代码或JavaScript看是否在页面中显示或执行。
4.输入善意字符。
UBB代码输入验证
Test-005
1.试着用各种方式输入UBB代码,比如代码不完整,代码嵌套等等.
正常输出
2.在UBB代码中加入属性,如样式,事件等属性,看是否起作用
3.输入编辑器中不存在的UBB代码,看是否起作用
[url=javascript:
alert('
hello'
)]链接[/url]
[email=javascript:
)]EMail[/email]
[email=yangtao@STYLE="
background-image:
url(javascript:
XSS'
))"
]yangtao@[/email]
[img]style="
url(javascript:
alert(xss)'
[/img]
[img]"
onmouseover=alert('
);
"
[bSTYLE="
]一首诗酸涩涩服务网[/b]
[iSTYLE="
]一二三四五六七北京市[/i]
[u]一二三四五六七北京市[/u]
[font=微软雅黑"
STYLE="
]一二三四五六七北京市[/font]
[size=4"
]一二三四五六七北京市[/size]
[color=Red"
]一二三四五六七北京市[/color]
[align=center"
]一二三四五六七北京市[/align]
[float=left"
]一二三四五六七北京市[/float]
[font=微软雅黑
STYLE="
[size=4STYLE="
[color=RedSTYLE="
[align=centerSTYLE="
[list=1]
[*]一二三四五六七北京市[/list]
[indent]一二三四五六七北京市[/indent]
[float=leftSTYLE="
[media=ra,400,300,0]
二、输出编码
常用的输出编码验证
Test-006
对输入数据到输出数据的对比,看是否出现问题。
1.<
inputtype="
text"
/>
2.<
input/>
3.<
input/
4.<
script>
<
5.1.jpg"
onmouseover="
xss'
)
6."
/a>
alert(‘xss’);
7.http:
//xxx'
;
var/a='
a
8.‘”>
xss&
9.a=”/”;
b=”;
alert(/xss/);
//”
10.<
imgsrc=“输出内容”
border=“0”
alt=“logo”
11.“’”
12.‘”’
13.“””
14.“
“
“
16.“”“
17.“‘
”
18.title=””
3、
防止SQL注入
常用的SQL注入语句验证
Test-007
4、跨站脚本攻击(XSS)
跨站脚本攻击输入输出验证
Test-008
对于
XSS,只需检查
HTML
输出并看看您输入的内容在什么地方。
它在一个
HREF
标记中吗?
是否在
IFRAME
标记中?
它在
CLSID
在
IMGSRC
中吗?
某些
Flash
内容的
PARAMNAME
是怎样的?
1.~!
./?
'
[]{}/-
2.%3Cinput/%3E
3.%3Cscript%3Ealert('
)%3C/script%3E
5.<
)<
6.<
7.<
alert(‘xss’)<
8.javascript:
alert(/xss/)
9.javascrip&
#116&
#58alert(/xss/)
imgsrc="
#"
onerror=alert(/xss/)>
11.<
style="
Xss:
expression(alert(/xss/));
12.<
/**/onerror=alert(/xss/)width=100>
13.=’>
alert(document.cookie)<
14.1.jpg"
16."
17.http:
18.’”>
19."
20.&
{alert('
}
21.
alert(‘XSS'
22.
%22%27>
img%20src%3d%22javascript:
alert(%27XSS%27)%22>
23.>
img%20src%3D%26%23x6a;
%26%23x61;
%26%23x76;
%26%23x73;
%26%23x63;
%26%23x72;
%26%23x69;
%26%23x70;
%26%23x74;
%26%23x3a;
alert(%26quot;
XSS%26quot;
)>
24.
AK%22%20style%3D%22background:
alert(%27XSS%27))%22%20OS%22
25.★%22%2Balert(%27XSS%27)%2B%22
26.<
tablebackground="
javascript:
alert(([code])"
/table>
27.
objecttype=text/htmldata="
alert(([code]);
/object>
28.
bodyonload="
/body>
29.
a?
alert(’Vulnerable’)<
30.<
!
--'
&
varfrom=‘$!
rundata.Parameters.getString(’from’)'
varfrom=”;
hackerFunction(document.cookie);
”;
31.
32.<
alert("
hello"
nid=MAPBXITBJRQMYWJRXPCBX
5、跨站请求伪造(CSRF)
常规跨站请求伪造
Test-009
对CSRF进行测试,看是否出现问题。
1.同个浏览器打开两个页面,一个页面权限失效后,另一个页面是否可操作成功。
出现无权限提醒
2.当页面没有CHECKCODE时,查看页面源代码,查是是否有token。
如果页面完全是展示页面,是不会有token的。
6、
用户注册
用户注册输入输出验证
Test-010
只从用户名和密码角度写了几个要考虑的测试点,如果需求中明确规定了安全问题,Email,出生日期,地址,性别等等一系列的格式和字符要求。
以等价类划分和边界值法来分析。
1.填写符合要求的数据注册:
用户名字和密码都为最大长度(边界值分析,取上点)
2.填写符合要求的数据注册
:
用户名字和密码都为最小长度(边界值分析,取上点)
3.填写符合要求的数据注册:
用户名字和密码都是非最大和最小长度的数据(边界值分析,取内点)
4.必填项分别为空注册
5.用户名长度大于要求注册1位(边界值分析,取离点)
6.用户名长度小于要求注册1位(边界值分析,取离点)
7.密码长度大于要求注册1位(边界值分析,取离点)
8.密码长度小于要求注册1位(边界值分析,取离点)
9.用户名是不符合要求的字符注册(这个可以划分几个无效的等价类,一般写一两个就行了,如含有空格,#等,看需求是否允许吧~)
10.密码是不符合要求的字符注册(这个可以划分几个无效的等价类,一般写一两个就行了)
11.两次输入密码不一致(如果注册时候要输入两次密码,那么这个是必须的)
12.重新注册存在的用户
13.改变存在的用户的用户名和密码的大小写,来注册。
(有的需求是区分大小写,有的不区分)
14.看是否支持tap和enter键等;
密码是否可以复制粘贴;
密码是否以*
之类的加秘符号显示
备注:
边界值的上点
修改密码
修改密码输入输出验证
Test-011
实际测试中可能只用到其中几条而已,比如银行卡密码的修改,就不用考虑英文和非法字符,更不用考虑那些TAP之类的快捷键。
而有的需要根据需求具体分析了,比如连续出错多少次出现的提示,和一些软件修改密码要求一定时间内有一定的修改次数限制等等。
1.不输入旧密码,直接改密码
2.输入错误旧密码
3.不输入确认新密码
4.不输入新密码
5.新密码和确认新密码不一致
6.新密码中有空格
7.新密码为空
8.新密码为符合要求的最多字符
9.新密码为符合要求的最少字符
10.新密码为符合要求的非最多和最少字符
11.新密码为最多字符-1
12.新密码为最少字符+1
13.新密码为最多字符+1
14.新密码为最少字符-1
15.新密码为非允许字符(如有的密码要求必须是英文和数字组成,那么要试汉字和符号等)
16.看是否支持tap和enter键等;
之类的加秘符号
17.看密码是否区分大小写,新密码中英文小写,确认密码中英文大写
18.新密码与旧密码一样能否修改成功
19.要测试所有规约中约定可以输入的特殊字符,字母,和数字,要求都可以正常输入、显示正常和添加成功
20.关注规约中的各种限制,比如长度,大否支持大小写
21.考虑各种特殊情况,比如添加同名用户,系统是否正确校验给出提示信息,管理员帐户是否可以删除,因为有些系统管理员拥有最大权限,一旦删除管理员帐户,就不能在前台添加,这给最终用户会带来很多麻烦。
比较特殊的是,当用户名中包括了特殊字符,那么对这类用户名的添加同名,修改,删除,系统是否能够正确实现,我就遇到了一个系统,添加同名用户时,如果以前的用户名没有特殊字符,系统可以给出提示信息,如果以前的用户名包含特殊字符,就不校验在插入数据库的时候报错。
后来查到原因了,原来是在java中拼SQL语句的时候,因为有"
_"
,所以就调用了一个方法在“_”,前面加了一个转义字符,后来发现不该调用这个方法。
所以去掉就好了。
所以对待输入框中的特殊字符要多关注。
22.数值上的长度
之类的,包括出错信息是否合理
23.特殊字符:
比如。
/'
"
/<
这些是否会造成系统崩溃
24.注入式bug:
比如密码输入个or1=1
25.登录后是否会用明文传递参数
26.访问控制(不知道这个算不算):
登录后保存里面的链接,关了浏览器直接复制链接看能不能访问。
8、输入框测试
输入框验证
Test-013
输入框用例验证
1.验证输入与输出的是否信息一致;
2.输入框之前的标题是否正确;
3.对特殊字符的处理,尤其是输入信息徐需要发送到数据库的。
特殊字符包括:
(单引号)、"
(双引号)、[](中括号)、()(小括号)、{}(大括号)、;
(分号)、<
(大于小于号)
4.对输入框输入超过限制的字符的处理,一般非特殊的没有作出限制的在255byte左右;
5.输入框本身的大小、长度;
6.不同内码的字符的输入;
7.对空格、TAB字符的处理机制;
8.字符本身显示的颜色;
9.密码输入窗口转换成星号或其它符号;
10.密码输入框对其中的信息进行加密,防止采用破解星号的方法破解;
11.按下ctrl和alt键对输入框的影响;
12. 对于新增、修改、注册时用的输入框,有限制的,应该输入时作出提示,指出不允许的或者标出允许的;
13.对于有约束条件要求的输入框应当在条件满足时输入框的状态发生相应的改变,比如选了湖南就应该列出湖南下面的市,或者选了某些条件之后,一些输入框会关闭或转为只读状态;
14.输入类型;
根据前面的栏位标题判断该输入框应该输入哪些内容算是合理的。
例如,是否允许输入数字或字母,不允许输入其他字符等。