标签:
ps:针对通用测试点,只说明测试的关注点和方向。 对于具体的项目测试,细化为相关case即可。
常用测试用例设计方法:
1. 边界值
2. 等价类
3. 场景法
4. 错误推测法
5. 针对参数测试
测试点 | case关注点 |
UI/UE | 原则: 页面元素的显示 和 界面,提示的友好性 】 页面元素的对齐 图片,文案等元素 左右对齐,还是上下对齐(文案过长过短时对齐); 】 页面遮挡 文案过长过短时,页面显示是否遮挡; 所有的下拉框等是否不恰当的遮挡了其他元素显示; 】规范性 页面无结果时,footer,header不上移或下移 html页面:对keyword,description的描述,有利于seo 不同端的图片大小,标题显示; 公司logo等 】 无js报错 |
功能 | 提示:边界值,等价类划分,场景法在这里使用的最多 原则: 每一个功能点,至少有3种以上正常情况,3种以上异常情况的分别测试 一个操作后,注意检查其涉及的后续操作是否正确(如成功注册后,是否可正常登录;购买vip后,是否可正常观看vip;) 】 输入框 输入框的长达; 输入为空; 输入特殊字符 】上传下载 上传的大小格式限制 】对不同参数的排列组合的运用 不同场景下,不同参数,不同处理情况的处理; |
浏览器兼容 | 不兼容点: 1. 不同浏览器的页面元素遮挡, 2. 元素显示, 3. 页面提交(有一个项目,空白的输入框,一个浏览器传给后端的值为空字符串,另一个浏览器传给后端的却是空白字符串), 4. 浏览器的默认行为是否影响正常的功能(如h5的video元素播放视频时,不同浏览器对播放器会有不同的接管行为, 导致播放视频时广告展示,全屏等会受不同的影响) 】 pc端 的网站: window: ff,chrome,IE6-11,360 等 mac: safari 】 手机端的网站: android: qq浏览器,uc浏览器,百度浏览器,欧朋浏览器,ff,chrome等 ios: safari |
安全 | 提示:安全信息包括cookie ,url 和页面上显示的信息 】cookie 添加:登录或其他导致添加cookie的操作:cookie值,过期时间等正确,无敏感词 删除:退出登录或其他导致删除cookie的操作:cookie已失效 修改:某操作 导致 cookie值变化时,注意检查; cookie禁用: 禁用时,登录或其他涉及cookie修改的操作时,是否有cookie禁用提示; 对于不支持cookie的手机浏览器,涉及cookie的操作如何处理(不支持cookie的比例大约:3%) 】 url url中不能含有ip地址,必须使用域名 url中敏感词已加密:如手机号等 post body 中的密码等敏感词已加密 】页面显示 页面上信息的手机号,邮箱,订单号等 是否需要加密显示 】次数限制 如,密码多次输入错误时,账号禁用; 】页面输入 输入框中随意输入一些sql, js等,是否会越过前端检查 】其他信息 一些错误页面,比如404,或500页面,是否给出了友好的错误提示信息比如“你访问的页面不存在”等,而并非曝露一些程序代码 |
数据与缓存 | 提示:根据代码中的if/else等处理,和接口本身的异常返回,mock接口返回 】接口(依赖与接口的mock) 接口的返回字段过长(页面的遮挡) 接口的返回为空(页面的无结果提示,header,footer没有上下移动) 接口返回超时时,页面提示; 接口返回异常时,页面错误提示 】cookie缓存 重点检查各种操作涉及cookie添加,修改,删除时的cookie: cookie的值(无敏感词),过期时间 】localstorage(H5特有) 对于不需要实时调用的接口,接口的json返回存入localstorage(注意检查有信息修改时,缓存的数据没有影响页面显示的及时性); |
web页面检查 | 】按钮 接口未返回时,按钮灰掉,或是否可点击 按钮多次点击 】表单 如注册时,重复提交表单 】图片,链接 打开方式 新标签打开?还是在当前页打开(曾经一个项目,因使用当前页打开,严重影响了用户使用习惯)
】enter键
页面输入时,enter键的行为和处理
】后退键--后退键时的页面处理和提示
登录后,点击后退键,页面是否允许后退,页面是否仍处於登录状态;有输入的页面,直接点击后退键,是否有页面离开提示(一旦直接后退,所有的输入将丢失,后果严重) |
不同端 | 提示:如果有ios,android等不同端之间的使用,测试一个端进行修改操作,是否在另一个端实时显示修改结果 注:防止因为缓存原因,页面信息更新不及时 |
慢网速 | 手机端的网速较慢,或断网时,页面加载检查: 网速慢时,页面不能一片空白 |
不可能情况的处理 | 提示:错误猜测时,对不可能情况的处理 如一个不可能出现的负值,如何处理 |
测试点 | case关注点 |
功能 | ps: 边界值,等价类等设计case 】参数 不同参数的排列组合
接口参数含有特殊字符(
根据HTTP 协议要求,传递参数的值中如果存在特殊字符(如:&,@ 等),那么该值需要做URL Encoding(UTF-8),这样请求接收方才能接收到正确的参数值)
代码中的if/else的不同处理情况
】空指针
是否含有空指针
】结果排序如果结果有某个字段的排序时,考虑有0,1,多个相同的字段值时,结果的排序情况 】依赖的接口 如果接口的实现中调用的其他的接口,对其他接口的返回进行不同的mock返回 】 |
安全 | 】 敏感词加密 接口返回的敏感词汇 】必选参数
接口参数,必含参数,可选参数
|
DB | 】 数据准备 db中无接口数据,一条接口数据,或多条符合要求的接口数据的返回情况
】db中数据敏感词加密 |
跨域 | 如果接口提供给前端使用,需要确定跨域策略 】 pc端网站跨域,参数添加callback, 接口返回jsonp 】 手机端网站跨域,通过reponse header中的Security 域控制(Access-Control-Allow-Origin) |
性能 | 接口的返回时间
接口可承受的qps
服务器的cpu等资源情况 |
规范性 |
参数命名,代码规范性
|
日志和监控 | 】 日志 日志的位置(关键处理步骤),级别(方便调试),日志关键词(避免调用的null指针,正确),大小(避免线上的日志增加速度太大,影响服务器性能)
】监控 监控的位置,监控的指标,接口 正常/异常 时的监控
|
缓存 |
如果接口涉及redis,mem等的缓存,对缓存的监控,
缓存的大小,缓存的命中率 |
错误提示
|
错误返回状态和错误提示
错误提示明确,无二义性
|
多线程和性能 | 提示:如果接口涉及多线程 】增删改查的正确性保证 保证先删除后增加(diff代码) 线程的先后顺序(数据的一致性) 注:多线程处理时,会涉及锁表,打印相关日志及报错 】服务器内存回收 linux jstat等命令检查服务器的内存回收情况,防止内存泄露; |
标签:
原文地址:http://blog.csdn.net/huazhongkejidaxuezpp/article/details/51351778