常见的接口协议
TCP 与 udp 的区别
- TCP :面向连接、错误重传、拥塞控制,适用于可靠性高的场景。
- UDP:不需要提前建立连接,实现简单,适用于实时性高的场景。
RESTful 软件架构风格
- RESTful:Representational State Transfer
借助于 HTTP 协议的基本请求方法代表资源的状态切换 - post:新增或者更新
- get:获取资源
- put:更新资源
- delete:删除资源
RPC协议
- RPC 协议:Remote Procedure Call,以本地代码调用的方式实现远程执行
- Dubbo: Java 上的高性能 RPC 协议,Apache 开源项目,由阿里捐赠 底层应用层协议支持 Dubbo 缺省 TCP 协议、HTTP、Hessian、Thrift、gRPC 等。
- gRPC:高性能通用 RPC 框架,基于 Protocol Buffers。
- PB(Protocol Buffers)是一个语言中立、平台中立的数据序列化框架。Google 开源项目。
- Thrift:与 gRPC 类似的多语言 RPC 框架,Apache 开源项目。
- JSON-RPC:A light weight remote procedure call protocol. It is designed to be simple。
接口测试用例设计
- 测试内容:
- 功能
- 性能
- 安全
- 兼容
- 健壮性
- 关注点
- 单元测试:代码覆盖率
- 模块测试:参数组合与数据覆盖
- 集成测试:业务流程
协议分析方法
- 网络监听:TcpDump + WireShark
- 代理 Proxy
- 推荐工具:手工测试 Charles [全平台]、安全测试 BurpSuite [全平台 Java]
- 自动化测试:mi