接口测试方案(接口测试思路)
1、接口
1.1、测试点
1.2、检查点
2、页面
2.1、测试点
2.2、检查点
1、接口
1、输入参数校验
(1)类型
a.类型定义是否合理?
b.是否满足需求?
c.是否可以达到设计目的?
d.枚举:覆盖全部枚举值、非有效值
e.有范围:等价类划分、边界值
f.无范围:特殊字符的处理方式
g.分隔符拼接:分隔符后没有值、分隔符后有值、连续两个分隔符
(2)长度
a.长度是否合理?
b.是否满足需求?
c.是否可以达到设计目的?
d.边界值
(3)可否为空(是否必选)
a.值为空串“”
b.消息体中无该字段
c.值为null
(4)默认值
a.默认值是否合理?
b.默认值是否会导致兼容性问题?
2、业务流程
(1)业务流程是否合理?
(2)流程是否简洁高效?
(3)时序图、流程图或状态转换图
(4)流程涉及的表以及关键字段
(5)输入参数及其组合覆盖
(6)触发途径(调用方)的覆盖
(7)业务流程中可以引入的异常
(8)不满足预设条件的情况或场景
(9)第三方调用异常
a.服务不存在
b.调用超时:超时时间(核心业务流程超时时间是否在30S足有,如必须有结果才能继续下面的流程。非核心流程的等待超时时间是否在3~5S以内,不能因为对端系统的原因拖慢整个核心流程的用时和用户体验)、是否主动重试
3、返回码覆盖
(1)返回码对业务场景的覆盖是否全面?
(2)返回码是否含义明确,无二义性?
(3)返回码的含义是否不存在含义相近、重叠或交叉?
(4)对接口的所有的返回码进行等价类划分后,再进行用例覆盖
(5)第三方系统响应超时或无响应的情况应该给调用方(客户端)特殊的返回,用于同普通业务失败区分开来
4、数据覆盖
(1)查询类接口数据构造时,既要有满足查询条件的数据,也要有不满足查询条件的数据,两种数据必须同时存在,不能出现值存在匹配查询条件的数据
(2)测试数据要涵盖所有的调用渠道和输出渠道
(3)数据返回为list类型
a.数据是否有分页
b.测试命中数据list数量较多的情况,500、1000等
5、配置项
(1)是否必须增加配置项?
(2)如果做成配置项改动的可能性大吗?
(3)新增或修改的配置项名称及位置
(4)配置项影响范围
a.机器部署维度:全局(所有维度)- 配置项应该放入confd管理或者是在DB中;本机(仅一台机器)- 配置项不能放入confd管理或数据库
b.代码实现维度:系统级、子模块(接口)级、业务级、用户级
(5)配置项的取值范围及校验
a.配置项参数校验 - 参考接口输入参数的校验测试方法
b.是否区分大小写
c.对于枚举类型的配置项,覆盖全部枚举值
(6)配置项默认值
a.默认值是否合理?
b.默认值是否会对现网环境或业务造成影响?
(7)配置项修改
a.是否允许修改
b.修改途径
c.修改配置值后是否生效
6、一致性
(1)测试点
a.命名规范:大小写是否满足规范?是否采用驼峰式?符合行业规范吗?
b.长度
c.可否为空
d.默认值
e.字符编码
(2)测试范围
a.提供给外部调用的接口定义:输入参数、响应消息
b.第三方提供给被测系统的接口定义:输入参数、响应消息
c.数据库设计
7、与该接口有交互的其他接口或特性(功能)
(1)接口 - 互为正负的操作,必须组合测试
(2)定时任务
8、兼容性
(1)对调用方的影响
a.输入参数:是否有入参的变化?新增参数是否可选?参数的枚举值是否有变化?
b.响应报文:返回参数是否有变化?返回参数的取值是否有变化?返回码是否有新增?
(2)对BI推送数据字典的影响
a.DB:新增需要推送给BI的表;新增、修改需要推送给BI的字段(表不变);新增、修改原有推送字段中的枚举值(取值)
b.日志文件:新增需要推送给BI的日志文件;新增、修改需要推送给BI的字段(日志文件不变);新增、修改原有推送字段中的枚举值(取值)
(3)对push的影响
(4)对IM或短信的影响
(5)三方插件相关
a.DMQ:DMQ消息格式是否变更,如有变更需要启动灰度topic;否则灰度阶段会出现老版本消费新topic消息,新版本消费老topic消息,出现消费失败的情况
b.DCS:缓存是否变更,如有变更,需要同步变更缓存KEY;否则灰度阶段会出现老版本读取新缓存值,新版本读取老版本缓存值,缓存失效或接口失败
c.SDS:表结构变更对老版本功能影响
d.MYSQL:表结构变更对老版本功能影响
9、性能
(1)是否存在高并发访问的场景?
(2)是否存在频繁调用的场景?
(3)是否涉及大量数据的处理?
(4)存在调用第三方系统
a.异常场景的性能测试:模拟第三方系统响应慢、模拟第三方无响应
b.正常场景性能测试
(5)测试类型
a.指标测试 - 需求规格必须提供明确的性能指标输入
b.问题验证 - 默认评估标准为:修改后关键性能指标下降在8%以内
(6)扩容性
10、可靠性
存在调用第三方系统 - 参考业务流程测试及性能测试中存在调用第三方系统的场景
11、可测试性
(1)存在调用第三方系统时,测试桩是否要实现?
(2)自动化测试的实现是否存在技术障碍?
(3)是否存在异步处理?生成的中间数据是否可方便获取和处理?
12、可服务性
(1)升级文档
a.配置项设置
b.初始化数据准备
(2)管理台
a.相关菜单
b.管理台国际化
(3)日志
a.数据库日志
b.业务文件日志
13、安全性
(1)转译字符处理
(2)越权测试(是否存在越权行为)
a.用户1访问到用户2的数据,第三方1访问到第三方2的数据
b.ST或者其他鉴权方式是否生效
(3)敏感数据
a.依据个人数据分级,高敏感不能打印,中低备案后可打印
b.中高个人敏感数据加密存储
(4)秘钥/证书
a.秘钥不能明文存储
b.秘钥/证书不随版本包发布
(5)个人数据清理
a.销户清理个人数据
b.过期数据清理
1、操作结果提示
(1)接口响应消息
a.接口返回码
b.接口返回描述
c.接口定义的返回字段
(2)push信息
(3)IM通知
(4)短信通知
2、数据库
(1)业务表
(2)日志表
3、后台日志信息
(1)可定位问题
(2)可读性
2、页面
1、增/删/改/查/下载
(1)正常
a.必填参数
b.必填参数+可选参数
(2)异常
a.必填参数
b.可选参数
c.必填参数+可选参数(可选)
2、兼容性
(1)操作系统
(2)浏览器
(3)开发语言版本
(4)关联业务版本
1、操作结果提示
(1)响应消息
a.返回码
b.返回描述
c.返回字段
(2)响应时间
(3)IM通知 - 短信、邮件等
2、数据库
(1)业务表
(2)日志表
3、关联配置文件
(1)页面配置是否同步
(2)配置是否生效
4、后台日志信息
(1)可定位问题
(2)可读性
本文分享自 AllTests软件测试 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!