前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >接口测试测什么?一个简单问题把我难住了!

接口测试测什么?一个简单问题把我难住了!

作者头像
测试开发技术
发布2024-01-05 12:49:35
1100
发布2024-01-05 12:49:35
举报
文章被收录于专栏:测试开发技术测试开发技术

接口测试是指对系统接口进行测试的一种质量保障手段,主要是验证接口的功能、性能、安全性等方面是否符合预期。

在接口测试中,可以测试以下内容:

  1. 功能测试:验证接口的输入和输出是否符合预期,包括参数的正确性、返回结果的准确性等。
  2. 性能测试:测试接口的响应时间、并发处理能力、负载能力等性能指标。
  3. 安全测试:验证接口的安全性,包括身份验证、授权、加密传输等方面的测试。
  4. 兼容性测试:测试接口在不同环境、不同设备上的兼容性,包括操作系统、浏览器、移动设备等。
  5. 接口文档测试:验证接口文档与实际接口是否一致,包括参数说明、返回结果说明等。
  6. 异常场景测试:测试接口在异常情况下的处理能力,包括参数错误、网络中断、服务器宕机等情况下的表现。

总之,接口测试需要全面覆盖接口的各个方面,确保接口的功能、性能、安全性等都符合预期。

那么设计测试用例时我们主要考虑如下几个方面:

01、功能测试

接口的功能是否正确实现了

接口是否按照设计文档中来实现

(比如username参数写为了user,那么这就不符合,因为接口文档在整个开发中都需要使用,所以接口实际的设计要与接口设计文档中保持一致)

  • 兼容性测试: 比如说今天接口进行了调整,但是前端没有进行变更,这时候需要验证新的接口是否满足旧的调用方式
  • 错误码测试: 通用的错误码与业务错误码是否能够清晰的说明调用问题,错误码是否能够尽可能的全的覆盖所有的情况
  • 返回值测试: 返回值除了内容需要是正确的,还需要类型也是正确的,保证调用方拿到这些参数能够正确的解析

参数边界值、等价类测试

  • json格式测试: 通常我们的接口一般设计的都是传递json串,那么就需要去测试 如果传递非json的情况,这时候程序会不会正确的处理,返回相应的 error code
  • 默认值测试: 很多情况一些非必填的参数会有默认值,比如说一个查询的接口,参数count为返回查询的结果数量, 默认为10,那么就应该有一条case来测试,当然前置条件是数据库里面必须要存在这样的数据超过10条。

02、逻辑业务

是否有依赖业务,比如查看订单,是需要用户首先登录的,所以肯定要保证登录了或有相应的cookie

业务逻辑测试:传递正确的参数,接口对数据库进行查询的操作,需要去验证数据库查询是否正确,接口对数据库进行 增删改的操作,也需要看数据库是否同步进行了这些操作

03、异常测试

异常分为两类,参数异常数据异常

1、参数异常:

  • 关键字参数: 将参数写为开发语言中的关键字
  • 参数为空: 比如去掉了username参数
  • 多或少参数: 多或者少参数的验证,现在还不确定如果一个接口多了参数如果没有报错是否是合理的,或者是否需要优化,因为就目前开发给予的答案是,一般不对接口多了参数的处理
  • 错误参数: 比如将username参数写为了user等看是否能返回相应的error code

2、数据异常:

  • 关键字数据: 将参数的值填为开发语言中的关键字
  • 数据为空: 将参数的额值填为空
  • 长度不一致: 因为数据库中每个字段都设置有字段长度,填写不符合的长度进行验证
  • 错误数据: 就是将参数的值任意填写,或填写不存在的数值
  • 异常类型测试: 比如count参数,这个参数的类型一定是可以转换为int类型的,这时候我们需要测试如果传的一些不可以 转换为int类型值来测试代码是否加入判断

04、性能测试

  • 响应时间
  • 吞吐量
  • 并发用户数
  • 占用内存,CPU等

05、安全性测试

敏感信息是否加密

必要参数是否后端也进行校验

(现在很多系统前后端架构是分离的,从安全层面来说,只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前端太容易了), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证)

接口是否防恶意请求(SQL注入)

  • cookie: 将header中的cookie修改或删除后看是否能返回相应的error code
  • header: 删除或修改header中部分参数的值,看是否能返回相应的error code
  • 唯一识别码: 删除修改唯一识别码测试
本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2024-01-04,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 测试开发技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com