工作有3年了,自己在测试上的造诣也到了一个层次的结束,看了很多大神们的播客,基本都是写的测试理论上的知识,很少有完整的案例集合,自己做个记录。(包括大神)
1.测试一个杯子
2.测试登陆
3.测试邮箱
测试一个杯子:
功能测试(Function test)
- 能否装水,
- 除了装水, 能否装其他液体。比如可乐,酒精
- 能装多少ML的水
- 杯子是否有刻度表
- 杯子能否泡茶,跑咖啡
- 杯子是否能放冰箱,做冰块
- 杯子的材质是什么(玻璃,塑料,黄金做的)
界面测试(UI Test)
- 外观好不好看。
- 什么颜色
- 杯子的形状是怎么样的。
- 杯子的重量是多少
- 杯子是否有异味
- 杯子的图案是否合理
性能测试(performance test)
- 能否装100度的开水 (泡茶)
- 能否装0度冰水
- 装满水,放几天后,是否会漏水
- 杯子内壁上的涂料是否容易脱落。
- 杯子上的颜色是否容易褪色或者脱落
- 被我坦克压下,是否会碎 (这条是开玩笑的哈)
安全性测试(Security test)
- 制作杯子的材料,是否有毒
- 放微波炉里转的时候,是否会爆炸, 或者杯子是否会熔化。
- 从桌子上掉到水泥地上是否会摔碎。
- 杯子是否容易长细菌
- 杯子是否有缺口,会划坏嘴巴
- 杯子内壁上的材料,是否会溶解到水中
- 杯子破碎后,是否会对使用者造成伤害
可用性测试(Usability Test)
- 杯子是否容易烫手
- 杯子是否好端,好拿
- 杯子的水是否容易喝到
- 杯子是否有防滑措施
测试登陆:
功能测试(Function test)
- 输入正确的用户名和密码,点击提交按钮,验证是否能正确登录。
- 输入错误的用户名或者密码, 验证登录会失败,并且提示相应的错误信息。
- 登录成功后能否能否跳转到正确的页面
- 用户名和密码,如果太短或者太长,应该怎么处理
- 用户名和密码,中有特殊字符,和其他非英文的情况
- 记住用户名的功能
- 登陆失败后,不能记录密码的功能
- 用户名和密码前后有空格的处理
- 密码是否以星号显示
界面测试(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)
软件辅助功能测试是指测试软件是否向残疾用户提供足够的辅助功能
- 高对比度下能否显示正常 (视力不好的人使用)
补充:
功能性测试
1、用户名和密码全不输入时和只输入某一项时的错误提示。
2、登陆成功后是否在当前窗口打开页面
界面测试
登陆成功或失败时错误或成功提示信息是否友好
性能测试
压力测试:登陆页面、登陆接口、登陆页面资源文件————针对一定用户量进行压力测试,查看程序或界面的反映
安全测试
针对登陆接口进行穷举破解,是否有登陆验证次数限制等
缺少异常测试,比如用户登录后修改密码还能继续操作?
缺少同一用户同时通过不同浏览器登录上,是否会导致另一客户端下线?
缺少同一用户多点相同操作,是否对操作加锁的测试
另外有些点写的太细了,可以合并。比如:
用户名和密码,中有特殊字符,和其他非英文的情况
用户名和密码前后有空格的处理