okx

深度分享 | API 测试经济学与 API First 践行

经济

本篇内容是基于 4 月 19 日极狐 GitLab 举办的江狐会第十九期「研发团队的全生命周期管理实践」线下分享会中, Apifox 产品与运营 VP 张路宇所分享的《API 测试经济学与 API First 践行》课题内容整理发布。

大家好,我先简单自我介绍一下。我是 Apifox 产品与运营的负责人张路宇,过去在 CODING 做了四年,接触很多各式各样的企业。尤其是 CODING 本身有用户基础,我大概接触过近 100 万的开发者团队,国内各式各样的都见过。那么我今天聊的话题是 《API 测试经济学与 API First 的实践》 ,从 4 个方面展开,分别是自动化测试手段的 ROI、做 API 测试的挑战、API First 理念以及最后简单聊聊 Apifox 这个产品。

自动化测试手段的投入产出比

首先我们来聊 自动化测试 这个话题。

国内的情况,我过去见过的任何团队,包括我供职过的团队,都是每过半年或一年,就要运动式的搞一次自动化测试。说白了就是某个事搞得不好,或者说间断性的遇到一些问题,或者老板觉得哪里可能有点问题,就会搞一次。但是如果回顾来看,真正能把这件事搞好的团队不多

这是 JetBrains 去年的开发者生态报告,可以看到近 50% 的团队觉得自动化测试的覆盖只有一些效果;但 79% 的受访者表示自动化测试非常有用。第二个图是统计项目中的测试类型,绝大多数是单元测试,其他的类型相对比较少,且辅助数据显示,85% 的单元测试开发者自己写的。

从这份统计中我们能看到,自动化测试总体覆盖率还不高,而且这还是海外的数据,国内就更不用说了。当一个组织要去考量做自动化测试的时候,需要冷静考虑四个因素:成本、覆盖率、效应及人员水平。这四个必须结合到一块才能做好。

1. 单元测试

各种软件工程的学术研究都认为单元测试是总体上收益最高的一种方式。它唯一的问题是对开发人员的水平要求比较高。但我看到真实的情况是,国内产品整体的迭代节奏是不均衡的。一般如果有一个两周的迭代,可能前七八天在干活,最后几天疯狂修 bug 和测试。这个节奏很难做自动化测试。

2. UI 自动化测试

UI 自动化测试是很多人都觉得应该做的事,但我觉得这件事不太好做。比如说腾讯内部有个 UI 的自动化测试工具,很多年前用的。只有极少数 to C 产品在用 ,比如 QQ 这样产品体量非常大的产品是必须要用。那为什么腾讯这样的大公司的其他产品不知道做 UI 自动化测试?有两个原因,第一是国内产品的 UI 变度非常高。第二是由于 UI 变度很高导致自动化测试用例维护起来非常困难,基本上是牵一发动全身。

我认为 UI 自动化测试成本是较高的,覆盖范围虽然好,但总体效率低,所以我不太建议大家去做 UI 自动化测试。

3. API ⾃动化测试

第三个是 API 自动化测试。API 在这几个环节中相对效益较高,成本较低的。尤其是 API 的定义,测试过程你可能在开发环境做了,只要后面有普通的工作人员上就能做,对人员水平要求相对较好,我觉得总体来说应该是一个比较均衡的方式。

这个经典的测试金字塔是 20 年前 Mike Cohn 提出的,它的核心理念是,如果从收益和效率上去谈,单元测试是成本最低、效益最高的;而越往上,像端到端包括 UI 策划和人工策划,成本是非常高的,但是效率没有那么快。

API 测试是属于单元测试和端到端中间的一个比较均衡的点,它是相对黑盒的,也就是说并不一定要开发人员才能做,其他的外部人员能也能做。这个涉及到国内和海外团队的人员配比。海外现在的情况,比如硅谷公司,总体来说测试人越来越少,基本上是测试左移,把大部分精力放在研发上;但国内情况是,测试很边缘,数量很多,但是可能也帮不上忙,还占了一个位置。

如果就算一笔账的话你会发现:人工测试的人员消耗者比较大;UI 测试的个人员消耗只需要一两个人,但是时间比较长;API 的人员消耗如果只算测试,其实是最少的;而单元测试是开发人员在做。

