登陆页面测试
问题:如图,一个登陆页面,怎么测?
回答这个问题不同的思考者有不同的思考方式。这也是面试官常会问到的一个问题。因为这个问题不仅可以考察一个人的逻辑思维,有没有条例而且可以考察测试技术的水准或者测试水平在那个层次上。如果是功能测试者可能会以测试的功能点来解答,如果是自动化测试者或考虑怎么用自动化来实现登陆页面的测试,安全测试的会想到sql注入、cookies、token等安全行为。无论怎样思考都逃不出测试那几个点,功能性、性能、安全、兼容性、UI、易用性、接口测试、代码测试、异常测试等。下来笔者将一一讲解。
1、功能性测试
功能测试首先要满足登陆的基本功能,无论那种测试进行的第一步测试肯定是功能测试
主要测试项:
用户名、密码正确,点击登陆,登陆成功(不管测什么,首先第一条应该测试正常的流程,这也是优先级最高的用例)
用户名为空,正确的密码点击登陆,有合理的提示信息
用户名为特殊符号(空格、*#、……&等能想到的都输入进去)、正确的密码,点击登陆,有合理的提示信息
用户名正确、密码为空,点击登陆有合理的提示
用户名正确、密码错误,点击登陆有合理的提示
用户名的长度限制测试(如果长度小于等于12个字符,则输入12,13个字符测试)
密码的长度限制测试(如果长度小于等于12个字符,则输入12,13个字符测试)
密码要掩码显示
用户名处先输入空格再输入正确的用户名,输入正确的密码点击登陆,系统自动去掉空格,登陆成功
不输入内容直接退出,退出成功
用户名和密码处输入内容,点击退出,再次进入登陆页面,输入框清空
如果是浏览器登陆,验证浏览器的刷新后,用户名和密码处输入的内容被清空
2、性能测试
性能测试是系统承载量的一个测试,对系统登陆界面并发量的一个测量
首先要知道系统正常允行时大概会有多少人用,登陆使用最多的时间段(例如上班时间)。繁忙时段多少人用(比如搞个活动,很多人来用)
了解到登陆使用的场景后根据预测量测试
不同网速下,打开登陆页面需要需要多长时间
登陆成功进入系统需要多长时间
3、安全性测试
登陆多次后,会不会提示登陆次数上限
登陆次数上限后,在限制的时间内登陆,在解除限制时间后登陆
输入框是否对sql注入有做处理
用户登陆后通过抓包工具查看密码是否做加密处理
登录成功后生成的Cookie,是否是httponly
输入框是否对脚本的输入做了处理(xss攻击)
在同一台电脑上是否允许对同一用户两次登陆
在不同的电脑上是否允许同一用户登陆,第二台电脑登陆后第一台电脑上的用户会不会挤掉
4、兼容性测试
如果是浏览器登陆,考虑苹果、火狐、ie、谷歌浏览器上的兼容
手机上登陆,考虑手机版本,系统、手机型号等
5、UI测试
登陆模块的位置,大小,占全局的比例
图片的大小,尺寸,分辨率,占全局的比例
两个输入框的大小,位置,对齐方式
提示信息文字的大小,颜色
两个按钮的大小,样式,对齐方式,与输入框的间距
在输入框输入内容的时候,光标的位置,大小
浏览器大小调节,样式是否会错乱
6、易用性
tab是否可以切换
enter键是否是直接登陆
键盘其他的快捷键操作(复制、粘贴、撤退等)
7、接口测试
主要针对登陆接口进行测试
使用该接口,具体测试参照功能测试
8、代码测试
1、主要针对登陆模块代码,一般是开发自测
9、异常测试
构造本机cpu、硬盘等占用率达到80%、90%以上进行登陆
构造服务器cpu、硬盘等占用率达到80%、90%以上进行登陆
构造网络异常测试,2G、4G|、断网等
登陆的操作中停电,下次打开后是否会记录登陆数据