登录功能测试点

验证登录流程判断逻辑

前端

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

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

服务端

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

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

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

返回session、token

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

(2)FileManager 根据web上传的时间戳(长度为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 记录用户登入日志(包括但不限于ip,mac地址等)

一、基本功能测试点:

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

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

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

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

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

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

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

8、已经注销的用户登录失败,提示信息是否友好

9、密码框是否加密显示

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

11、用户名是否有长度限制

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

13、密码是否有长度限制

14、密码是否区分大小写

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

16、密码存储方式是否加密

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

         (1)验证码有效时间

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

         (3)输入过期的验证码是否能登录成功

         (4)验证码是否容易识别

         (5)验证码换一张功能是否可用,点击验证码图片是否可以更换验证码,是否可以登录

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、连续输入3次或或以上错误密码,页面是否被锁一定时间(如:15分钟),锁定时间内不允许登录,超出时间点是否可以继续登录。

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

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

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

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

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

7、是否支持单点登录?

8、是否有埋点接口

内容转载自“http://www.cnblogs.com/tester-hehehe/p/5437665.html”

原文地址:https://www.cnblogs.com/poptestzm/p/7598111.html