一、用户注册
只从用户名和密码角度写了几个要考虑的测试点,如果需求中明确规定了安全问题,Email,出生日期,地址,性别等等一系列的格式和字符要求,那就都要写用例测了,
以等价类划分和边界值法来分析
1.填写符合要求的数据注册: 用户名字和密码都为最大长度(边界值分析,取上点)
2.填写符合要求的数据注册 :用户名字和密码都为最小长度(边界值分析,取上点)
3.填写符合要求的数据注册:用户名字和密码都是非最大和最小长度的数据(边界值分析,取内点)
4.必填项分别为空注册
5.用户名长度大于要求注册1位(边界值分析,取离点)
6.用户名长度小于要求注册1位(边界值分析,取离点)
7.密码长度大于要求注册1位(边界值分析,取离点)
8.密码长度小于要求注册1位(边界值分析,取离点)
9.用户名是不符合要求的字符注册(这个可以划分几个无效的等价类,一般写一两个就行了,如含有空格,#等,看需求是否允许吧~)
10.密码是不符合要求的字符注册(这个可以划分几个无效的等价类,一般写一两个就行了)
11.两次输入密码不一致(如果注册时候要输入两次密码,那么这个是必须的)
12.重新注册存在的用户
13.改变存在的用户的用户名和密码的大小写,来注册。(有的需求是区分大小写,有的不区分)
14.看是否支持tap和enter键等;密码是否可以复制粘贴;密码是否以* 之类的加秘符号显示
二、修改密码
当然具体情况具体分析,不能一概而论~
实际测试中可能只用到其中几条而已,比如银行卡密码的修改,就不用考虑英文和非法字符,更不用考虑那些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.新密码与旧密码一样能否修改成功
三、登录测试点
1、验证码的,考虑文字是否扭曲过度导致辨认难度大,考虑颜色(色盲使用者),刷新或换一个按钮是否好用,验证码有效期,过期的验证码是否可用
2、输入密码的时候,大写键盘开启的时候要有提示信息(用户体现)
3、登录成功后能否跳转到正确的页面以及页面跳转速度
4、输入框中是否可以自动过滤掉空格
5、用户名和密码的验证,应该是用服务器端验证, 而不能单单是在客户端用javascript验证,或者客服端和服务器同时验证
客户端验证,它没有跳转就提示你填写有误,这一过程一般很快,返回时页面也不晃动
服务器验证,可能会跳到另一页面,返回得很慢,中间有可能有一段空白时段,返回后页面出现重写或晃动返回
6、考虑一用户在多台机器上登录的安全性,比如QQ登录,当在第一次在未用过的电脑登录,需要在手机上同意
7、电脑上登录回车键的是否可以代替点击登录按钮
8、登录次数限制
9、对应一般输入框要考虑跨站攻击(禁止脚本的输入)
10、输入框是否屏蔽sql注入攻击(sql注入,目前不是很清楚,正在学)
另外一些其他的想法如下:
1、 要测试所有规约中约定可以输入的特殊字符,字母,和数字,要求都可以正常输入、显示正常和添加成功
2 、关注规约中的各种限制,比如长度,大否支持大小写。
3 、考虑各种特殊情况,比如添加同名用户,系统是否正确校验给出提示信息,管理员帐户是否可以删除,因为有些系统管理员拥有最大权限,一旦删除管理员帐户,就不能在前台添加,这给最终用户会带来很多麻烦。比较特殊的是,当用户名中包括了特殊字符,那么对这类用户名的添加同名,修改,删除,系统是否能够正确实现
4、 数值上的长度 之类的,包括出错信息是否合理
5 、特殊字符:比如。 / ' " </html> 这些是否会造成系统崩溃
6 、注入式bug:比如密码输入个or 1=1
7 、登录后是否会用明文传递参数
8 、访问控制,登录后保存里面的链接,关了浏览器直接复制链接看能不能访问。