接口测试测什么?一个简单问题把我难住了
那么设计测试用例时我们主要考虑如下几个方面:
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
-
唯一识别码:
删除修改唯一识别码测试
如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!
最后软件测试基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等配套学习资源在下方公众号免费获取~
相关文章
- Solidity truffle,部署合约到Ropsten测试链或主链,调用合约(转)
- 内存测试
- 性能测试知识科普(五):能力分层
- python+requests接口自动化测试框架实例详解
- 宝马测试(C++实现)
- 阿里P8:你们公司就这水平?看看这份Python接口自动化测试手册
- 2023接口自动化测试,完整入门篇
- 准备了1个月,面试字节跳动测试工程师“凉经”分享
- 想学接口自动化测试,不会搭建框架怎么行?!
- 学会自动化测试之后月薪30k+离我还远吗?
- 接口测试用例怎么写?一文1600字教你写一个优秀的接口测试的测试用例
- 接口测试测什么?一个简单问题把我难住了
- 自动化测试 (五) 读写64位操作系统的注册表
- 测试行业卷麻了,5分钟从0到1学会接口自动化测试框架(建议收藏)
- 不愧是美团内部“接口自动化测试学习笔记”这细节讲解,神了
- 看完就会,从抓包到接口测试1500字超细的全过程解析
- 点工学自动化测试(三)----selenium 命令
- iOS 真机测试 App installation failed
- locust 嵌入测试平台 只用一个task实现请求多个接口的思路
- 做100个用户的并发测试时是不是得要100个用户的账号呀?
- MongoDB与Spark分布式系统集成测试
- 使用COSBench工具对ceph s3接口进行压力测试--续
- 5年测试点工?老鸟总结功能到接口自动化测试进阶,自动化核心竞争力...
- 8年测试老鸟总结,接口自动化测试测试用例编写(全覆盖场景)
- 性能测试系列二 何时介入性能测试
- 大数据调度平台Airflow(八):Airflow分布式集群搭建及测试
- GET和POST测试(支持需要登录的接口调用:高级功能->填写cookie)
- Openstack入门篇(十二)之neutron服务(计算节点)的部署与测试
- Web 攻防之业务安全:接口调用重放测试.(点击两下有多个订单效果)