软件测试之登录功能

软件测试之登录功能测试

梳理一下验证登录的流程判断逻辑

前端

  1. 用户名,密码,验证码是否为空
  2. 密码是否符合规则(特殊字符,长度,大小写,数字)
  3. 验证码是否是随机生成

服务端

  1. 验证码是否正确(对应的时间戳是否过期)
  2. 账户是否存在(已经注册,已经注销)
  3. 密码是否正确(并且要记录下来,密码连续输入错达几次,就会被锁住,锁住的时长,这样会有两种情况:等待锁住时长完毕,再次输入,或者提高验证等级,账号+密码+验证码+手机号+短信等的方法
基本的功能测试点
  1. 输入正确的用户名和密码,登录成功
  2. 输入错误的用户名和密码,登录失败
  3. 输入正确的用户名,错误的密码,是否提示密码错误
  4. 输入错误的用户名,正确的密码,是否提示用户名错误
  5. 输入用户名和密码都有错误,是否有提示
  6. 输入用户名和密码为空时,是否有提示
  7. 输入未注册的用户名和密码,是否提示先注册,再登录
  8. 输入已经注销的用户名和密码,是否提示,提示是否友好
  9. 密码框是否加密显示
  10. 用户名是否支持数字,中文,英文,特殊字符
  11. 用户名是否有长度限制
  12. 密码是否支持数字,中文,英文,特殊字符
  13. 密码是否长度限制
  14. 密码是否大小写区分
  15. 密码设置过于简单时(比如123456)是否提示,等级不够,建议修改密码
  16. 密码存储方式,是否加密
  17. 登录功能是否需要输入验证码
  18. 验证码的有效时间
  19. 验证码有效时间外是否还有效,还能否登录成功
  20. 验证码输入错误,是否提示,提示是否友好
  21. 验证码是否容易识别
  22. 验证码的换一个或刷新的功能是否可以用

用户角度
是否是不同人登录不同的权限

页面测试
  1. 登录页面显示是否正常,是否高度还原设计图
  2. 文字和图片是否显示正常
  3. 相应的提示信息是否正确
  4. 按钮的设置和排列是否正确
  5. 页面是否简洁,是否符合用户的使用规则
  6. 点击用户名的输入框,焦点是否定位正确
  7. 首次登录相应的输入框是否为空
  8. 首次登录输入框有默认文案,点击输入框,文案是否消失
  9. 二次登录,并且首次登录的时候选择记住密码,输入框是否有内容
  10. 登录按钮是否可用
  11. 重置按钮是否可用
  12. 页面的前进按钮是否可用
  13. 页面的退出按钮是否可用
  14. 页面的刷新按钮是否可用

兼容性测试:不同的浏览器,不同的操作系统,不同的分辨率下界面是否正常显示

安全测试
  1. 不登录:浏览器中直接输入登录后的地址,是否可以进入 登录成功后生成的Cookie,多久失效
  2. 用户名和密码是否通过加密的方式,发给web服务器
  3. 用户名和密码的验证,不仅仅是客户端JavaScript验证,而且要服务器端验证
  4. 用户名和密码的输入框,应当防止SQL注入(就是通过利用一些查询语句的漏洞,将sql语句传递到服务器解析并执行的一种攻击手段
用户登录时执行的sql语句
Select user_id,user_type,email From users Where user_id=‘用户名’ And password=‘密码’
由于网站后台数据库查询未对单引号‘’进行过滤,当输入用户名admin和密码‘1or1’时,执行的SQL语句为:
Select user_id,user_type,email From users Where user_id=’admin’ And password=1or1’
那么就意味着输入用户名admin,输入密码‘1or1’都可登录成功
这就是SQL注入

性能测试
  1. 单用户登录系统的响应时间是否符合“3-5-8”原则 (3-5-8:小于3秒是很好,3-5是好,超过8秒用户就容易流失)
  2. 大量并发用户登录,响应时间是多少,是否会宕机,无法登录
其他测试
  1. 用户的session过期后,返回重新登录,是否还能返回前session过期的页面/还是重新从登录开始
  2. 用户名和密码的输入框是否支持快捷键,复制,粘贴等
  3. 如果有web和app,是否同一用户名可以同时登录 app登录,是否判断网络

猜你喜欢

转载自blog.csdn.net/HONGTester/article/details/107406647
今日推荐