国内现在的情况是黑盒测试比较多,但它是不太能复用的。可能单元测试和 API 测试还比较能复用,其他都没法复用。

API 测试覆盖的优势和挑战

刚才简单的论证了四种自动化测试手段中 API 测试是比较平衡的、值得去做的。接下来分析一下可能遇到的挑战和收益。

API 自动化测试的优势

首先就是覆盖范围广,你可以通过比较快的执行效率,把它集成到 CI 上,几分钟就能完成完整的一次回归测试。

第二个优势是初建成本低。即使你是运动式搞一波,也不需要很长时间。一个团队可能 2-3 周就能把整个的体系建起来,只不过选用什么工具和方式去测是值得做选择的。

还有一个非常合适的原因,就是对 AI 原生友好。API 的定义,无论是代码层面,还是 Swagger 的 OAS 标准,总体上是声明式的东西。而最近通过对 GPT 等模型测试结果显示 80% 的用例是可以通过 AI 去瞬间完成设计的。这成本并不高,相当于提前用自然语言写好需求,给 AI 提供上下文就可以自动完成 80%的内容,最后只需稍作修改调整就可以直接用了。

API 自动化测试的挑战

但是,也面临一些挑战。第一是变更维护成本很高,刚才说运动式搞一波很容易,但搞完后过段时间可能不维护了,有很多这样的情况;第二是接口依赖问题,本质的问题是 API 的频繁变更导致的用例的维护成本变高。

这是去年对 1,000多万开发测试人员进行“测试成功所需的重要技能”的调研数据,结果显示最重要的是 API 测试能力

左侧是去年海外开发人员的另外一个数据,测试人员用过最多的框架是 Postman 和 JUnit。Postman 是 API 调试工具,调试也是测试的重要环节。右侧数据是关于“开发者认为改进 API 质量的措施”的调研,排名第一的是“写一个比较好的 API 文档”,认为这个对后面的流程有帮助。这个调研结果反映了 API 现在的设计、定义和测试环节是断层的,是个痛点

结合两份数据我们可以看到,测试人员用最多是 Postman,测试人员认为改进 API 质量措施最重要的是提供一份好的文档,但 Postman 是没有很好解决这个问题,它没有提供一个好的 API 文档

API First 理念实践

所以接口持续迭代,如何显著降低 API 测试用例的维护成本,是我们面临的一个核心问题。业界先进团队是如何解决这个问题的?其实就是 API First,契约优先这个理念。

API First 是让技术研发团队在开发过程把 API 当做优先考虑事项的一种策略实践。在早期就把所有精力投入到 API 前期的讨论。它与传统代码优先模式最明显的差异是,当 API 完成了优先定义和声明之后,所有的团队成员可以提前进入到沟通之中,前后端人员和测试人员可以实现异步或并行的开发模式,而不用过去那种后端组织前端,前端组织测试的方式。这是 API 测试一个核心。

另外,API First 有一个契约优先的概念。它有一套核心的规范,在这套规范上声明式的去创造 API。Swagger 也是有契约优先的理念在其中的,但这种和 API First 还是有区别的。Swagger 是先写代码,然后在上面套 Swagger 的定义,通过注释把它生成一个 Swagger 文档。但 API First 是先通过 Swagger 或者其他自然语言去描写完成接口定义,通过它去生成 API 的调用代码、服务代码和测试代码的框架,最后只需补充逻辑就完成了。

这两个调研结果显示 40% 以上的后端开发人员每周超过 20 个小时的时间在 API 的开发活动上,有 75%的团队认为 API First 的投入是非常值得,可以让他们工作更开心,避免无效沟通浪费时间,提高开发质量。

如果你的团队想要实现 API First,需要哪些研发活动和工具?第一个环节是 API 设计,目前用的较多的方式可能是在 word、XMind、飞书上去做提前设计,但 API First 可以使用 Swagger,但 Swagger 在第一环节不太友好,更适合第二环节契约定义和文档第三个是 Mock,你的 API 定义完后,线上会生成一份 Mock 好的接口,前端人员就可以开始联调了,后端人员也可以单独写他的代码,是并行的,测试人员可以提前针对这个 API 定义去做测试用例的设计,并提前检查逻辑问题。第四步就是开发,这个环节用的最多的是调试工具是 Postman,第五就是集成测试,可以用 Swagger 或 JUnit。

