怎么测试一个web登录页面
在以前的面试和同事面试交流的过程中,有多次被问到:“给你一个登录页面,上面有2个textbox,一个提交按钮,你将怎么测试”?或问,请针对这个页面设计30个以上的test case.
随机回答:
仅从功能上说,应该关注
1.页面输出是否符合预期,包括页面元素展示,页面跳转;
2.数据落地是否正确,这个需要关注数据库相关数据表,精确到每一个字段;
3.日志查看,关注日志文件中整体数据流向是否合理
除了以上3点。针对一个功能还应该关注他背后的接口,也就是接口的输入输出是否正确,以及该功能涉及到的其他功能点,是否对已有功能且是相关性功能有非正常的影响
除了以上3点。针对一个功能还应该关注他背后的接口,也就是接口的输入输出是否正确,以及该功能涉及到的其他功能点,是否对已有功能且是相关性功能有非正常的影响
一、功能测试
- 输入正确的用户名和密码,点击提交按钮,验证是否能正确登录,登录成功后跳转至对应的页面;
- 输入错误的用户名或者错误的密码,点击提交会登录失败,并且有相应的错误提示框;
- 登录成功后能否能否跳转到正确的页面;
- 用户名和密码,如果太短或者太长,应该怎么处理;
- 用户名和密码,中有特殊字符,和其他非英文的情况,是否允许输入等;
- 用户名和密码前后有空格的处理;
- 密码是否以星号(*)显示;
- 记住用户名的功能(用户名和密码是否可以被浏览器记住)
- 登陆失败后,不能记录密码的功能;
二、界面测试
- 布局是否合理,2个testbox和一个按钮是否对齐;
- testbox和按钮的长度,高度是否复合要求;
- 界面是否好看;
- 图片,颜色,字体,超链接,是否都显示正确
- 打开登录页面需要几秒
- 输入正确的用户名和密码后,登录成功后跳转到新页面不超过5S
- 能同时支持多少个用户同时登录
四、安全性测试
- 登录成功后生成的Cookie,是否是httponly (否则容易被脚本盗取);
- 用户名和密码是否通过加密的方式,发送给Web服务器;
- 用户名和密码的验证,登录完成后查看服务器日志验证正确,而不仅仅是前端JavaScript验证;
- 用户名和密码的输入框,应该屏蔽SQL注入攻击;
- 用户名和密码的的输入框,应该禁止输入脚本(防止XSS攻击);
- 错误登陆的次数限制(防止暴力破解);
五、可用性测试
- 是否可以用全键盘操作,是否有快捷键;
- 输入用户名和密码后按回车,是否可以登录;
六、兼容性测试
- 主流的浏览器下能否显示正常,并且功能正常(IE,7,8,9,10,Firefox, Chrome, Safari,等);
- 不同的平台是否能正常工作,比如Windows, Mac;
- 移动设备上是否正常工作,比如Iphone;
七、Andriod WEB测试
- 不同的分辨率;
- 不同的浏览器大小(浏览器最大化,和非最大化);
- 软件辅助性测试(Accessibility test)——软件辅助功能测试是指测试软件是否向残疾用户提供足够的辅助功能;
- 高对比度下能否显示正常(视力不好的人使用)