接口测试入门课
15
15
1.0x
00:00/10:56
登录|注册

开篇词 | 把接口测试这件小事做深、做透

讲述:陈磊大小:8.76M时长:10:56
完善测试框架
开发自动化接口测试平台AAT
担任测试架构师
封装成测试框架
重新思考测试工作
提升测试工作速度
放弃Selenium界面自动化测试
应用到工作中
遇到的问题和挑战
使用Selenium自动化测试脚本
行业身价倍增
带走个人标签的接口测试框架
学习基础技能
外部依赖解耦的方法和思路
完成陌生协议接口的测试任务
借助工具的优势弥补测试框架的缺陷
完成接口自动化测试的转变
抽象出自己的接口测试框架
合成接口测试技术和业务测试知识
重新认识接口和接口测试
在求职和工作中的好处
发现影响范围广泛的Bug
测试后端服务
接口测试思维的重要性
成长过程中的感悟
完成智能化测试框架的设计和开发
从具体测试代码到框架设计
在京东中台的工作
自己写接口测试脚本
发现Postman工具
自动化测试的浪潮
人工回放测试用例
从功能测试到接口测试
学习目标
进阶技能篇
综合技能篇
初级技能篇
对个人的影响
对项目的影响
接口测试的思维转变
从测试工程师到测试架构师
专栏设计
为什么接口测试是必修课
接口测试思维

该思维导图由 AI 生成,仅供参考

你好,我是陈磊,欢迎来到我的接口测试课。
我曾经在京东中台工作,经历了京东虚拟平台质量团队从业务驱动到技术驱动的转型过程,我也是整个过程的推动者之一。
我对接口测试的认知,是我在从测试工程师做到测试架构师这个过程中逐渐形成的,因此,我想先和你讲讲我的从业经历,跟你分享一下我和接口测试的缘分。

接口测试思维,给我带来技术与能力的跃升

