具体需求: 有一个登陆页面, (假如上面有2个textbox, 一个提交按钮。请针对这个页面设计30个以上的test case.)
此题的考察目的: 面试者是否熟悉各种测试方法,是否有丰富的Web测试经验, 是否了解Web开发,以及设计Test case的能力
这个题目还是相当有难度的, 一般的人很难把这个题目回答好。
首先,你要了解用户的需求,比如这个登录界面应该是弹出窗口式的,还是直接在网页里面。对用户名的长度,和密码的强度(就是是不是必须多少位,大小写,特殊字符混搭)等。还有比如用户对界面的美观是不是有特殊的要求?(即是否要进行UI测试)。剩下的就是设计用例了 ,等价类,边界值等等。
请你记住一点,任何测试,不管测什么都是从了解需求开始的。
功能测试(Function test)
0. 什么都不输入,点击提交按钮,看提示信息。
1.输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。
2.输入错误的用户名或者密码, 验证登录会失败,并且提示相应的错误信息。
3.登录成功后能否能否跳转到正确的页面
4.用户名和密码,如果太短或者太长,应该怎么处理
5.用户名和密码,中有特殊字符(比如空格),和其他非英文的情况
6.记住用户名的功能
7.登陆失败后,不能记录密码的功能-----------??
8.用户名和密码前后有空格的处理
9.密码是否加密显示(星号圆点等)
10.牵扯到验证码的,还要考虑文字是否扭曲过度导致辨认难度大,考虑颜色(色盲使用者),刷新或换一个按钮是否好用
11.登录页面中的注册、忘记密码,登出用另一帐号登陆等链接是否正确
12.输入密码的时候,大写键盘开启的时候要有提示信息。
15,密码为一些简单常用字符串时,是否提示修改?如:123456
16,用户体系:比如系统分普通用户、高级用户,不同用户登录系统后可的权限不同。
17,如果使用第三方账号(QQ,微博账号)登录,那么第三方账号与本系统的账号体系对应关系如何保存?首次登录需要极权等
18:关于验证码:
登录功能是否需要输入验证码?
验证码有效时间?
验证码输入错误,登录失败,提示信息是否友好?
输入过期的验证能否登录成功?
验证码是否容易识别?
验证码换一张功能是否可用?点击验证码图片是否可以更换验证码
界面测试(UI Test)
1.布局是否合理,2个testbox 和一个按钮是否对齐
2.testbox和按钮的长度,高度是否复合要求
3. 界面的设计风格是否与UI的设计风格统一
4. 界面中的文字简洁易懂,没有错别字。
5.最大化与常规化窗口下,登录界面是否居中;
6,页面默认焦点是否定位在用户名的输入框中
7,首次登录时相应的输入框是否为空?或者如果有默认文案,当点击输入框时默认方案是否消失?
性能测试(performance test)
1.打开登录页面,需要几秒
2,单用户登录系统的响应时间是否符合"3-5-8"原则(响应时间小于3秒是很好,3--5秒是好,5--8秒是还凑合,超过8秒就无法接受)
3,用户数在临界点时并发登录是否还能符合"3-5-8"原则
4,压力:大量并发用户登录,系统的响应时间是多少?系统会出现宕机、内存泄露、cpu饱和、无法登录吗?
5,稳定性: 系统能否处理并发用户数在临界点以内连续登录N个时的场景?
6,多次登录登出测试,是否有异常;
安全性测试(Security test)
1.登录成功后生成的Cookie,是否 是httponly (否则容易被脚本盗取)
2.用户名和密码是否通过加密的方式,发送给Web服务器
3.用户名和密码的验证,应该是用服务器端验证,而不能单单是在客户端用JavaScript验证
4.用户名和密码的输入框,应该屏蔽SQL 注入攻击
5.用户名和密码的的输入框,应该禁止输入脚本 (防止XSS攻击)
6.错误登陆的次数限制(防止暴力破解)
7. 考虑是否支持多用户在同一机器上登录;
8. 考虑一用户在多台机器上登录
9,不登录:浏览器中直接输入登录后的地址,看是否可以直接进入(认证与授权)
可用性测试(Usability Test)
1. 用户名和密码输入框是否支持键盘快捷键?如:撤销、复制、粘贴等等
2. 输入用户名,密码后按回车,是否可以登陆
3. 输入框能否可以以Tab键切换
兼容性测试(Compatibility Test)
1.主流的浏览器下能否显示正常已经功能正常(IE,6,7,8,9, Firefox, Chrome, Safari,等)
2.不同的平台是否能正常工作,比如Windows, Mac
3.移动设备上是否正常工作,比如Iphone, Andriod
4.不同的分辨率
本地化测试 (Localization test)
1. 不同语言环境下,页面的显示是否正确。
软件辅助性测试 (Accessibility test)
软件辅助功能测试是指测试软件是否向残疾用户提供足够的辅助功能
1. 高对比度下能否显示正常 (视力不好的人使用)
其它测试:
连续输入3次或以上错误密码,用记是否被锁一定时间(如:15分钟)?时间内不允许登录,超出时间点是否可以继续登录。
用户session过期后,重新登录是否还能重新返回这前session过期的页面?
是否允许同名用户同时登录进行操作?考虑web和app同时登录
手机登录时,是否先判断网络可用?
手机登录时,是否先判断app存在新版本?
是否支持单点登录?
是否有埋点接口