测试的艺术--通用测试案例篇

ps:针对通用测试点,只说明测试的关注点和方向。 对于具体的项目测试,细化为相关case即可。

常用测试用例设计方法:
1. 边界值
2. 等价类
3. 场景法
4. 错误推测法
5. 针对参数测试

1. web页面通用测试 case


测试点 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等不同端之间的使用,测试一个端进行修改操作,是否在另一个端实时显示修改结果
注:防止因为缓存原因,页面信息更新不及时
慢网速 手机端的网速较慢,或断网时,页面加载检查:
网速慢时,页面不能一片空白
不可能情况的处理 提示:错误猜测时,对不可能情况的处理

如一个不可能出现的负值,如何处理
   
   


2. 接口测试通用case

ps: 接口测试 重点 在于 diff代码找测试点( 代码中的if/else等的不同处理情况

测试点 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等命令检查服务器的内存回收情况,防止内存泄露;

   
   






你可能感兴趣的:(测试的艺术--通用测试案例篇)