51Testing独家连载:接口测试方法论

发表于:2022-8-03 09:27

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:陈磊    来源:51Testing软件测试网原创

  前言
  2006年到2009年,我在研究生实验室第一次接触到软件测试,看到实验室的师兄师姐们基于TTCN3做的测试套件的演示就觉得很特别。我还在研究生实验室第一次接触了基于MSC(MessageSequenceChart,消息序列图)的测试代码生成技术。当时,我就对这种从UML(UnifiedModelingLanguage,统一建模语言)图形到代码的方式很着迷。毕业后,我成了一名软件测试工程师,刚入行时,我一直在做功能测试,工作的主要内容就是设计测试用例,然后手动执行。随着工作的不断深入,我逐渐接触到Postman之类的接口测试工具,这让我开始对接口测试产生了浓厚的兴趣。后来,我在京东中台担任测试架构师,主要负责中台的微服务接口测试以及提高质量效能等工作。我的工作目标就是让机器完成接口自动化测试中费时费力的事情,包括测试脚本的开发、测试数据的准备、测试的执行以及测试结果的收集等待等工作。
  在京东,我和所在的团队一起开发了自动化接口测试平台AAT。此外,我也是AAT自动化脚本生成算法的主要设计者之一,我曾在各种技术峰会上对其关键算法做过详细介绍。伴随着我的成长,我对接口测试的认识也在不断完善,就像武侠小说里那种“人剑合一”的感觉,我的技术和我在共同成长。在此过程中,我完成了从具体的测试代码到框架设计的思维转变,拥有了平台设计的思维,我还通过不断尝试和探索,完成了智能化测试框架的设计和开发。从使用工具完成接口测试,到自己写代码完成接口测试,再到慢慢封装自己的框架,直到走上让测试框架更智能的技术路线,我用了十几年,其间我走过不少弯路,也踩过不少坑。
  一路走来,我逐渐理解了自动化接口测试的本质。自动化接口测试是指能够自动完成接口测试执行的活动,包含接口测试和自动化执行两方面。其中,接口测试是指在依托测试技术模拟协议客户端(这里的客户端是协议层访问客户端,既可表现为客户端系统,也可表现为以微服务的调用发起方等任何包含协议发起方代码或实现的系统或软件)行为的基础之上,按照测试用例设计方法完成接口入参的设计,然后与被测服务器交互并验证结果是否满足预期的测试行为;自动化执行是指能够提供按迭代、定时及按需方式完成无人或很少有人直接参与的测试活动。除这些基本功能之外,随着自动化测试技术的发展,自动化接口测试中的接口逻辑模拟、测试数据设计、断言操作、测试缺陷自动提交、误报缺陷自动过滤等无人或很少有人参与的功能越来越多,从而使质量效能的提升有了多种优秀的实践方案。
  本书融入了我从研究生实验室开始对测试的认识,到参加工作后的十几年里对持续测试的深入理解。本书从接口测试的思维建立开始,把业务测试的思维和接口测试的技术结合在一起,形成接口测试的思维,让每一位读者都拥有接口测试能力,这种能力既包含工具的使用、代码的编写,也包含用例的设计。读者将能够通过接口测试的思维方式理解持续测试,并通过一些质量门禁的设计完成质量效能的流水线配置,这样既可以完成流水线的交付,又可以保障交付制品的质量。读者还将能够通过测试左移和测试右移来完成持续测试的落地。
32/3<123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号