从这五个环节能看到一些共性。第一,从第一个环节到第五环节,都存在围绕 API 定义的契约,但这数据在工具定义上是不通用的,从上游到下游一直要改变。第二,工具存在断层,从第一个环节到第五环节的数据全部是断裂的,这是一个核心问题。所以你的团队如果是 API First,在实践上会存在一些困难,这也是为什么我们会去做 Apifox 这个产品。

Apifox 应用与优势

Apifox 最早是两年前由我们老板 Jesse 一手创办,最开始是在社区上传播,总体一片好评,有非常高的广度,所以后来才把这个产品做成了公司。

最早的时候,Apifox 与 Postman 有些类似,是一个调试工具,但是现在 Apifox 的产品形态已经发生了改变,是一个 API First 的原生实践,一站式覆盖 API 设计、开发和测试。Apifox 的核心就是解决了目前市面上没有解决的问题——实现多种角色 API 设计者、开发者、测试者在一套工具和数据上去进行协同,尤其是前面说到的 API 定义部分。

Apifox 现在覆盖的功能比较多,你的 API 设计可以在 Apifox 上去做可视化设计,也支持从 Swagger 导入,还可以通过我们的 IDEA 插件从代码生成接口文档,甚至未来可以会从仓库搬进 Apifox。所以 API 定义搬运到 Apifox 上不是问题。

第二,Apifox 提供了 Mock 功能,这可能是国内最好的调试体验。国内有些 API 设计不是很规范,比如一些银行的接口不是 RESTful 规范,如果用 Postman 这种工具不太好调,因为它可能报错说 URL 已存在,毕竟不是为国内环境设计的,但 Apifox 对这种情况有很好的兼容,同时我们几乎支持所有的 API 协议,除了 HTTP 之外还支持 DubbogRPC。我们希望与 API 有关生态游上的人员都在能 Apifox 上去做开发。

我们有两个比较受欢迎的核心功能。

第一个就是 API 文档,可以通过 Swagger 或者可视化设计一键得到一个界面精致、可以分享给内部、也可以发布到外部站点的 API 文档。同时 API 调用者和阅读者可以直接在上面进行 API 的调试。

第二个是自动化测试,与市面上其他工具的区别是,如果 API 设计者定义完接口后,他的 API 的定义可以沿用到下游。举个例子,比如后端架构师做了 API 设计后给前端,前端在调的时候就会留下许多痕迹,都会保存到平台上,然后再到下游的时候,API 设计者和测试者就可以沿用前面其他人用过的所有东西。这意味着第一个环节定义完之后,到最后一步到测试者,他几乎是不需要去定义 API 用例了,他真正实现了契约优先。我们的自动化测试编排里不需要写 API 请求,而是直接从原先的 API 定义中拿数据。如果你的上游也在平台上,那就意味着他那边变更后,你这里也会自动变更。这个就是我们去贯彻 API First 理念的一个核心方式,让所有的这个角色设计、调试、联调、测试四种角色在一套数据同一套平台上去完成信息的共享和协同

以上就是我今天分享的全部内容,感谢大家聆听。

相关推荐

(共话中国经济新机遇·图文互动)专访:中国经济恢复向好有助于世界经济复苏——访匈中经济商会主席派特 【新时代新征程新伟业·壮大资源经济口岸经济园区经济】延伸产业链培植新优势!楚雄州加快推进资源经济发展 世界经济排行榜,英国经济商务研究中心预测,2036年世界经济强国 (首季经济形势)一季度经济形势怎么看?如何扩内需、强信心?——国家发展改革委新闻发布会回应当前经济热点 经济专家:国际金融市场动荡对中国经济影响相对有限二季度经济或将继续交出超预期答卷 (共话中国经济新机遇)专访:中国是全球经济增长的重要引擎——访安哥拉经济学家曼努埃尔·罗沙 广东县级行政区经济:县市经济有多弱,市辖区经济就有多强 英国国家经济和社会研究所发布报告:中国经济增长对世界经济起积极作用 (经济)专访:加强国际合作应对经济挑战——访联合国经济学家拉希德 中国国际经济交流中心杨伟民:数字经济不是虚拟经济 世界经济论坛报告:97%的受访经济学家看好中国经济增长 【新时代新征程新伟业·壮大资源经济口岸经济园区经济】推动资源优势变为产业优势!保山市一盘棋管好用活特色优势资源 共话中国经济新机遇|泰国“东部经济走廊”办公室秘书长:中国投资助力泰国提振经济 经济社会发展统计图表:2022年京津冀、长江经济带、长江三角洲主要经济指标