我在 2009 年硕士毕业后,就成为了一名软件测试工程师。刚入行时,我一直在做功能测试,主要的工作内容就是设计测试用例,然后手动执行。后来在工作中,开始人工回放大量的测试用例,我每天被各种项目的测试用例淹没在电脑前,使用最多的软件就是 Excel。大量重复性的工作让我逐渐失去了目标,那时我认为,测试就是不断地人工点点点的操作,不是一个纯技术的工作。
后来我被自动化测试的浪潮拍醒,开始用 Selenium 自娱自乐地写自动化测试脚本。一开始我还是乐在其中的,刚接手的项目,写好自动化测试脚本后,再次迭代时我只要运行一下测试脚本,等着脚本自己运行结束就可以了。
但随着项目不断迭代,我的 Selenium 脚本越来越难以应付我的测试任务了。最开始我还可以通过它来“偷懒”,到后来,它反而变成了我测试工作中的负担。不维护它,我心里觉得不甘;继续维护它,又平白给自己增加了更多额外任务。那时界面自动化测试的一些问题我都遇见了,例如项目页面变更频繁导致测试脚本维护成本特别高、页面重构导致脚本大面积失效等,诸如此类的问题导致我加班时间越来越长,只能用 996 的工作节奏才能勉强跟得上项目进度。
那时好像也没有极客时间这么好的学习应用,我把碎片时间主要用在了刷技术类微博上。记得有一次偶然的机会,我在一篇微博文章上看到了 Postman 这个做接口测试的小工具,当时它的功能还没有现在这么强大,但我也被它方便、易学、易用的特点吸引了。
我开始把 Postman 应用到我的工作中,从接口测试开始完成我的测试任务,并逐渐积累了很多测试脚本。在使用 Postman 开始接口测试后,我逐渐放弃了 Selenium 的界面自动化测试,也摆脱了加班维护界面自动化测试脚本的困境;同时依靠它强大的功能,也提升了整个项目的测试工作速度,因此在很长一段时间里,我的工作都很轻松,每天都能准时下班。
Postman 这款工具也让我重新思考了测试工作,我开始逐渐体会到,测试工作也是一项技术驱动的工作,测试工程师也是一个技术岗位。
接着在一次工作中,由于被测系统的接口不是 HTTP 协议,我这才发现,Postman 在非 HTTP 协议的接口测试上,已经没有办法发挥任何作用了,于是我开始自己写接口测试脚本,并慢慢将它封装成自己的测试框架。我做的测试框架从我的第一份工作伴随我到现在,已经经历了无数次的迭代,我现在依然还在维护它。
后来,我在京东中台担任测试架构师,主要负责中台的微服务接口测试,以及提高质量效能等工作,我的工作目标就是让机器做完接口自动化测试中费时、费力的事情,这包括测试脚本的开发、测试数据的准备、测试执行以及测试结果收集等一系列工作。
我和几个小伙伴也一起开发了自动的自动化接口测试平台 AAT,我也是 AAT 自动化脚本生成算法的主要设计者之一,并在各种技术峰会上对它的关键算法做过详细介绍。关于它的一些主要思路,我在我们团队一起撰写的《京东质量团队转型实践:从测试到测试开发的蜕变》一书中也有介绍,如果你对它感兴趣,可以去看看这本书。
在京东工作期间,我通过引入算法完成了测试框架的一次完美升级,主要实现了框架自动的编写测试脚本,给出推荐的测试入参数据等特性。但我深知,这些高级功能的实现都离不开我在之前所有工作中形成的接口测试思维,它仅仅是在一些特别的方向上变得更加先进和智能而已。
伴随着我的成长,我的接口测试框架也在不断变得完善,就像武侠小说里那种人剑合一的感觉一样,我的技术和我在共同成长。在这个过程中,我完成了从一个具体的测试代码到一个框架设计的思维转变,拥有了平台设计的思维,并通过不断尝试和探索,完成了智能化测试框架的设计和开发。
从使用工具完成接口测试,到自己写代码完成接口测试,然后慢慢封装自己的框架,最后走到让测试框架更智能的技术路线上,这一路我走了十几年,走过不少弯路,也趟过不少坑。
在这个过程中我最深的感触就是:无论你在工作中参与了一个多么智能的测试平台的设计与开发,还是引入了一个多么强大的自动化测试框架,你首先都要会用最原始的方式完成这件事情,这才是万变不离的宗。在这个基础上,如果你掌握了接口测试思维,那你不只可以快速掌握某一种测试工具来解决问题,更可以打造属于自己的测试框架,最终建造出只属于你自己的终极测试框架。
因此我设计这个课程,就是从接口测试的思维开始,教你把业务测试的思维和接口测试的技术结合到一起,合成接口测试的思维,最终让你拥有接口测试的能力,这种能力既包含了工具的使用、代码的编写同时也包含用例的设计。

为什么说接口测试是你的必修课?

那么在测试中,我为什么要强调接口测试的重要性呢?
从它对项目的影响来说,接口测试直接测试后端服务,更加接近服务器上运行的代码程序,也更能发现影响范围广泛的 Bug。
我记得在《软件测试的艺术》中有这么一句话:“越早发现 Bug,修复的成本越低。”
随着现在中台化、微服务化的发展,一套服务支持多种终端,例如 Android 端、iOS 端、Web 端等,这些服务都是由一套后端服务支持的,上面这句话就可延伸为“越接近底层的 Bug,影响用户范围越广泛”。
就如同你发现了一个 Web 端的界面错误,那么这个 Bug 只会影响 Web 端用户,但是如果后端服务有一个 Bug,这个 Bug 有可能会影响所有用户,无论他是使用电脑还是手机访问我们的系统。而接口测试就是为了后端服务测试而生的,它会保证后端服务的质量,避免这种情况出现。
抛开它对项目的影响,单单从它对你自身的影响来看,你会发现,如今进入任何一个招聘网站,随意点开一个测试工程师的招聘要求,接口测试几乎已经成为测试招聘中一项必备的技能了。
所以作为一名测试工程师,掌握接口测试,并能熟练完成接口测试,无疑对你在求职时和工作中都有很多好处,比如:
增加自己的技能,在找工作时获得更多机会;
通过接口自动化完成接口回归测试,让自己的工作更轻松、更高效;
通过持续集成平台调用接口自动化测试,为流水线提供质量保障方法和手段,赋能研发。

