面试题:登录页面测试
根据:http://bbs.51testing.com/thread-1096426-1-1.html整理
具体需求: 有一个登陆页面, 上面有2个textbox, 一个提交按钮。 请针对这个页面设计30个以上的test case.
此题的考察目的: 面试者是否熟悉各种测试方法,是否有丰富的Web测试经验, 是否了解Web开发,以及设计Test case的能力
这个题目还是相当有难度的, 一般的人很难把这个题目回答好。
一、功能测试(Function test)
分析:
输入:1. 用户名:内容(英文字母、特殊字符、中文字、空格、为空),长度(太长、太短), 是否存在,是否保存
2. 密码: 内容(英文字母、特殊字符、中文字、空格、为空),长度(太长、太短),是否可见,是否保存
3. 提交按钮:
输出:1. 登录成功
2. 登录失败,提示错误信息
3. 跳转正确页面
- 输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。
- 输入错误的用户名或者密码, 验证登录会失败,并且提示相应的错误信息。
- 登录成功后能否能否跳转到正确的页面
- 用户名和密码,如果太短或者太长,应该怎么处理
- 用户名和密码,中有特殊字符,和其他非英文的情况
- 记住用户名的功能
- 登陆失败后,不能记录密码的功能
- 用户名和密码前后有空格的处理
- 密码是否以星号显示
二、界面测试(UI Test)
- 布局是否合理,2个testbox 和一个按钮是否对齐
- testbox和按钮的长度,高度是否复合要求
- 界面是否好看
- 图片,颜色,字体,超链接,是否都显示正确
三、性能测试(performance test)
- 打开登录页面,需要几秒
- 输入正确的用户名和密码后,登录成功跳转到新页面,不超过5秒
- 能支持多少个用户同时登陆
四、安全性测试(Security test)
- 登录成功后生成的Cookie,是否是httponly (否则容易被脚本盗取)
- 用户名和密码是否通过加密的方式,发送给Web服务器
- 用户名和密码的验证,应该是用服务器端验证, 而不能单单是在客户端用javascript验证
- 用户名和密码的输入框,应该屏蔽SQL 注入攻击
- 用户名和密码的的输入框,应该禁止输入脚本 (防止XSS攻击)
- 错误登陆的次数限制(防止暴力破解)
五、可用性测试(Usability Test)
- 是否可以全用键盘操作,是否有快捷键
- 输入用户名,密码后按回车,是否可以登陆
六、兼容性测试(Compatibility Test)
- 主流的浏览器下能否显示正常已经功能正常(IE,6,7,8,9, Firefox, Chrome, Safari,等)
- 不同的平台是否能正常工作,比如Windows, Mac
- 移动设备上是否正常工作,比如Iphone, Andriod
- 不同的分辨率
- 不同的浏览器大小 (浏览器最大化, 和非最大化)
七、软件辅助性测试 (Accessibility test)
- 软件辅助功能测试是指测试软件是否向残疾用户提供足够的辅助功能
- 高对比度下能否显示正常 (视力不好的人使用)