相关内容

扎实推动高质量发展在湖南农信系统落地生根

洪 樱 成依潇 刘雯娟 黄利飞 新型农业经营主体贷款余额177.2亿元,累计涉农贷款余额达6264.5亿元; 普惠型小微企业贷款余额达2182亿元,支持普惠型小微企业户数50.8万户; 新版手机银行客户数1244万户,收单商户数79万户,线···

全国港口前三季度吞吐量出炉

1-9月,全国港口集装箱吞吐量前10名分别是:上海港(第1)、宁波舟山港(第2)、深圳港(第3)、青岛港(第4)、广州港(第5)、天津港(第6)、厦门港(第7)、苏州港(第8)、北部湾港(第9)、日照港(第10)。图片来源于港口圈1-9月,···

定安打出组合拳推动知名企业纷纷落地

海南日报记者 李豌 特约记者 孙国富蜜雪冰城全球供应链总部基地和全国冷链物流总部基地项目、煌上煌集团……近年来,大企名企纷纷落地定安。国际投资单一窗口综合管理系统数据显示,2020年5月至今年9月,定安县在库项目36个,签约金额达158.9···

45年·45人·45个典型改革案例丨熊维政:一定要把信阳茶油做上市

□本报记者 胡巨成 刘宏冰潜心医药行业40余年,将一家作坊式医药小厂,做成大别山革命老区和全国贴膏剂药业首家上市企业,打造出“百亿级贴膏剂生产基地”的羚锐制药前“掌门人”熊维政,在他60岁时急流勇退,放手交棒,转身创办了信阳信锐油茶股份有限···

山东区划设想,二分滨州,组建渤海市,利津改区,邹平与高青互换

近年来,随着我国产业结构的不断调整,经济增长方式也在持续优化,特别是随着交通等基础设施的完善,区域经济开始朝着一体化发展方向迈进。如果用《射雕英雄传》中的一句话来形容,江苏是“东邪”、广东是“南帝”、四川是“西毒”,那么山东则是“北丐”,此···

为什么河南经济是最没有希望的?上车,带你深度了解河南的问题

“河南小孩出生就是为了离开河南”,这是我最近一个关于河南经济评论文章下点赞最高的评论。这句话我深深刺痛着自己,因为我自己就是河南人,深知这里面包含了多少无奈和心酸。当人们在聊地域之争的话题时,大家都会为自己的省份争辩几句,然而只有河南人,会···

关注双11丨“88VIP”淘宝天猫全网商品都能用花呗分期免息

2023天猫“双11”活动今晚8点正式开始。今年“88VIP”大额券总规模达到200亿,用户可领券额度最高可达860元。支付宝针对“88VIP”淘宝天猫用户还推出花呗分期免息服务,消费者购买大件商品又多了一重实惠。“88VIP”用户购买单价···

每日新闻,60秒知晓世界热点

2023年10月31日,星期二,农历九月十七1、31省份前三季度人均可支配收入公布:上海北京首超6万元位居全国前列,浙江天津江苏同属4万+梯队紧随其后;长三角万亿城市经济三季报:合肥增速第一,宁波增速超上半年;2、工行、农行、中行、建行、邮···

2024年城乡居民参保调整,一次性补缴5.9万,每月能领2300元吗?

随着时间的推移,社会保障制度也在不断地完善和调整。2024年城乡居民参保也将迎来新的一轮调整。据相关政策规定,未来居民参保需要一次性补缴5.9万,每月能领2300元。这个政策引起了很多人的关注和讨论。对于这个政策,有些人认为一次性补缴5.9···

老百姓:第三季度净利润同比增长32.78% “聚焦发展”战略优势凸显

中证网讯(记者 段芳媛)老百姓10月30日晚间披露2023年第三季度报告。公司前三季度实现营业收入160.42亿元,同比增长16.44%;实现归属于上市公司股东的净利润7.17亿元,同比增长17.54%。其中,第三季度实现营业收入52.31···

