如何测试一个app的登陆功能/情景?

验证登录流程判断逻辑

  前端

  账户名、密码、验证码 是否为空?

  密码是否符合规则(特殊字符、大小写、数字、长度..)

服务端

  验证码是否正确 (对应时间戳是否过期)

  账户是否存在 (未注册、已注销)

        密码是否正确  (记录连续输入错误次数,超过5次,账号锁定4小时。或提升验证等级,采取账号+密码+验证码+短信验证)

  返回session、token


图一

(1)web从FilManager服务获取验证码

(2)FilManager据wb 上传的时间(长度为 19 位数字,精确到微妙),生成验证码

图片,并记录时间戳对应的验证码。

(3)web获取用户输入的账号,密码(md5加密),验证码信息发行到login svr(今后

application svr 可能还会带上用户使用浏览器类型等用户环境信息)。

(4),login svr通过时间(精确到微妙)获取验证码字符串。

(5)login svr根据 web获取的用户信息动态计算确定用户的认证等级,如果为默认认证方式,验证账号,密码,验证码是否正确,如果正确返回验证成功以及相应的 session ID; login svr还要在 redis 中记录当前用户 session 对应的信息,供鉴权服务使用

(6)如果 login svr动态计算的用户认证级别高于默认级别,则 login svr返回对应的认证级别,web需要根据返回的结果提升认证级别,比如 OTP认证等等

(7) login svr记录用户登入日志(包括但不限于地址等)

一、基本功能测试点:

  输入正确的用户名和密码登录成功

  输入错误的用户名密码登录失败

  用户名正确,密码错误,是否提示输入密码错误?

  用户名错误,密码正常,是否提示输入用户名错误?

  用户名和密码都错误,是否有相应提示?

  用户名密码为空时,是否有相应提示?

  如果用户未注册,提示请先注册,然后进行登录

  已经注销的用户登录失败,提示信息友好?

  密码框是否加密显示?

  用户名是否支持中文、特殊字符?

  用户名是否有长度限制?

  密码是否支持中文,特殊字符?

  密码是否有长度限制?

  密码是否区分大小写?

  密码为一些简单常用字符串时,是否提示修改?如:123456

  密码存储方式?是否加密?

  登录功能是否需要输入验证码?

  验证码有效时间?

  验证码输入错误,登录失败,提示信息是否友好?

  输入过期的验证能否登录成功?

  验证码是否容易识别?

  验证码换一张功能是否可用?

  点击验证码图片是否可以更换验证码?

  用户体系:

  比如系统分普通用户、高级用户,不同用户登录系统后可的权限不同。

  如果使用第三方账号(QQ,微博账号)登录,那么第三方账号与本系统的账号体系对应关系如何保存?首次登录需要极权等

二、页面测试:

  登录页面显示是否正常?文字和图片能否正常显示,相应的提示信息是否正确,按钮的设置和排列是否正常,页面是否简洁壮观等。

  页面默认焦点是否定位在用户名的输入框中

  首次登录时相应的输入框是否为空?或者如果有默认文案,当点击输入框时默认方案是否消失?

  相应的按钮如登录、重置等,是否可用;页面的前进、后退、刷新按钮是否可用?

  快捷键Tab,Esc,Enter 等,能否控制使用

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

三 、安全测试:

  不登录:浏览器中直接输入登录后的地址,看是否可以直接进入

  登录成功后生成的Cookie,是否是httponly (否则容易被脚本盗取)

  用户名和密码是否通过加密的方式,发送给Web服务器

  用户名和密码的验证,应该是用服务器端验证, 而不能单单是在客户端用javascript验证

  用户名和密码的输入框,应该屏蔽SQL 注入攻击

  用户名和密码的的输入框,应该禁止输入脚本 (防止XSS攻击)

  错误登陆的次数限制(防止暴力破解)

  考虑是否支持多用户在同一机器上登录;

  考虑一用户在多台机器上登录

四、性能测试:

单用户登录系统的响应时间是否符合"3-5-8"原则

用户数在临界点时并发登录是否还能符合"3-5-8"原则

压力:大量并发用户登录,系统的响应时间是多少?系统会出现宕机、内存泄露、cpu饱和、无法登录吗?

稳定性: 系统能否处理并发用户数在临界点以内连续登录N个时的场景?

五、兼容性测试

1.主流的浏览器(IE6,7,8,9, Firefox, Chrome, Safari等)

2.不同的平台,比如Windows, Mac

3.移动设备上,比如Iphone, Andriod

4.不同的分辨率能否正常显示

六、其它测试:

连续输入3次或以上错误密码,用记是否被锁一定时间(如:15分钟)?时间内不允许登录,超出时间点是否可以继续登录。

用户session过期后,重新登录是否还能重新返回这前session过期的页面?

用户名和密码输入框是事支持键盘快捷键?如:撤销、复制、粘贴等等

是否允许同名用户同时登录进行操作?考虑web和app同时登录

手机登录时,是否先判断网络可用?

手机登录时,是否先判断app存在新版本?

是否支持单点登录?

是否有埋点接口

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 夜莺2517阅读 128,439评论 1 9
  • 版本:ios 1.2.1 亮点: 1.app角标可以实时更新天气温度或选择空气质量,建议处女座就不要选了,不然老想...
    我就是沉沉阅读 7,752评论 1 6
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 9,082评论 28 54
  • 兔子虽然是枚小硕 但学校的硕士四人寝不够 就被分到了博士楼里 两人一间 在学校的最西边 靠山 兔子的室友身体不好 ...
    待业的兔子阅读 2,877评论 2 9

友情链接更多精彩内容