爆肝整理,接口测试流程+单接口测试(场景)详情,一文概全..


前言

1、接口测试大体流程

1)(阅读)测试接口文档
检验接口文档的完整性、正确性、一致性、易理解性和易浏览性。
这个一般在实际测试过程中,都会弱化测试,不注重。

2)编写测试用例
这个大家都熟,根据接口文档编写测试用例。用例编写方法可以按照黑盒测试的用例编写规则来编写,如:边界值、正交表等等设计方法。

3)根据测试用例进行API的手工执行测试
根据用例执行测试,注意验证预期结果,执行结束后出具测试报告。

步骤:
需求评审,熟悉业务和需求
开发提供接口文档
编写接口测试用例
用例评审
提测后开始测试
提交测试报告

接口文档 是接口测试的参照,至少包括:
接口说明
调用url
请求方法(get\post ……)
请求参数、参数类型、请求参数说明
返回参数说明

接口测试用例设计:

通过性验证:首先保证接口好用,按文档正常传入,查看是否可以返回正确的结果。

参数组合: 按接口文档中对参数的要求进行有目的的组合,比如必填未填是否通过,标志类参数值的切换是否能对应正确的功能等。(这部分很关键)

接口安全:
绕过正常值验证。
绕过身份授权验证。
参数是否加密,加密规则是否容易破解。
密码安全规则,密码的复杂程度校验。

异常验证:不按照接口文档上的要求输入参数,来验证接口对异常情况的反应。

接口测试用例模板 (可根据项目实际情况设计增减):

1)项目 测试针对哪个项目
2)模块 哪个功能模块
3)用例id
4)接口名称
5)用例标题 测试用途概括
6)请求方式 GET/POST
7)请求url URL地址
8)请求参数
9)前置条件 执行当前请求依赖的条件,不满足就不能正确执行
10)结果验证 预期结果
11)请求报文 可以不写
12)返回报文  一定要写,这里应该是你请求返回的真实结果
13)测试结果 通过/失败
14)测试人员

测试WebSevice接口:

不需要像测http接口那样拼报文,直接把wsdl地址或wsdl文件(这两个都由开发人员提供)填写或导入到工具SoapUI里面,工具里可显示所有相关接口或报文,直接填入参数发送请求参照接口文档查看结果即可。

Cookie 和 Session:

Cookie是存在于本地的一个键值对,Session是存在于服务器端的一个键值对,通常保存在数据库或缓存里。Cookie和Session在第一次发送某个请求时成对生成,两端都会记录下生成的时间,超出既定的时限后便会自动删除。

当请求在时限内再次发出后,Cookie和Session两者会相互比对,匹配上了便执行某些操作,匹配不上则不允许执行某些操作,以此实现快速处理,它们并不是孤立作用的。

2、单接口测试(场景测试)

1)json格式测试

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

2)默认值测试

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

3)异常类型测试

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

4)必传项测试

如果接口的参数有必传项,那么需要测试在不传这个参数的时候接口返回情况,测试是否会提示相应的error code

5)非必传项测试

如果接口有非必填项,当我不传递这些参数的时候会不会正常的返回相应的结果

6)非空测试

无论是必传的和非必传的参数,传递的key是正确的,但是value=null,这时候返回结果是否正确

7)业务逻辑测试

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

8)兼容性测试

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

9)错误码测试

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

10)数据异常测试

假如数据库设计为32位varchar类型,那么如果传33位会是什么情况,会不会抛出相应的错误码,而不会抛出数据库异常

11)返回值测试

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

12)加密测试

组合接口测试(场景测试)

单个的接口测试通过后,需要将单个的接口组成连续的场景,比如说投资接口需要用到一个类似token的 参数,而这个参数是登陆接口获取到的,所以就需要先调用登陆接口,然后再去调用投资接口。

还有就是像数据权限与操作权限这些,都会依赖一些其他的接口,那么把这些依赖的接口组成一个场景来测试数据的 正确性。

还有一部分接口是内部调用的。
比如说注册接口,在注册的时候通常需要获取一个验证码,然后输入 验证码再进行提交注册的操作,在这过程中,验证验证码的操作是在注册的内部完成的,那么其实在组合场景的时候就不需要再去中间加入验证验证码的接口。

接口测试项目实战

下面是我整理的2025年最全的软件测试工程师学习知识架构体系图

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

人生最动人的风景,往往藏在最难攀爬的高处。当你觉得力竭时,请记住:每一次坚持都在雕刻更强大的自己。别问路有多远,只管迈步向前;别怕山有多高,向上攀登就是答案!

你体内沉睡着改变世界的力量!每个清晨都是改写命运的新机会,每次挫折都是精心包装的礼物。当全世界都在说"不可能"时,正是你证明"可能"的最好时机!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值