接口测试的工具和范围

接口测试是通过工具或代码模拟http请求的发送与接收,看客户端与服务端之间的数据交换,一般用于检测前后端、外部系统与内部系统之间的连通性,或者内部各个子系统之间的交互。

衡量接口的质量一般是从业务逻辑、异常场景处理、性能指标和SLA服务稳定性,以及安全指标几个方面。

 

接口测试工具

常用的接口测试工具有postman、jmeter,也可以通过charles修改请求参数,或者通过python测试。

  • postman

postman既支持单独的软件安装,也支持Chrome插件的形式使用。界面比较清爽直观,操作起来难度也比较低,比Jmeter上手容易很多。但Postman不支持并发和压测

  • jmeter

Jmeter支持Windows和Linux系统,相比Postman来说,Jmeter的工具界面复杂,新手入门难度系数比较高。但Jmeter的优势在于支持压测,接口测试的脚本同时可用来做性能压测。

  • Charles

Charles的使用,是测试同学必备的基础技能,使用Charles可以进行简单的参数修改和测试。

  • 也可通过python测试

python的测试可以参考另一篇博客:Python实现接口测试:requests

 

接口测试常见问题

  • 服务不通,可能是部署或者环境问题,也可能是代码问题
  • 不合法的传参,导致接口响应出错或 crash
  • 返回的数据不正确或符合业务逻辑
  • 对象权限未校验,存在敏感信息未脱敏
  • 前端存在无意义的重复调用

 

接口测试的方法

一般会从功能、异常、性能、安全几个纬度测试接口:

接口定义测试:

接口定义测试,主要是看接口的名称、出入参与接口文档的一致性。

因为接口文档是前端、后端、外部和内部系统对接时,开发联调的标准。只有跟文档协议保持一致,才能保证各方开发者的联调顺利。

功能测试:

主要包含两方面,输入和输出的准确性,以及各个接口承载的业务逻辑。

  • 输入(入参)的测试:必传和非必传、参数长度、数值类型、特殊字符&%@#等、字符串类型、数组、正常和异常、有、无和为空,以及参数组合。
  • 输出(返回)的测试:主要看正常返回的响应内容,和异常返回的响应码和提示语。

异常测试:

主要考虑重复提交、并发、环境异常、分布式测试、大数据量的表现,接口的幂等性。

  • 重复提交:多次重复提交,连续重复提交,特别是涉及到支付、交易金额相关。
  • 并发:两个以上用户操作同一场景,争夺资源、死锁等情况。
  • 事务测试:多个连续步骤才能完成的业务流程。
  • 大数据量测试:数据量较大时,能否处理正确和效率是否受影响。
  • 幂等性:幂等性的定义是一次和多次请求某一个资源时,应该具有同样的结果(网络超时等问题除外)。也就是说,任意多次执行对资源本身所产生的影响,均与一次执行的影响相同。

幂等性的测试重点是,一次/多次请求对资源没有副作用(比如查询数据库操作,没有增删改,因此没有对数据库有任何影响)。并且第一次请求的时候对资源产生了副作用后,以后的多次请求不应该都再对资源产生副作用。

性能测试:

主要看响应时间、吞吐量、并发数、服务器资源使用率、cpu、内存、io、network等。

安全测试:

主要考虑接口的加密处理、前后端数据传输、日志信息、防刷机制。

 

参考的Xmind见下方:

 

  • 4
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值