紧抓机遇开展差异化竞争 骆驼股份积极开拓国际市场

骆驼股份 黄剑波/供图 彭春霞/制图证券时报记者 韩忠楠越来越“卷”的新能源汽车赛道,既充满挑战,也酝酿着新的机遇。近期,受益于华为与赛力斯联合打造的全新问界M7的热销,与之相关的汽车产业链在A股市场的热度也随之升温。这当中,为问界M5/M···

宝山罗店:罗南二村 半年跌幅近乎恐怖 郊区老破小太可怕

前几天,我们写了几个宝山区二手房系列,美兰湖板块的万科琥珀郡园以半年跌幅近五分之一位列榜首,我以为就是跌幅极限。然后,今天现场去看了位于美兰湖南侧的罗南新村,在那周围详细地看了看,然后比较了一下罗南二村最近成交与4月份左右的成交记录,愕然发···

压倒许家印并不是造车,而是恒大童世界,砸几千亿搞了十几个鬼城

恒大集团以其高调的投资和建设项目而闻名,最近引起了人们的广泛关注。与传统地产业务不同,恒大集团的新尝试是在娱乐旅游领域建设恒大童世界。这一巨大的投资计划引发了广泛的争议和讨论。恒大童世界的建设规模之大令人瞩目。据报道,恒大集团计划投资数千亿···

《人民日报》警告奏效?98款,突破1亿台!华为正式宣布

导语:在科技的浪潮中,华为从遭遇“极限施压”,到芯片突破和鸿蒙生态的自研,始终展现出卓越的技术实力和坚韧不拔的创新决心。华为面对挑战:技术封锁与自主创新在2019年,《人民日报》发送《人民日报评华为遭"极限施压":科技自立,时不我待》一文,···

中国钢铁大王戴国芳,入狱5年东山再起,再造500强民企狂赚1957亿

他从一个收废品的穷小子,摇身一变,登上了中国400富豪榜。他的钢铁厂年销售额已超过1个亿,手下员工超过1千人,他就是钢铁大王戴国芳但是这个钢铁界的王者,却因为一时错误,被捕入狱,还坐了5年牢。出狱后,他不忘初心重操旧业,不仅再次创办炼钢厂,···

油价暴跌倒计时,专家透露:11月国内高油价将消失!

随着外资油站的进入,国内加油站市场的竞争格局正在发生重大变化。近日,多位专家在接受记者采访时表示,预计11月国内高油价将不复存在。这一预测的背后,是外资油站的入驻带来的市场冲击和国内油价的持续波动。外资油站的进入,打破了国内加油站的垄断格局···

共话中国经济新机遇丨专访:中国经济展现出发展韧性

新华社日内瓦10月30日电 专访:中国经济展现出发展韧性——访联合国贸发会议资深经济学家梁国勇新华社记者陈斌杰联合国贸发会议资深经济学家梁国勇日前接受新华社记者书面专访时表示,中国经济今年前三个季度的增长态势展现出了发展韧性和潜力。中国国家···

润达医疗:目前在上海、北京等地区部分医疗机构已开展LDT相关业务的试行

润达医疗近期接受投资者调研时称,目前在上海、北京等地区部分医疗机构已开展LDT相关业务的试行,公司在上海等地区积极和相关部分医疗机构展开合作,共同推进LDT相关业务在医疗机构的开展。未来随着相关政策法规进一步完善,LDT相关业务将给公司带来···

国航率先公布第三季度财报,疫情后首度扭亏

在阅读此文之前,希望用您发财的小手点一下“关注”,文章内容来源于网络但是最后会有小编的个人感悟,如有不足之处可以评论指出,谢谢您的支持。民航行业近期公布的积极消息显示了行业的积极向上趋势。多家航空公司在财报中宣布扭亏为盈,旅客运输量也逐步恢···

竹塑革命!中国发改委推动“以竹代塑”三年行动计划。

近日,中国国家发展和改革委员会发布了一份重要通知,名为《加快“以竹代塑”发展三年行动计划》,这一举措旨在推动“以竹代塑”产业体系的快速建立。这个消息将给与竹制品、造纸等行业密切相关的产业带来利好消息。竹子作为中国特色植物,广泛应用于造纸、包···