接口测试方案(接口测试思路)

2314 篇文章 32 订阅
1785 篇文章 16 订阅

1、接口

1.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.2、检查点

1、操作结果提示

(1)接口响应消息

a.接口返回码

b.接口返回描述

c.接口定义的返回字段

(2)push信息

(3)IM通知

(4)短信通知

2、数据库

(1)业务表

(2)日志表

3、后台日志信息

(1)可定位问题

(2)可读性

2、页面

2.1、测试点

1、增/删/改/查/下载

(1)正常

a.必填参数

b.必填参数+可选参数

(2)异常

a.必填参数

b.可选参数

c.必填参数+可选参数(可选)

2、兼容性

(1)操作系统

(2)浏览器

(3)开发语言版本

(4)关联业务版本

2.2、检查点

1、操作结果提示

(1)响应消息

a.返回码

b.返回描述

c.返回字段

(2)响应时间

(3)IM通知 - 短信、邮件等

2、数据库

(1)业务表

(2)日志表

3、关联配置文件

(1)页面配置是否同步

(2)配置是否生效

4、后台日志信息

(1)可定位问题

(2)可读性

最后: 可以在公众号:伤心的辣条 ! 自行领取一份216页软件测试工程师面试宝典文档资料【免费的】。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

我推荐一个【Python自动化测试交流群:746506216】,大家可以一起探讨交流软件测试,共同学习软件测试技术、面试等软件测试方方面面,助你快速进阶Python自动化测试/测试开发,走向高薪之路。

喜欢软件测试的小伙伴们,如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一 键三连哦!

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值