10K的测试人员!!因为不懂接口测试被开除了

本文介绍了接口测试的重要性,包括其在微服务架构中的作用,以及为何选择接口测试。文章详细阐述了接口测试的分类,如TCP、HTTP、RPC协议接口,并探讨了接口测试的收益,如覆盖程度和测试效果的衡量。文中推荐了Postman、JMeter和Charles等接口测试工具,并对比了它们的适用场景。此外,还提到了YAPI作为接口测试平台的优势,如接口文档可视化、协作和Mock服务等功能。

接口测试系列

  为什么要做这个事情? 对自己过往在接口测试上的经验,写一个小结的还有对于自己同事的这件事感到无能为力,希望写出这篇文章能给你们带来一点点帮助,这篇博文写的是一个系统性的思考和知识构建。发布的同时,也是希望获得更多感兴趣的同学的意见和反馈,可以把这个部分做的更好。

接口测试概述

什么是接口

  现在的项目中基本是构建在各种API中。有自己提供的API,有调用别人的API。API就像是钥匙,每个门都需要钥匙去打开。要想去打开门,没有钥匙怎么行呢。所以API之所以重要,就是因为它是网络世界的通行证。
对于程序来说,API就是提供给被人调用的方式,它会规定应该怎么使用。其中包括:协议,地址,参数和响应等。

为什么要进行接口测试

  接口在微服务流行的当下,地位是非常重要的。因为服务跟服务之间,都是用接口进行的交互。而对于测试来说,UI是不稳定的,单元测试很多是开发负责。而接口是切入点更合适,稳定性更好的一种测试方式。这种测试方式的优势就在于成本和收益的平衡。既不用花去很多成本看不到收益,又可以很好的体现出对于质量的把控。所以,接口测试在当下的测试行内来说,是恰当的存在。

接口测试的分类

接口测试从协议上来说,可以分成下面几类:

TCP协议接口
HTTP协议接口
RPC协议接口
  TCP协议其实就是socket接口,一般在企业级开发中很少碰到。HTTP协议,这是最常见也是最重要的,里面涉及到很多使用细节,后面会详细讲述。RPC协议,常见的有Dubbo和其他自研的RPC协议,一般都是构建在TCP或者HTTP之上的。这种协议的特点就是有自己的一套架构,使用他们提供的架构进行测试就可以了。很多需要自己写代码进行测试。

收益

  对于接口测试的收益,可以从两方面进行衡量。一个是接口的覆盖程度,一个是接口测试的效果。覆盖程度很好理解,就是多少场景覆盖。效果的衡量就不是那么好做了。一般是用代码覆盖率和每次发布自动化测试程度进行衡量。
在这里插入图片描述

接口测试工具介绍

  现在市面上的接口测试基本上是两种:接口测试产品和接口测试平台。接口测试产品有postman,jmeter,charles等都是目前比较主流的。而接口测试平台基本上是自研或者开源的平台产品,在此我比较推荐的是YAPI,能想到的接口测试的功能基本上都有。

工具比较

  下面我们对常用的工具进行一个简要的说明,其实不是一个很全面客观的评测,而是针对自己的理解做了些脚注。

  postman HTTP接口很全面的测试工具。有参数化、数据驱动、批量执行、自定义断言,并且可以多端同步。
  jmeter 偏向于性能测试,也是针对HTTP接口的。有参数化、Hook、批量执行等,基本针对单机版应用场景。配合性能测试会更适合。
  charles偏向于网络抓包,也是针对HTTP接口。接口测试功能上稍弱。用的不多。从上面可以看出,postman很适合做HTTP接口的测试工具。如果有debug需求可以用charles,如果有性能需求可以用jmeter,如果是单纯的接口测试,个人认为postman基本上覆盖了所有场景。后面我也会从场景角度对postman进行深度的剖析。
接口测试平台

  其实,在接口测试平台维度,也有几个好的产品,我个人比较推崇YAPI。因为他的切入点很好,现在生态也做的比较强大。
从YAPI产品设计的角度说,接口测试平台需要解决这么几个场景:

接口文档可视化,需要在平台上展示接口文档,让开发和测试有统一的入口
平台支持接口测试的场景:参数化、数据驱动、断言等
平台可以提供mock服务和调试手段
协作方式,从项目或者应用角度作为入口,组织接口和测试用例集合。
当然,除了YAPI,Hitchhiker也是不错的产品。

如果想学习软件测试,就快加入:893694563,群内学软件测试,分享技术和学习资料,陪你一起成长和学习。

  上面就是我为大家整理出来的一份软件测试工程师发展方向知识架构体系图。希望大家能照着这个体系在3-4个月完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

  群里大部分资料都是面试时面试官必问的知识点,也包括了很多测试行业常见知识,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

  如果你测试中有许多的困惑,那么我创建的软件测试技术交流群将会是你接触良师益友的有益社区,同行或许可以给你带来一些实际性的帮助与突破。

小结

  这篇文章列出了一些工具和平台,如果作为一个接口测试的初学者,大家可以用postman。如果想用平台方式,让团队可以协作的进行接口测试,建议试下YAPI。

### 如何评估 GOT-10k 数据集上的模型测试结果 #### 使用标准评价指标 为了全面评估在 GOT-10k 上的单目标跟踪器性能,通常采用多种量化指标来衡量不同方面的能力。这些指标包括但不限于: - **成功率 (Success Rate)**:计算预测边界框与真实值之间的重叠率(Intersection over Union, IoU),并统计IoU大于某个阈值的比例[^2]。 - **精度 (Precision)**:测量预测边界框中心点到实际位置的距离误差,在一定距离范围内视为成功匹配的概率。 ```python def calculate_iou(boxA, boxB): # 计算两个矩形框的最大交集区域坐标 xA = max(boxA[0], boxB[0]) yA = max(boxA[1], boxB[1]) xB = min(boxA[2], boxB[2]) yB = min(boxA[3], boxB[3]) interArea = max(0, xB - xA + 1) * max(0, yB - yA + 1) boxAArea = (boxA[2] - boxA[0] + 1) * (boxA[3] - boxA[1] + 1) boxBArea = (boxB[2] - boxB[0] + 1) * (boxB[3] - boxB[1] + 1) iou = interArea / float(boxAArea + boxBArea - interArea) return iou ``` #### 应用 Got-10k 工具包 Got-10k 提供了一个集成工具箱,简化了实验流程中的多个环节。通过该工具可以方便地加载数据、运行预定义或自定义算法以及自动化评测过程。具体来说,可以通过调用 `evaluator` 接口来进行快速而准确的效果验证[^3]。 ```python from got10k.experiments import ExperimentGOT10k from got10k.trackers import Tracker tracker = Tracker() # 初始化追踪器实例 experiment = ExperimentGOT10k(root_dir='path/to/got10k', subset='test') experiment.run(tracker, visualize=False) performance = experiment.report([tracker.name]) # 获取报告 print(performance) ``` #### 考虑特定因素影响 除了上述通用度量外,还应关注某些特殊条件下的表现差异,比如遮挡程度、光照变化等因素对最终成绩的影响。这有助于更深入理解所开发系统的优劣之处,并指导后续优化方向[^1]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码上开始

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值