一、如何进行接口测试:
- 请问在做接口测试流程?
后端找项目相关开发人员要接口文档,编写测试计划,分析接口确认接口之间的业务关系,编写用例并评审,执行用例(手动和自动化)分析结果,提交bug,修复后回归
接口文档内容:请求参数 返回参数 url 请求方式
接口用例内容:标题 优先级 所属模块 资源路径 请求方式 请求参数 测试数据 预期结果 实际结果
接口测试关注点:参数测试 返回值验证 业务数据 接口之间 db验证
参数测试:输入 和 输出 的参数测试 含 类型 长度 校验判断,异常参数输入
返回值验证:code是否正确 数据与db一致,是否定义全面 存在遗漏
业务数据:单个参数是否符合业务数据属性或定义,参数之间是否需要包含业务含义,赋值是否需要考虑一一对应业务关系
接口之间:是否存在关联
Db验证:接口数据逻辑是否入库,存储数据是否准确
- 没有接口文档如何进行接口测试
接口调用分析,找开发人员合作,实际数据验证,接口抓包分析,开源工具配合
- 如何设计接口测试用例 需要考虑哪些方面
是否满足前提条件 如 携带token,是否携带默认参数,业务功能和需求规则,参数是否必填,参数之间是否关联,参数数据类型限制,参数取值范围限制
- 最近的项目发现哪些接口的问题
常见的重复下单,提现金额 余额显示不正确等
- 接口测试产生的垃圾数据如何清理
手动清理-适用于简单的测试场景,脚本自动化清理,数据库事物回滚,数据库快照和还原,定期清理计划
- 接口的加密和数字签名是怎么实现的
对称加密:加密和解密都使用同一个秘钥,速度快效率高,存在安全问题,des和aes加密
非对称加密:加密和解密不同的秘钥,公钥和私钥,公钥加密私钥解密,rsa和ecc
- 接口幂等性有了解过吗
前端重复提交,接口超时重试,消息重复消费,解决重复操作导致资源浪费及状态异常,保证系统稳定性和可靠性,方法有库中建立唯一索引,token机制进行校验,使用悲观锁和乐观锁等
- 接口出现异常如何定位和分析问题
确认问题现象,分析错误信息,检查请求参数和方式,查看错误状态码分析原因,查看网络请求,检查服务端日志,和开发沟通交流
- 接口自动化测试过程中如何进行参数化设置
数据驱动,随机值生成,环境变量,配置文件
- 接口传输的格式有哪些
Json,xml,yaml
- 异步接口是怎么做测试的
轮询的方法,每隔一段时间去查询一下接口结果,知道返回的结果是已完成/查询到指定数据或超时
轮询和间隔时间,jemter组件实现 控制器:while控制器,循环控制器,if控制器 定时器:固定定时器
- 接口测试过程中有依赖第三方接口怎么测试
确保了解第三方的api功能、参数、请求方法、响应格式等细节,编写用例,mocking可模拟接口行为(不想调取的话)集成测试环境,确保结果不受影响
- 接口测试token和sessies是怎么管理的
- session 即会话,是一种持久网络协议,起到了在用户端和服务器端创建关联,从而交换数据包的作用。
- cookie 是“小型文本文件”,是某些网站为了辨别用户身份,进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。
- token 在计算机身份认证中是令牌(临时)的意思,在词法分析中是标记的意思。一般作为邀请、登录系统使用