业务需求:
登录界面:
界面:用户名编辑框、密码编辑框、密码显示与隐藏、忘记密码按钮、登录按钮;
功能:支持账号登录、手机号登录、邮箱登录、二维码扫一扫登录、登录界面支持中英文切换;
测试划分:
一、功能测试:
1、输入正确的用户名和密码,点击“登录”按钮,验证能否正常登录;
2、输入错误的用户名或错误的密码,点击“登录”按钮,登录将会失败,并有相应的错误提示语;
3、用户名和密码都为空时,点击“登录”按钮,查看相应的提示信息;
4、登录成功后,验证能否跳转至正确的页面;
5、用户名或密码是否有特殊字符或中英文大小写的限制;
6、用户名或密码过长或过短时,编辑框该怎么展示和处理;
7、用户名或密码前后有空格时,该怎么处理;
8、密码显示与隐藏功能是否正常(密码隐藏时,密码是否以圆点(.)来显示);
9、浏览器是否能记忆并自动保存登录的用户名和密码;
10、点击“忘记密码”按钮,验证是否可以跳转至找回密码功能页面;
11、首次打开登录页面,默认焦点是否定位在用户名输入框中;
12、输入密码时,大写开启是否有提示信息;
13、用手机号登录,是否可以在规定时间内将验证码发送到用户手机;
14、如果验证码具有时效性,需要分别验证时效内和时效外验证码的有效性;
15、用户名和密码是否区分大小写;
16、登录界面中的切换另一账号时是否会清空账号信息;
17、邮箱登录时,是否会发送相应的邮箱验证码验证登录功能;
18、验证二维码扫一扫功能是否可以正常登录;
19、验证页面二维码等待时间过长,是否还有效;
20、刷新页面,二维码是否同步刷新;
21、用户首次登录时是否会提示修改密码;
22、账号登录、手机号登录、邮箱登录方式,各种登录方式是否相互影响;
23、页面中英文切换时,是否可以正常工作;
二、界面测试:
1、界面整体显示是否美观对齐;
2、界面的设计风格是否与UI设计一致;
3、界面中的文字及文案是否有错别字;
4、界面的布局,以及编辑框的大小、长度、高度是否符合要求;
5、相关的弹框以及toast提示语是否正确;
6、页面切换至英文环境时,单词之间是否有重叠或显示不全;
三、性能测试:
1、打开登录页面的时间;
2、登录成功后,跳转至新页面的时间;
3、能同时支持多少个用户同时登录;
4、单个用户同时多次登录操作;
5、网络延迟、弱网、断网等情况下登录页面的显示;
四、安全测试:
1、用户名和密码的输入框中分别输入典型的“SQL 注入攻击”字符串,验证系统的返回页面;
2、登录成功后生成的cookie是否是httponly(如果cookie中设置了httponly属性,那么通过js脚本将无法读取到cookie信息,这样能有效的防止XSS攻击,窃取cookie内容,这样就增加了cookie的安全性);
3、密码输入错误次数限制,防止暴力破解;
4、用户名和密码是否通过加密的方式发送给服务器;
5、是否支持多个用户在同一台机器上登录操作;
6、是否支持单个用户在多台机器上登录操作;
7、用户名和密码的验证,应该是用服务器端验证, 而不能单单是在客户端用javascript验证;
8、密码在隐藏状态下输入,输入的密码是否是圆点隐藏显示;
9、用户名和密码复制粘贴功能是否可用;
10、是否可以用抓包工具,利用抓到的请求来登录;
11、不登录的情况下,在浏览器中直接输入登录后的 URL 地址,验证是否会重新定向到用户登录界面;
12、密码输入框内的密码是否都可以在页面源码模式下被查看;
13、同一账号在相同浏览器,不同浏览器,不同终端登录时的互斥性;
14、密码在网络传输中,日志中,后台存储中是否加密;
15、验证复制或截图用户的登录二维码,在另一台设备上也可以登录;
五、可用性测试:
1、是否可以全用键盘操作,是否有快捷键;
2、输入用户名和密码后,按Enter键,是否可以登录;
3、输入框之间的跳转切换是否可以用Tab键来切换;
4、是否满足用户的使用习惯;
六、兼容性测试:
1、主流的浏览器下是否显示正常,并且功能正常;
2、不同的平台是否能正常工作;
3、移动设备上是否可正常工作;
4、不同的浏览器下大小下是否可正常工作;
5、不同分辨率情况下,是否可正常工作;