登录功能测试点

验证登录流程判断逻辑

  • 前端

账户名、密码、验证码是否为空
密码是否符合规则(特殊字符、大小写、数字、长度…)

  • 服务端

验证码是否正确(对应时间戳是否过期)
账户是否存在(未注册、已注销)
密码是否正确(记录连续输入错误次数,超过5次,账号锁定4小时。或提升验证等级,采取账号+密码+验证码+短信验证)
返回session、token
登录流程图

  1. web从 FileManager服务获取验证码
  2. ileManager根据web上传的时间戳(长度为19位数字串,精确到微妙)生成验证码图片,并记录时间戬对应的验证码
  3. web获取用户输入的账号,密码(md5加密),验证码信息发行到ogns(今后application
    s可能还会带上用户使用浏览器类型等用户环境信息)
  4. login sy通过时间戳(精确到微妙)获取验证码字符串
  5. login
    svr.根据web获取的用户信息动态计算确定用户的认证等级,如果为默认认证方式,验证账号,密码,验证码是否正确,如果正确返回验证成功以及相应的session
    ID;login s还要在reds中记录当前用户 session对应的信息,供鉴权服务使用,详情见后面的接口说明
  6. 如果1 ogin svr动态计算的用户认证级别高于默认级别,则 login
    syr返回对应的认证级别,web需要根据返回的结果提升认证级别,比如P认证等等

基本功能测试点

  1. 输入正确的用户名和密码登录成功
  2. 输入错误的用户名密码登录失败
  3. 用户名正确,密码错误,是否提示输入密码错误?
  4. 用户名错误,密码正常,是否提示输入用户名错误?
  5. 用户名和密码都错误,是否有相应提示?
  6. 用户名密码为空时,是否有相应提示?
  7. 如果用户未注册,提示请先注册,然后进行登录
  8. 已经注销的用户登录失败,提示信息友好?
  9. 密码框是否加密显示?
  10. 用户名是否支持中文、特殊字符?
  11. 用户名是否有长度限制?
  12. 密码是否支持中文,特殊字符?
  13. 密码是否有长度限制?
  14. 密码是否区分大小写?
  15. 密码为一些简单常用字符串时,是否提示修改?如:123456
  16. 密码存储方式?是否加密?
  17. 登录功能是否需要输入验证码?
    ·验证码有效时间?
    ·验证码输入错误,登录失败,提示信息是否友好?
    ·输入过期的验证能否登录成功?
    ·验证码是否容易识别?
    ·验证码换一张功能是否可用?点击验证码图片是否可以更换验证码?
  18. 用户体系:比如系统分普通用户、高级用户,不同用户登录系统后可的权限不同。
  19. 如果使用第三方账号(QQ,微博账号)登录,那么第三方账号与本系统的账号体系对应关系如何保存?首次登录需要极权等。

页面测试

  1. 登录页面显示是否正常?文字和图片能否正常显示,相应的提示信息是否正确,按钮的设置和排列是否正常,页面是否简洁壮观等。
  2. 页面默认焦点是否定位在用户名的输入框中
  3. 首次登录时相应的输入框是否为空?或者如果有默认文案,当点击输入框时默认方案是否消失?
  4. 相应的按钮如登录、重置等,是否可用;页面的前进、后退、刷新按钮是否可用?
  5. 快捷键Tab,Esc,Enter等,能否控制使用?
  6. 兼容性测试:不同浏览器,不同操作系统,不同分辨率下界面是否正常。

安全测试

  1. 不登录:浏览器中直接输入登录后的地址,看是否可以直接进入
  2. 登录成功后生成的Cookie,是否是httponly(否则容易被脚本盗取)
  3. 用户名和密码是否通过加密的方式,发送给Web服务器
  4. 用户名和密码的验证,应该是用服务器端验证,而不能单单是在客户端用javascript验证
  5. 用户名和密码的输入框,应该屏蔽SQL注入攻击
  6. 用户名和密码的的输入框,应该禁止输入脚本(防止XSS攻击)
  7. 错误登陆的次数限制(防止暴力破解)
  8. 考虑是否支持多用户在同一机器上登录
  9. 考虑一用户在多台机器上登录

性能测试

  1. 单用户登录系统的响应时间是否符合"3-5-8"原则
  2. 用户数在临界点时并发登录是否还能符合"3-5-8"原则
  3. 压力:大量并发用户登录,系统的响应时间是多少?系统会出现宕机、内存泄露、cpu饱和、无法登录吗?
  4. 稳定性:系统能否处理并发用户数在临界点以内连续登录N个时的场景?

功能测试

  1. 输入已注册的用户名和正确的密码,验证是否登录成功;
  2. 输入已注册的用户名和不正确的密码,验证是否登录失败,并且提示信息正确;
  3. 输入未注册的用户名和任意密码,验证是否登录失败,并且提示信息正确;
  4. 用户名和密码两者都为空,验证是否登录失败,并且提示信息正确;
  5. 用户名和密码两者之一为空,验证是否登录失败,并且提示信息正确;
  6. 如果登录功能启用了验证码功能,在用户名和密码正确的前提下,输入正确的验证码,验证是否登录成功;
  7. 如果登录功能启用了验证码功能,在用户名和密码正确的前提下,输入错误的验证码,验证是否登录失败,并且提示信息正确;

兼容测试

  1. 不同浏览器下,验证登录页面的显示以及功能正确性;
  2. 相同浏览器的不同版本下,验证登录页面的显示以及功能正确性;
  3. 不同移动设备终端的不同浏览器下,验证登录页面的显示以及功能正确性;
  4. 不同分辨率的界面下,验证登录页面的显示以及功能正确性。

其它测试

  1. 连续输入3次或以上错误密码,用记是否被锁一定时间(如:15分钟)?时间内不允许登录,超出时间点是否可以继续登录。
  2. 用户session过期后,重新登录是否还能重新返回这前session过期的页面?
  3. 用户名和密码输入框是支持键盘快捷键?如:撤销、复制、粘贴等等
  4. 是否允许同名用户同时登录进行操作?考虑web和app同时登录
  5. 手机登录时,是否先判断网络可用?
  6. 手机登录时,是否先判断app存在新版本?
  7. 是否支持单点登录?
  8. 是否有埋点接口
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值