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

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

01、功能测试

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

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

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

  • 兼容性测试:

    比如说今天接口进行了调整,但是前端没有进行变更,这时候需要验证新的接口是否满足旧的调用方式

  • 错误码测试:

    通用的错误码与业务错误码是否能够清晰的说明调用问题,错误码是否能够尽可能的全的覆盖所有的情况

  • 返回值测试:

    返回值除了内容需要是正确的,还需要类型也是正确的,保证调用方拿到这些参数能够正确的解析

参数边界值、等价类测试

  • json格式测试:

    通常我们的接口一般设计的都是传递json串,那么就需要去测试 如果传递非json的情况,这时候程序会不会正确的处理,返回相应的 error code

  • 默认值测试:

    很多情况一些非必填的参数会有默认值,比如说一个查询的接口,参数count为返回查询的结果数量, 默认为10,那么就应该有一条case来测试,当然前置条件是数据库里面必须要存在这样的数据超过10条。

02、逻辑业务

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

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

图片

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

03、异常测试

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

1、参数异常:

  • 关键字参数:

    将参数写为开发语言中的关键字

  • 参数为空:

    比如去掉了username参数

  • 多或少参数:

    多或者少参数的验证,现在还不确定如果一个接口多了参数如果没有报错是否是合理的,或者是否需要优化,因为就目前开发给予的答案是,一般不对接口多了参数的处理

  • 错误参数:

    比如将username参数写为了user等看是否能返回相应的error code

2、数据异常:

  • 关键字数据:

    将参数的值填为开发语言中的关键字

  • 数据为空:

    将参数的额值填为空

  • 长度不一致:

    因为数据库中每个字段都设置有字段长度,填写不符合的长度进行验证

  • 错误数据:

    就是将参数的值任意填写,或填写不存在的数值

  • 异常类型测试:

    比如count参数,这个参数的类型一定是可以转换为int类型的,这时候我们需要测试如果传的一些不可以 转换为int类型值来测试代码是否加入判断

04、性能测试

  • 响应时间

  • 吞吐量

  • 并发用户数

  • 占用内存,CPU等

05、安全性测试

敏感信息是否加密

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

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

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

  • cookie

    将header中的cookie修改或删除后看是否能返回相应的error code

  • header

    删除或修改header中部分参数的值,看是否能返回相应的error code

  • 唯一识别码

    删除修改唯一识别码测试

以上就是本次分享,有学习自动化测试的伙伴有什么不清楚的,可以留言,看到了会及时回复!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/323547.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

电商平台低价品牌要如何处理

低价会影响品牌渠道的长期发展,同时还会衍生很多问题,如为了追求低价而导致的店铺窜货、商品假货等,对于渠道来说,都是要及时解决的问题,否则渠道乱了,最终腐蚀的是品牌价值,同时还会影响经销商…

键盘事件,DOM事件流,e.keyup, e.keypress,BOM里的window对象, setInterval, clearInterval

目录 事件委托(事件代理) 键盘事件 ​编辑e.keycode 京东快递单号查询 页面加载事件 定时器setTimeout 清除定时器 监听事件: 传统的onclick对于后面的注册事件会覆盖前面的注册事件 方法监听注册方式:addEventListener() …

(NeRF学习)NeRF复现 win11

目录 一、获取源码二、环境三、准备数据集1.下载数据集方法一:官方命令方法二:官网下载数据集 2.修改配置 四、开始训练1.更改迭代次数2.开始训练方法一:方法二: 3.使用预训练模型 五、NeRF源码学习 一、获取源码 git clone http…

FCN学习-----第一课

语义分割中的全卷积网络 CVPR IEEE国际计算机视觉与模式识别会议 PAMI IEEE模式分析与机器智能汇刊 需要会的知识点: 神经网络:前向传播和反向传播 卷积神经网络:CNN,卷积,池化,上采样 分类网络&#xff1a…

DevOps(10)

目录 56.Docker的架构? 57.Docker镜像相关操作有哪些? 58.Docker容器相关操作有哪些? ​编辑59.如何查看Docker容器的日志? 60.如何启动Docker容器?参数含义? 61.如何进入Docker后台模式?有…

数字孪生与3D建模技术的结合

数字孪生与3D建模技术的结合可以带来更精细、真实的数字化表示,支持多领域的应用。以下是数字孪生在3D建模技术中的一些应用,希望对大家有所帮助。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.产品设计和制…

CISCO AIR-CT2504-15-K9 AP 注册不上常见问题

CISCO AIR-CT2504-15-K9 思科 2504 无线控制器 我们从官网了解到2023年4月12日已终止技术支持,最近这两天发现15个AP,掉了10个,剩5个在线,其中有10个AP 无法注册,提示:Not joined 从MANAGEMENT->Logs-&…

使用mysql查询当天、近一周、近一个月及近一年的数据以及各种报表查询sql

1.mysql查询当天的数据 1 select * from table where to_days(时间字段) to_days(now()); 2.mysql查询昨天的数据 1 select * from table where to_days(now( ) ) - to_days( 时间字段名) < 1 3.mysql查询近一个月的数据 1 SELECT * FROM table WHERE date(时间字段) …

宽压输入1.5KV隔离直流高压输出电源模块

GRC系列低成本小体积宽电压输入隔离高压模块电源&#xff0c;是一款业界的隔离稳压型DC-DC高电压转换器&#xff0c;可在宽范围波动的不稳定电压输入环境中运行&#xff0c;通过模块的内部调整电路可以生成隔离稳压的直流高电压输出。产品外壳采用铝壳喷塑防腐设计&#xff0c;…

Ansible的安装及简单使用

## Ansible的安装及简单使用 ## 一.Ubuntu安装Ansible sudo apt update sudo apt install ansible #使用以下命令检查安装是否成功&#xff1a; ansible --version二.配置Ansible #进入配置文件目录 cd /etc/ansible/ ls#文件含义 ansible.cfg #ansible配置文件,默认基本不用…

win环境安装yarn脚手架

win环境安装yarn脚手架 1、安装命令 npm install -g yarn 2、查看安装的版本 yarn --version 报错了&#xff01;&#xff01;&#xff01; 解决方案 搜索​​ PowerShell​​&#xff0c;右键以管理员身份运行&#xff1b; 输入&#xff1a;​​set-ExecutionPolicy Remo…

C++CLI——5委托、事件、反射和混合非托管代码

CCLI——5委托、事件、反射和混合非托管代码 委托 C中是有函数指针的&#xff0c;例如&#xff1a;long (*pf)(int,int)&#xff0c;声明了一个函数指针&#xff0c;要求获取两个int并返回一个long的任意函数。在C#中是有委托概念的&#xff0c;其实原理就是将函数的执行委托…