功能性用例设计点:
1. 输入已注册的用户名和正确的密码,验证是否成功登录
2. 输入已注册的用户名和不正确的密码,验证是否成功失败,且提示信息正确
3. 输入未注册的用户名和任意密码,验证是否登录失败,且提示信息正确
4. 使用未激活账户登录,验证是否登录失败
5. 使用被停用用户登录,验证是否登录失败
6. 用户名和密码两者都为空,验证是否登录失败,且提示信息正确
7. 用户名和密码两者之一为空,验证是否登录失败,并且提示信息正确
8. 如果登录功能启用了验证码功能,在用户名和密码正确的情况下,输入正确的验证码,验证是否登录成功
9. 如果登录功能启用了验证码功能,在用户名和密码正确的情况下,输入错误的验证码,验证是否登录失败,且提示信息正确
10.用户名和密码是否大小写敏感
11.页面上的密码框是否加密显示、或者是否需要有明暗码切换按钮
12.后台系统创建的用户第一次登录成功时,是否提示修改密码
13.忘记用户名和忘记密码的功能是否可用
14.前端页面是否根据设计需求限制用户名和密码长度
15.如果登录功能需要验证码,点击验证码图片或者点击换一张是否可以更换验证码,更换后的验证码是否可用
16.刷新页面是否会刷新验证码
17.如果验证码有时效性,需要分别时效性内和时效性外验证码的有效性
18.用户登录成功但是会话超时后,继续操作是否会重定向到用户登录界面
19.不同级别的用户,比如管理员和普通用户,登录系统后权限是否正确
20.页面默认焦点是否定位在用户输入框中
21.快捷键Tab和Enter等,是否可以正常使用
22.为空和输入空格字符串的校验是否一致
23.使用中文键盘输入字母和使用英文键盘输入字母传入后端的字符长度是否一致
24.成功登录后的session的时效设置
25.输入栏是否设置快速删除按钮
26.用户名和密码是否支持特殊字符和中文
27.浏览器的前进后退按钮,是否有效
28.成功登出后,点击浏览器回退按钮,是否可以继续操作系统
29.需求中是否有登录时间限制,如果有验证时间限制是否有效
30.验证不同登录方式的正确性:扫码、账号密码、第三方……
31.若支持手机号+验证码登录,验证码是否有时间限制,移动设备是否可以直接获取验证码
32.操作错误提示信息是否简单明了
兼容性测试用例设计点:
1. 不同浏览器下,验证登录页面的显示以及功能正确性
2. 相同浏览器的不同版本下验证登录页面的显示以及功能正确性
3. 不同移动设备终端的不同浏览器下,验证登录页面显示以及功能的正确性
4. 不同分辨率的界面下,验证登录页面的显示以及功能正确性
安全性测试用例设计点:
1. 用户密码后台存储是否加密
2. 用户密码在网络传输过程中是否加密
3. 密码是否具有有效期,密码有效期到期后,是否提示需要修改密码
4. 不登录的情况下,在浏览器中直接输入登录后的URL地址,验证是否会重新定向到用户登录界面
5. 密码输入框是否不支持复制粘贴
6. 密码输入框内输入的密码是否都可以在页面源码模式下被查看
7. 用户名和密码输入框分别输入典型的“SQL注入攻击”字符串,验证系统的返回页面
8. 用户名和密码输入框分别输入典型的“XSS跨站脚本攻击”字符串,验证系统行为是否被篡改
9. 连续多次登录失败的情况下,系统是否会阻止后续的尝试以应对暴力破解
10.同一用户在同一终端的多种浏览器上登录,验证登录功能的互斥性是否符合设计预期
11.同一用户先后在多台终端的浏览器上登录,验证登录是否具有互斥性
12.是否可以记住密码,记住的密码保存是否加密,记住的密码是否有有效期,过了有效期后是否清空密码
13.是否支持第三方登录
14.密码的强弱性,复杂度校验
15.异地登录校验、更换设备登录校验、登陆信息异常是否考虑账户冻结停用、是否允许第三方平台存储密码
16.是否可以使用登录的api发送登录请求,并绕开验证码校验
17.是否可以用抓包工具抓到的请求包直接登录
18.截取到的token等信息,是否可以在其他终端上直接使用,绕开登录,token过期时间校验
19.登录错误后的提示是否存在安全隐患
性能压力测试的用例设计点:
1. 单用户登录的响应时间是否小于3秒
2. 单用户登录时,后台请求数量是否过多
3. 高并发场景下用户登录的响应时间是否小于5秒
4. 高并发场景下服务端的监控指标是否符合预期
5. 高集合点并发场景下,是否存在资源死锁和不合理资源等待
6. 长时间大量用户连续登录和登出,服务器是否存在内存泄露
7. 输入内容校验是否加入了函数防抖
4.深入测试
用户名是否支持中文?
用户名是否支持特殊字符?
用户名是否有长度限制?
密码是否支持中文?
密码是否支持特殊字符?
密码是否有长度限制?
密码是否支持大小写?
密码为一些简单常用字符串时,是否弹出建议更换密码的友好提示?(123456,111111… )
密码存储是否已加密?
用户名正确,密码错误,是否提示输入密码错误?
用户名错误,密码正确,是否提示输入用户名错误?
用户名和密码都错误时,是否有相应的提示?
用户未注册时,是否有相应的提示?
用户名密码为空时,是否有相应的提示?
连续输入3次或以上错误密码,用户是否被锁一定时间(例如:15分钟)?时间点内不允许登陆,超出时间点是否可以继续登陆?
用户session过期后,重新登陆是否还能重新返回之前session过期的页面?
用户名和密码输入框是否支持键盘快捷键?如:撤销(Ctrl+z)、复制(Ctrl+c)、粘贴(Ctrl+v)等等。
是否允许同名用户同时登陆进行操作?(考虑web和手机同时登陆)
手机登陆时,是否先判断网络可用?
手机登陆时,是否先判断app存在新版本?
是否支持单点登陆?
5.安全测试
是否使用https技术?
密码在数据库中是否以加密方式存储?
是否存在sql注入风险?
密码是否保存在本地的cookie中?
5.性能测试
单用户登陆系统的响应时间是否符合“3-5-8”原则。(3s之内得到响应,那么给客户的感觉是该系统性能十分优秀;5s之内请求得到响应,用户会感觉还不错;
超过8s甚至更长的时间以后,用户很有可能就失去信心)
用户数在临界点时并发登陆是否还能够符合“3-5-8”原则?
6.压力测试
大量并发用户(超过临界点)登陆,系统的响应时间是多少呢?系统会出现宕机、内存泄露、cpu饱和、用户无法登陆的情况吗?
7.稳定性测试
系统能否处理并发用户数在临界点以内连续登陆3小时、8小时、24小时乃至72小时的场景吗?