接口测试如何做?超全接口测试-测试点总结(最全)

文章介绍了接口测试的重要性,包括服务端验证、业务逻辑检查和安全性测试等方面,并提到了Jmeter作为常用的接口测试工具。同时,文章涵盖了Python编程、自动化项目实战、Web和App自动化、一线大厂简历要求及测试开发DevOps体系等内容,强调了测试过程中的输入输出验证、业务逻辑、数据库操作和安全性等方面的关键点。
摘要由CSDN通过智能技术生成


前言

为什么要做接口测试?

在公司里,客户端和服务端通常是由不同的团队开发的,在项目开发过程中,客户端和服务端开发的进度不一致,比如服务端先开发完了,这个时候可以先对服务端进行接口测试,确保服务端逻辑和返回数据是正确的。

然后再测试客户端,或者是某些测试部门,专门测试服务端开发团队,因此,他们的测试对象就是接口。

在测试某些业务时,不能仅仅通过前端来测试,比如用户注册,前端限制了用户名不能为空,但是有些人可能通过工具绕过前端直接调用服务端接口,如果服务端没有做相关的逻辑判断,就会造成数据 错误。
包括接口数据传输过程中是否对关键信息加密等。所以必须针对服务端接口单独做测试。

在开发提测后,可以先通过工具把服务端的接口测试跑一遍,确保接口测试用例都是通过的,快速判断服务端接口是否符合预期。然后再通过UI界面进行测试。否则接口有bug,前端页面必定有bug。

接口测试工具和流程?

常见的HTTP接口测试工具有Jmeter、Postman、SoupUI等。企业里用的比较多的是Jmeter。

Jmeter是一款开源、免费的接口测试工具,它可以对接口的功能、性能进行测试。还可以实现接口自动化。

Jmeter具体使用,之前写过,这里就不再过多叙述。

接口测试流程:
和普通的web测试一样,也是先进行需求分析、测试用例编写、执行测试、提交bug、回归测试、提交 测试报告等。

接口测试的关注点

1、输入
输入主要是指接口的入参,我们平常的测试中,会先考虑正常的入参,以及异常的入参。
异常情况包括:参数异常和数据异常,用例设计这块使用较多的是等价类划分和边界值分析

正常的入参:
正常的入参很好理解,就是根据接口设计文档的入参标准,输入正常的参数,响应按接口设计文档的约 定条件正常返回

参数异常:
参数异常包括:参数为空,多参或少参,错误的参数
数据异常:
数据异常:数据类型错误、非空参数为空,长度不符合设计,不在范围内的数据,不合法的成员,特殊 字符或敏感字符,存在关联关系的参数数据异常等

2、业务逻辑
和基于UI的功能测试一样,接口测试也需要了解接口背后的业务逻辑,针对业务流程的处理逻辑,我们 可以从入参的限制条件、事件的操作对象、业务的状态转换等不同维度来考虑

限制条件分析:
① 数值的限制:字典,等级,行业相关限制,金额限制,分数限制等
② 状态的限制:有效|无效,在线|离线,拉黑|洗白等
③ 关系的限制:存在或不存在,绑定或解绑等
④ 权限的限制:管理员,普通用户等

对象分析:
对象分析主要是对合法和不合法的对象进行操作,比如银行卡用户对卡进行充值,则可能存在:用户A使用非用户A的卡充值;用户A使用自己的卡进行充值,卡已过有效期;用户A使用自己的卡进行充值, 卡为黑名单或挂失等。

状态转换的分析:
比如支付类业务,先支付成功,撤单后会退款,再次支付如果支付未成功,则是支付失败,状态之间的 切换是否正常,未按正常业务顺利进行操作时,状态怎么显示,是否可控,是否出现异常状态,空状态 业务怎么处理等

时序分析:
一些复杂的活动中,一个活动是由一系列的动作按照指定顺序进行,这些动作形成一个动作流,是有按照这个顺序依次执行,才能等到预期的结果,那么在执行过程中发生的其他分支动作程序会作何处理?

3、输出
在考虑异常时,通常我们都会想到正常情况,无效的情况,但是不一定能覆盖所有错误码,而接口定义返回的错误码可以帮助我们补充这一部分的用例。

比如网络异常,无效的规则,无效的参数,无效的业务ID,无效的任务,服务器异常等,把errorcode的值都补充上去可以设计更多的用例

这种根据输出进行设计用例,可以发现前后端是否正常输出结果,提示是否友好,提示是否出现敏感信息等

4、数据库操作
业务数据入库是否正常,是否有重复数据入库,是否出现乱码;
数据更新是否正常,尤其是时间类字段,时间是否为24小时制的格式;
表中各个字段是否符合预期;

5、安全性
敏感信息是否加密(如用户名、银行账号,密码,转账金额)

6、性能
接口最大支持多少并发数;
接口每秒能处理多少次业务(TPS);
接口的平均响应时间(RT);
接口对服务器资源的消耗(CPU、内存、网络、磁盘);

7、兼容性
接口测试不需要考虑客户端的兼容性,主要是数据的兼容性。比如对于老接口的历史数据是否兼容,用 新接口去处理老的数据,是否能正常处理。

8、其他
幂等性:就是用户对于同一操作发起的一次请求或者多次请求的结果是一致的,不会因为多次点击而产生了副作用。

举个最简单的例子:
那就是支付,用户购买商品后支付,支付扣款成功,但是返回结果的时候网络异 常,此时钱已经扣了,用户再次点击按钮,此时系统应该拒绝支付,并且提示“不能重复支付”。

相当于 第二次支付不会产生任何作用。在做接口测试时,对于某些有幂等性要求的接口,需要针对幂等进行测 试。

通常可以采用Jmeter连续调用2次接口进行支付、提交等操作,来测试幂等性。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

无论过去有多少困难和挣扎,未来依旧是未知的纷繁世界,努力奋斗,坚持追求,将为自己开启一扇通向成功的大门,勇往直前,创造自己辉煌的人生故事。

在人生的漫长道路上,勤奋与拼搏是通向成功的必由之路,只有砥砺前行不放弃、锲而不舍追求,才能在未来实现自己的梦想和追求。

无论环境如何,困难多么艰巨,只要心怀憧憬与愿景,奋发努力,便能超越自我,闯出属于自己的辉煌人生,因为真正的奋斗者,终将被时间所证明,成就于坚持。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值