登录功能的测试是最常见也是最重要的,同时也是最容易被忽略的,关于登录功能的测试用例,总结 如下:
功能测试
- 输入已注册用户名和正确的密码,是否登录成功;
- 输入已注册的用户名和错误的密码,是否登录失败,登录失败提示信息是否正确;
- 输入未注册的用户名和任意密码,是否登录失败,登录失败提示信息是否正确;
- 不输入用户名和密码,是否登录失败,登录失败提示信息是否正确;
- 用户名和密码其中一个为空,是否登录失败,登录失败提示信息是否正确;
- 输入已注册的用户名和正确的密码,输入正确的验证码,是否登录成功;
- 输入已注册的用户名和正确的密码,输入错误的验证码,是否登录失败,登录失败提示信息是否正确;
- 用户名和密码大小写是否敏感;
- 密码输入框是否加密显示,如有显示密码功能,显示密码功能是否正常;
- 后台管理系统创建的用户第一次登录成功时,是否提示修改默认密码;
- 忘记用户名和密码的功能是否正常;
- 用户名和密码输入框是否限制可输入字符个数;
- 点击验证码图片,是否刷新验证码图片,刷新后的验证码图片是否可用;
- 刷新页面,验证码图片是否会随之刷新;
- 若验证码有时效性,时效内和时效外验证码是否可用;
- 用户登录成功,会话超时后,继续操作,是否会跳转到登录页面;
- 不同级别的用户登录成功后,系统权限是否正确;
- 页面默认的焦点,是否定位在用户名输入框中;
- 快捷键是否可以正常使用。
安全测试
- 用户密码,数据库存储是否加密;
- 用户名密码在网络传输中,是否加密;
- 用户密码是否有有效期,到有效期后,是否会提示修改密码;
- 不登录,直接输入URL,系统是否会跳转到登录页面;
- 密码输入框是否不支持复制、粘贴;
- 密码输入框中的密码,是否可以在浏览器查看源码模式下被查看;
- 用户名和密码输入框,是否防止SQL注入;
- 用户名和密码输入框,是否防止XSS跨站脚本攻击;
- 连续多次登录失败,系统是否限制暴力破解;
- 同一用户在同一台机器上,使用不同浏览器登录,系统是否限制只允许一个浏览器登录;
- 同一用户,在不同的机器上登录,系统是否限制只允许一个设备进行登录。
性能压力测试
- 单个用户登录的响应时间是否小于3s;
- 单个用户登录时,后台请求数量是否过多;
- 高并发场景下用户登录的响应时间是否小于5s;
- 高并发场景下服务端的监控指标是否符合预期;
- 高集合点并发场景下,是否存在资源死锁和不合理的资源等待;
- 长时间大量用户连续登录和登出,服务器端是否存在内存泄露。
兼容性测试
- 不同浏览器下,页面的显示和功能是否正常;
- 相同浏览器不同版本下,页面的显示和功能是否正常;
- 不同移动设备终端的不同浏览器,页面的显示和功能是否正常;
- 不同分辨率的界面下,页面的显示和功能是否正常。