如何测试一个登陆界面
在测试当中,或者面试过程中,都会碰到各种登陆功能,Web或者APP都很普遍。
对于一个登陆页面, 通常有2个Textbox(账号和密码), 一个确定提交按钮 ,如何设计 Test case?
主要考察: 测试者是否熟悉各种测试方法,是否有丰富的App/Web测试经验,以及相关开发经验,以及设计Test case的能力。
虽说很常见,看起来很简单,但是要全面具体也是有一定难度的。
功能测试 (Function test)
- 输入正确的用户名和密码,点击提交按钮,验证是否能正确登录
- 输入错误的用户名或者密码, 验证登录会失败,是否有相应的错误提示信息
- 登录成功后是否跳转到正确的页面
- 用户名和密码,如果太短或者太长,应该怎么处理
- 用户名和密码,中有特殊字符,和其他非英文的情况
- 记住用户名和密码的功能
- 登陆失败后,不能记录密码的功能
- 用户名和密码输入时前后有空格的处理
- 密码是否可见,是否用星号标识
界面测试 (UI Test)
- 布局是否合理,2个 Testbox 和一个按钮是否对齐
- Testbox和按钮的长度、高度是否复合要求
- 界面是否美观
- 图片,颜色,字体,超链接,是否都显示正确
性能测试 (performance test)
- 打开登录页面,需要几秒
- 输入正确的用户名和密码后,登录成功跳转到新页面,不超过5秒
- 能支持多少个用户同时登陆
安全性测试 (Security test)
- 登录成功后生成的Cookie,是否是httponly (否则容易被脚本盗取)
- 用户名和密码是否通过加密的方式,发送给Web服务器
- 用户名和密码的验证,应该是用服务器端验证, 而不能单单是在客户端用javascript验证
- 用户名和密码的输入框,应该屏蔽SQL 注入攻击
- 用户名和密码的的输入框,应该禁止输入脚本 (防止XSS攻击)
- 错误登陆的次数限制(防止暴力破解)
可用性测试 (Usability Test)
- 是否可以全用键盘操作,是否有快捷键
- 输入用户名,密码后按回车,是否可以登陆
兼容性测试(Compatibility Test)
- 主流的浏览器下能否显示正常(IE/Edge, Firefox, Chrome, Safari 等)
- 不同的平台是否能正常工作,比如Windows, Mac
- 移动设备上是否正常工作,比如iPhone, Andriod
- 不同的分辨率
- 不同的浏览器大小(浏览器最大化, 和非最大化)
软件辅助性测试 (Accessibility test)
软件辅助功能测试是指测试软件是否向残疾用户提供足够的辅助功能
比如高对比度下能否显示正常 (视力不好的人使用)