这个专栏是如何设计的?

为了更好地理解和学习接口测试,我来和你说下这个课程的设计思路。
我把整个专栏的内容分成了三大模块,分别是初级技能篇、综合技能篇和进阶技能篇。
初级技能篇。在这里我会带你重新认识接口和接口测试,了解接口测试都包含哪些测试活动,教你如何由测试工程师主导、整理接口测试需要的输入条件。我也会带你合成接口测试技术和业务测试知识,让你形成接口测试思维。
综合技能篇。在这里我会教你如何从流水账式的接口测试脚本,一步步抽象出属于自己的接口测试框架。这样随着课程的深入,你会建立一套自己的接口测试框架,也会同时完成从接口测试到接口自动化测试的转变。最后,我还会告诉你一种借力打力的方法,借助工具的优势,弥补测试框架的缺陷。
进阶技能篇。在这里我会教你如何利用测试工程师的思维,开始并顺利完成一个陌生的协议接口的测试任务,同时将它加入到自己的测试框架中,不断提升它的测试能力。测试框架是你强大的武器,框架数据层的封装则是你的弹药库。所以最后我会教你完成外部依赖解耦的方法和思路,保证你能顺利完成测试任务,并不会因为遇见不靠谱的队友而迟迟无法交付。
测试行业是一个技术驱动的行业,而在测试的工作内容中,接口测试又是一项基础技术能力。
我相信在我们一起学习的这段时间里,我会和你一起学习这项基础技能,我会将你带入一个通向更有价值、更有满足感的任务中,让这个过程中赋予你接口测试的思维和技能;当你完成这个专栏的学习后,你也会带走有你个人标签的接口测试框架,这些都会让你这个行业里身价倍增。
纵观接口测试的发展,这一项技术在最近两年才上了快车道,所以现在上车,你并不算晚。最后,欢迎你在留言区写下你的工作经历,以及你对接口测试的看法;也欢迎你先为你自己的接口测试平台起一个名字,并在留言区先立下自己的目标,我们一起在这个专栏,与一群志趣相投小伙伴相互督促,相互鼓励,一起学习进步,我相信在学习完所有课程后,你一定会顺利完成你的目标!
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

接口测试在软件开发中扮演着重要角色,陈磊分享了他在接口测试领域的成长经历和思考。他介绍了自己从功能测试到接口测试的转变,以及在使用不同测试工具过程中的体会。强调了接口测试思维对技术能力的提升,并分享了在接口测试框架设计和智能化测试方面的经验。指出接口测试对项目的重要性,特别是在微服务化的背景下,能更早发现并修复Bug,降低修复成本,对测试工程师的就业和职业发展也具有重要意义。文章分为初级技能篇、综合技能篇和进阶技能篇,通过作者的亲身经历,阐述了接口测试的技术特点和重要性,对读者了解接口测试的意义和发展方向具有一定的启发作用。

2020-02-0389人觉得很赞给文章提建议

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《接口测试入门课》
新⼈⾸单¥29
立即购买
登录 后留言

