吐血整理,接口测试到接口自动化集成总结,你不知道的都在这...


前言

后端接口都测试什么?

回答这个问题,我们可以从接口测试活动内容的角度下手,看一下面这张图,基本反应了当前我们项目后端接口测试的主要内容:

E1

我们怎么做接口测试?

由于我们项目前后端调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送与接收。

工具有很多如:postman、jmeter、soupUI、java+httpclient、robotframework+httplibrary等。

后端接口测试一遍 ,前端也测试一遍,是不是重复测试了?

回答这个问题,我们可以直接对比接口测试和app端测试活动的内容,如下图为app测试时需要覆盖或考虑内容:

E2

从上面这两张图对比可以看出,两个测试活动中相同的部分有功能测试、边界分析测试和性能测试,其它部分由于各自特性或关注点不同需要进行特殊的测试,在此不做讨论。

接下来我们针对以上三部分相同的内容再进行分析:

1、基本功能测试
由于是针对基本业务功能进行测试,所以这部分是两种测试重合度最高的一块,开发同学通常所指的也主要是这部分的内容。

2、边界分析测试
在基本功能测试的基础上考虑输入输出的边界条件,这部分内容也会有重复的部分(比如业务规则的边界)。

但是,前端的输入输出很多时候都是提供固守的值让用户选择(如下拉框),在这种情况下测试的边界范围就非常有限,但接口测试就不存在这方面的限制,相对来说接口可以覆盖的范围更广,同样的,接口出现问题的概率也更高。

3、性能测试
这个比较容易区分,虽然都需要做性能测试,但关注点确大不相同。App端性能主要关注与手机相关的特性,如手机cpu、内存、流量、fps等。

而接口性能主要关注接口响应时间、并发、服务端资源的使用情况等。两种测试时的策略和方法都有很大区别,所以这部分内容是需要分开单独进行测试的,理论上来说这也是不同的部分。

小结:
接口测试和app测试的活动有部分重复的内容,主要集中在业务功能测试方面。除此之外,针对各自特性的测试都不一样,需要分别进行有针对性的测试,才能确保整个产品的质量。

接口测试可以关注于服务器逻辑验证,而UI测试可以关注于页面展示逻辑及界面前端与服务器集成验证。

为什么要做接口测试?

如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。

接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。

现在很多系统前后端架构是分离的。

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

前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。

接口测试持续集成?

对接口测试而言,持续集成自动化是核心内容,通过持自动化的手段我们才能做到低成本高收益。目前我们已经实现了接口自动化,主要应用于回归阶段,后续还需要加强自动化的程度。

包括但不限于下面的内容:
流程方面:在回归阶段加强接口异常场景的覆盖度,并逐步向系统测试,冒烟测试阶段延伸,最终达到全流程自动化。

结果展示:更加丰富的结果展示、趋势分析,质量统计和分析等
问题定位:报错信息、日志更精准,方便问题复现与定位。
结果校验:加强自动化校验能力,如数据库信息校验。
代码覆盖率:不断尝试由目前的黑盒向白盒下探,提高代码覆盖率。
性能需求:完善性能测试体系,通过自动化的手段监控接口性能指标是否正常。

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

一、Python编程入门到精通

请添加图片描述

二、接口自动化项目实战

请添加图片描述

三、Web自动化项目实战

请添加图片描述

四、App自动化项目实战

请添加图片描述

五、一线大厂简历

请添加图片描述

六、测试开发DevOps体系

请添加图片描述

七、常用自动化测试工具

请添加图片描述

八、JMeter性能测试

请添加图片描述

九、总结(尾部小惊喜)

只有付出不懈的努力,才能描绘出辉煌的人生画卷。在困难面前坚持不懈,追逐梦想的脚步永不停歇,让每一天都成为奋斗的舞台,书写属于自己的壮丽篇章!

每一次的努力都是为了超越昨天的自己,只有坚持不懈,才能迎接成功的喜悦。无论路途多么艰辛,始终相信自己,你就一定能够创造奇迹!

只要心怀梦想,坚持不懈,就能攀登巅峰,追逐自由的阳光;勇往直前,超越极限,书写辉煌的篇章;奋斗是人生的密码,只有不断努力,才能解开成功的大门。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
不完全正确。Kafka session.timeout.ms 实际上是指消费者与 Kafka broker 之间的心跳间隔时间。消费者会定期向 Kafka broker 发送心跳请求,以确保其仍然处于活动状态。如果 Kafka broker 在 session.timeout.ms 时间内没有收到来自消费者的心跳请求,则会将该消费者视为已死亡,并将其分区重新分配给其他消费者进行消费。 关于如何快速全面掌握 Kafka,以下是一些建议: 1. 了解 Kafka 的基本概念和架构:Kafka 是一个分布式的消息队列系统,具有高可用性、高扩展性和高吞吐量等特点。了解 Kafka 的基本概念和架构对于学习 Kafka 是非常重要的。 2. 学习 Kafka 的 API:Kafka 提供了多种 API,包括生产者 API、消费者 API、管理 API 等。学习这些 API 可以帮助您更好地使用 Kafka。 3. 实践 Kafka:实践是学习 Kafka 最好的方法之一。可以使用 Kafka 的 Docker 镜像快速搭建 Kafka 环境,并通过编写代码来实现 Kafka 的生产和消费。 4. 学习 Kafka 的监控和调优:监控和调优是保证 Kafka 高可用性和高性能的关键。了解如何监控和调优 Kafka 可以帮助您更好地了解 Kafka 的运行状况和性能。 5. 参加 Kafka 社区:Kafka 社区是一个非常活跃的社区,其中有很多专家可以提供帮助和建议。参加 Kafka 社区可以帮助您更快地学习 Kafka,并获得更多的经验。 总之,要想快速全面掌握 Kafka,需要进行理论学习和实践结合,不断尝试和实践,并且要保持对 Kafka 社区的关注和参与。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值