你真的会测试用户登录吗?
作为一名软件测试工程师,相信你一定会遇到用户登录页面的测试,那么你真的会测试用户登录吗?
一般遇到如上登录界面,很多初级测试工程师一上手肯定是等价类划分法,边界值分析法对用户名输入框、密码输入框等输入条件进行详细的测试,具体如下:
1、用户名输入框:QQ号码、手机、邮箱等合法及非法格式
2、密码:格式校验
3、自动登录:勾选、不勾选
4、记住密码:勾选、不勾选
5、登录按钮检测
但是仅仅进行如上的测试就够了吗?很显然答案是否定的。
能不能测好登录页面就等同于厨师能否做好一碗蛋炒饭一样,越是简单的
西,越能体现我们的水平。
那么专业的软件测试工程师还会进行哪些测试呢?
首先,从业务层面要进行如下测试:
1、输入正确的用户名、密码,验证登录是否成功;
2、输入未注册的用户名进行登录,验证是否登录失败;
3、输入正确用户名,错误密码,验证登录是否失败;
4、用户名为空;
5、密码为空。
其次,从安全层面要进行如下测试:
1、密码框要加密,否则会造成信息泄露,具体如下所示:
2、一般一个好的系统,如果用户名和密码是后台管理员提供的话,一般有初始化的密码,比如网上银行一般会提供一个初始化的密码,但是本着安全的原则,一个好的系统会在该用户进行第一次登录时,强制进行修改密码。
3、用户登录成功但长时间未操作要出现会话超时。这样才能保证用户信息的安全。
4、不同级别的用户,比如管理员和普通用户登录系统的权限是否正确。比如电子商城系统,就分为商户和买家不同的角色,那么角色不同,权限也就不同,可允许进入的页面和操作也就不同了。
5、关于数据的安全需要考虑如下:
(1)用户密码后台存储是否加密;特别是一些银行,我们检测的时候会更关注数据安全。
(2)用户名在网络传输的过程中是否加密
(2)密码是否具有时效,密码有效期到期后,是否提示修改密码
(3)密码一般不支持粘贴、复制
(4)多次登录失败,系统是否报错,以此防止暴力破解。这也是12306网站登录页面验证码如此复杂的一个原因。
再次,从兼容性方面测试。
1、web端:页面验证在不同浏览器下(主要涉及主流浏览器),登录页面的显示及功能
目前的主流浏览器有:
2、相同浏览器的不同版本下,验证登录页面的显示以及功能的正确性
3、移动端:验证不同移动设备上,登录页面的显示及功能
最后,当功能等均测试OK后,验证性能
1、用户登录响应时间是否小于3秒。一般用户对于网站的使用,遵循258原则,2秒时用户体验最好。
2、高并发场景下用户登录的响应时间是否小于5秒
3、高并发场景下服务端的监控指标是否符合预期,资源利用率是否正常。
相信,通过如上的回答,作为软测工程师才能做好属于我们的那碗“蛋炒饭”。