全部留言(127)

  • 最新
  • 精选
  • Y024
    接口测试,推荐大家了解一下去哪儿开源的 YApi https://github.com/YMFE/yapi

    作者回复: 谢谢您的推荐,YApi是个不错的api测试平台

    2020-02-03
    7
    49
  • 正伟
    推荐大家我开发的接口文档和测试的工具,写好接口文档,自动完成接口测试。无需开发环境,直接安装就可以用。https://github.com/arlicle/panda-api

    作者回复: 厉害厉害,加油,我已经star了你的项目了

    2020-03-25
    30
  • Em
    刚毕业应聘了测试开发工程师,想请问这和测试工程师最大区别是什么呢?

    作者回复: 您好,你这个问题是一个我认为不好回答的问题,那么我从我自己的认知给你进行下说明,这又可能并不是行业内都能普遍认可的说法。 1、测试开发工程师,在当今有两个含义,一种是做测试自动化脚本的工程师,另外一种是在测试部门的开发工程师。那么第一种是将业务测试逻辑用自动化代码或者自动化工具等的形式表现出来,便于再次回归的时候,避免人的重复劳动。第二种就是为测试工程师打造一系列测试工具、测试平台的工程师,他们还是开发工程师,仅仅是服务在测试部门而已。 那么测试工程师,当前应该就是业务测试工程师,那么这在很多公司有可能有一个很显著的区别,和一个普遍的共同点,那么先说共同点,就是大家参与需求评审、case的设计、case执行完成业务测试,保障交付质量;区别就是有些公司把业务逻辑的自动化测试代码开发任务归到业务测试工程师的职责也就是测试工程师的职责,也有些公司将自动化测试脚本开发归为测试开发工程师的任务,测试工程师不做对应工作。 但是测试工程师和测试开发工程师并没有高低贵贱之分,他们仅仅是因为测试职业的细分而存在的两个不同的方向的角色而已,但是测试工程师并不是不懂代码的借口。

    2020-07-19
    20
  • 吃草🐴~
    之前在写接口的时候就经常会被测试“怼”,当时工作比较忙,很少会从测试的角度来考虑问题,我最后就是他们要啥我就去实现。 由于公司不大,我在公司是传说中的全干程序猿,所以我也经常用 Postman 去自测接口。这节课和陈老师一起学习学习接口测试思维,看他们怼我怼得有没有道理~没道理我可是要怼回去的~🤔🤔

    作者回复: 谢谢您,希望课程中我们一起学习进步,也希望开发和测试变成一个合作team,互相促进,最终为高质量交付物而共同努力!

    2020-02-03
    7
    12
  • Geek_71b98d
    专科毕业 ,做了6年功能测试 ,接口也是粗略的测试一下 ,很多公司都要求会自动化 ,但是招进去之后根本不用 ,每天都是大量的点点点 ,以前会的一点技能慢慢忘掉了 最惨的是工作一年比一年难找

    作者回复: 加油

    2020-04-21
    9
  • 一默
    老师,您好。请问如何确定接口测试中参数化的参数范围?谢谢

    作者回复: 您好,谢谢您。接口参数的设计方法还是要使用我们软件测试的case设计方法来设计的,例如边界值法、场景法、因果图法等等

    2020-02-03
    2
    9
  • 第二姑娘
    功能测试3年,安全测试1年,最近在用postman进行接口测试,初步接触,很多不懂的,请老师多多指教,希望能有收获

    作者回复: 谢谢您,希望您在课上和我一起学习到一些不同的思维,接口测试考虑的方式有业务测试的内容,也有一些代码方面的考虑因此我相信您会有不一样的体会,尤其你有安全方面的经验会更有利于接口测试的深入

    2020-02-03
    2
    8
  • null
    我是一枚后端开发小哥,希望通过专栏的学习,培养测试思维,能够通过测试覆盖促使编写高质量代码,完成高质量的交付。

    作者回复: 谢谢您的支持,希望在我们一起学习的日子里,你能有所得。

    2020-02-05
    6
  • 快乐的五颗星
    陈老师的课程很及时,今年是我从资深业务测试转型到技术测试的第一年,第一个实践就是接口测试的落地,以前有一些初步的探索,这次要形成系统的接口测试体系,跟紧陈老师的脚步,认真学习!

    作者回复: 谢谢您

    2020-02-05
    5
  • 张媛
    老师你好,我目前做了一年多功能测试,今年让我们使用httprunner开始做接口测试了,基本都是串接口的主流程功能测试,由于不太了解接口测试,感觉用httprunner实现接口都是套路,只要了解了如何用就都会了,想知道下还有没有别的能够提升的方面?

    作者回复: 看看httprunner的代码,你会有更深入的理解,在用的过程中发现有些不好用的痛点,就开始尝试去修改,你会变的技术能力更强大。

    2020-06-07
    4
收起评论
大纲
固定大纲
接口测试思维,给我带来技术与能力的跃升
为什么说接口测试是你的必修课?
这个专栏是如何设计的?
显示
设置
留言
99+
收藏
99+
沉浸
阅读
分享
手机端
快捷键
回顶部