首页 题库 公司真题 专项练习 面试题库 在线编程 面试 面试经验 AI 模拟面试 简历 求职
学习 基础学习课 实战项目课 求职辅导课 专栏&文章 竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客973033437号 2022-09-29 19:48 华东师范大学 自动化测试 发布于湖南 关注 已关注 取消关注 接口测试是什么?为什么要做接口测试? 前言 接口测试现在已经成为测试工程师的必备技能 我是常常安利身边的工程师一定要精通接口测试,注意,这里是精通,不是知道或了解。原因很简单,你点开招聘网站上各大公司对于测试工程师的要求,就能看到接口测试已经成为测试招聘中一项必备的技能了。 一、基础介绍 1、什么是接口 我们常说的接口一般指2种 1)API:应用程序编程接口 2)GUI:图形用户界面(接口) 这里我们主要说API——接口测试 2、接口测试的目的 测试接口的正确性和稳定性(持续集成是接口测试的核心) 3、接口测试的原理 模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收应答的一个过程。 4、接口测试的重点 检查数据的交换,传递和控制管理过程,还包括处理的次数 5、接口测试用例设计 接口测试对象主要为接口,但随着系统复杂度越来越高,接口越来越多,完全覆盖是一件很困难的事情,且实际过程中任意接口的变动都可能导致我们接口测试用例不可用, 所以通常情况下主要测试最外层的两类接口:数据进入系统接口(调用外部系统的参数为本系统使用)和数据流出系统接口(验证系统处理后的数据是否正常)。 PS:设计用例时还需要注意外部接口提供给使用这些接口的外部用户什么功能,外部用户真正需要什么功能。 6、接口测试的优点 天生为高复杂性的平台带来高效的缺陷监测和质量监督能力;平台越复杂,系统越庞大,接口测试的效果越明显(提高测试效率,提升用户体验,降低研发成本) 二、接口分类及分析方法,测试重点 1、功能分类 1)功能间接口:系统***能模块间的接口,比如:ERP系统中采购模块和库存模块之间的接口 特点:一般部署在同一个服务器中,并且使用同一个数据库 测试方法:通常采用黑盒测试方法,注意接口数据在不同模块间的走向;尤其是接口间的逻辑控制关系 例如:销售发货,检查库存可用量,如可用量不足,则不允许发货 2)系统间接口:不同系统间的接口,比如:银行的各个系统间的接口。核心系统和各个外围系统之间都是此类接口 特点:部署在不同服务器上,不仅采用不同的数据库,而且数据库类型还有可能不同 测试方法:通常采用白盒测试方法,关注系统间接口的实现方式 例如:接口文件类型、接口文件格式、接口文件处理方式等 2、类型分类 1)业务接口:系统或功能间有业务逻辑关系,比如:ERP系统中,采购入库后,会生成库存入库单,影响可用量等,也可称为:联机接口 特点:接口间有业务逻辑的上下游关系,可能会涉及跨系统或者模块的逻辑控制,以及反向操作 测试方法:通常黑盒测试方法,注重分析业务逻辑,采用路径覆盖法分析,重点:注意正向反向操作的测试 2)数据接口:接口数据有上下游关系,比如:企业征信系统,要通过数据交换平台获取核心系统的数据,也可称为:批量接口 特点:系统间只存在数据的上下游关系,而且都是进行批量处理 测试方法:通常采用白盒测试方法,关注数据的文件格式,以及记录数及内容是否正确,还要考虑数据加密问题 3、数据方向分类 1)单向接口:数据在接口中是单向流动,但根据实现方式分为单项推或单项取 比如:数据仓库和各系统间的接口基本都是单项的,一方面前端系统向数据仓库推送数据,一方面后端系统从数据仓库取数据仓库提供的数据 特点:不管是单向推还是单项取,都会有一个FTP地址,存放指定数据文件,并且有定时存取规则,可从日志中查看结果 测试方法:通常采用黑盒白盒结合的测试方法,着重数据文件格式,是否按照规则存取等 2)双向接口:两个系统间的数据有往来,比如:综合报文处理系统和核心系统,从何报文处理系统即接受核心系统发送的数据,又要将处理结果反馈给核心系统 特点:可以将不同数据方向的接口分开分析,当做两个单项接口,注意来往数据通常具有关联性 测试方法:通常采用黑盒白盒结合的测试方法,注重来往数据的关联性,合理设计测试数据,制定测试执行计划 4、数据读写方式分类 1)单独读写接口:数据在接口中不仅单项流动,而且都是读或者写的单独操作,比如:前面提到的各系统和数据仓库的数据交换 特点:与单项接口相似 测试方法:黑盒白盒相结合的方法,注意读写的权限,以及单接口功能未正常实现时,系统是否有异常处理机制 2)即读又写接口:系统间接口处理时,即读取又写入,比如:贷款合同管理和核心系统,先读取核心系统中的合同信息,添加合同成功后,又将合同编号回写到核心系统中 特点:一般都是业务类接口,非数据类接口,并且都有逻辑控制的要求 测试方法:通常采用黑盒测试方法,注意业务逻辑控制,不仅要检查读取的数据是否正确,还要检查回填数据是否正确 5、层级分类 1)直接(联机)接口:系统或模块间的接口是直接联通的 特点:直接联通 测试方法:黑盒白盒相结合的方法,根据接口特征分析即可 2)间接(非联机)接口:系统间接口不是直接联通,通过第三方中转后,才进行连接,比如:综合报文系统和核心系统,中间隔着一个ESB 特点:接口间的中间层,会进行处理,才会将数据发送到接口系统,这个不会涉及业务逻辑,只是数据格式转换 测试方法:黑盒白盒相结合的方法,可直接忽略中间层的存在,设计测试用例;但出现问题时,一定要注意中间层处理是否正确,并且,测试中间层异常时,系统处理是否正确 三、为什么要做接口测试 1、现在很多系统前后端架构是分离的,因为不同端(前段,后端)的工作进度不一样,所以我们要针对最开始出来的接口,以及需要调用其他公司的(银行,支付宝,微信,qq等)一些接口进行接口测试及验证数据,从安全层面来说,只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前端太容易了), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。在这种情况下就需要从接口层面进行验证。前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。 2、如今系统越来越复杂,传统的靠前端测试已经大大降低了效率,而且现在我们都推崇测试前移也叫测试左移,希望测试能更早的介入测试,那接口测试就是一种及早介入的方式。例如传统测试,你是不是得等前后端都完成你才能进行测试,才能进行自动化代码编写。 而如果是接口测试,只需要前后端定义好接口,那这时自动化就可以介入编写接口自动化测试代码,手工测试只需要后端代码完成就可以介入测试后端逻辑而不用等待前端工作完成。 测试左移这个是一次偶然的机会在群里看到的,孤陋寡闻的我,第一次看到,也是一知半解,后来查了一些资料供大家参考。 测试左移的原则支持测试团队在软件开发周期早期和所有干系人合作。因此他们能清晰地理解需求以及设计测试用例去帮助软件“快速失败”,促使团队更早的修改所有的bug。 测试左移并没有什么独特的,只是让测试人员在软件开发生命周期内更早的参与进来,同时让他们去理解需求、软件设计、软件架构以及软件功能,也让他们去向客户、商业分析师和开发人员问问题,寻找答案,提供反馈结果已达到支持团队的工作得可能性。参与和理解会使测试人员获取产品完整的知识,彻底想清楚各种场景,根据软件行为设计实时的场景,这些都会帮助团队在编码完成之前识别出一些缺陷。这样也可以更好的的体现我们作为一个QA的价值体 简单概括: ①.越底层发现bug,它的修复成本是越低的。 ②.前端随便变,接口测好了,后端不用变,前后端是两拨人开发的。 ③.检查系统的安全性、稳定性,前端传参不可信,比如京东购物,前端价格不可能传入-1元,但是通过接口可以传入-1元。 ④.如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。 ⑤. 接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。 ⑥. 现在很多系统前后端架构是分离的,从安全层面来说: (1)、只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。 (2)、前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。 四、怎么做好接口测试 1、接口正确性是双方保障,都要进行测试 2、根据接口类型,合理进行测试分析,注意测试重点 3、注重业务逻辑分析,包括正向反向操作 4、注重数据文件检查 五、接口测试的工具 可以进行接口测试的工具很多,这里简单介绍几个: 1、loadrunner:一款商业性能测试工具,用来做接口测试,很好很强大 2、jmeter:一款开源的性能测试工具,操作简单,方便,既有jdbc request操作数据库数据,也有http request和soap request应对测试 3、poster:火狐浏览器自带接口测试工具,插件中安装即可,界面简单明了,容易上手 4、postman:谷歌浏览器的扩展工具,谷歌商店中选中安装,界面同poster差别不大,界面简洁 5、soapui:开源测试工具,通过soap/http来检查、调用、实现Web Service的功能/负载/符合性测试; 该工具既可作为一个单独的接口测试工具使用,也可利用插件集成到Eclipse,maven2.X,Netbeans 和intellij中使用。 写在最后 以保证系统的正确和稳定为核心,以持续集成为手段,提高测试效率,提升用户体验,降低产品研发成本,关注持续集成是接口测试的灵魂,否则接口测试带来工作量会成指数增长! #测试##测试工程师##软件测试##测试开发##经验分享# 提示 订阅专刊 全部评论 推荐最新楼层 楚望云归 北京大学 Java 这下明白了,谢谢分享 1 回复 分享 发布于 2022-10-24 14:44 山西 暂无评论,快来抢首评~
相关推荐
10-11 16:11 门头沟学院 Java 作业帮 Timeline 一面:9月13日二面:9月26日HR 面:10月10日HR 面第二天官网流程状态转为面试都已完成一面:实习 + 常规八股 + 三道算法题二面:实习 + 场景 + 一道算法HR 面:常规HR面,问了下手里还有哪些 26届秋招投递记录 点赞 评论 收藏 分享 昨天 20:59 中国科学技术大学 Java 本硕双九,已经开始绷不住了 我目前研二,本来的科研方向是深度学习中的一个很小众的领域,所以我这学期打算自学些技能,很纠结目前,希望能有大佬提供些建议,谢谢了。我本硕专业都是信通方向的,没有论文没有实习,目前在转开发和大模型算法之间纠结。学开发是觉得可以明年秋招找机会去银行之类的国企,然后完成后端学习后计划学习agent方面的内容,但是从目前学了两星期的情况来看,相比于计算机或者软工的人实在没有竞争优势,奈何我心中计较喜欢银行科技岗。学大模型算法是感觉目前市场对这种岗位需求比较大,虽然竞争也同样激烈,我大致了解了下大模型的技术,发现和我原本科研的内容也有些相似,如果学习的话上手应该也快一些,至少不会像开发一样零基础,但是学... 想实习转正,又想准备秋招... 点赞 评论 收藏 分享 10-04 05:12 北京大学 算法工程师 为啥0面试啊 瑞雪兆丰年_:可以贴个超级大的校徽,以防HR眼拙 点赞 评论 收藏 分享 10-13 11:20 山东师范大学 C++ 虎牙三面完,腾讯系就是舒服 面试官问能不能提前实习可恶字节十轮全挂😖😖 Ncsbbss:宝宝你到家了吗 我的秋招日记 点赞 评论 收藏 分享 10-10 20:31 北京体育职业学院 Java 七牛云路演 有没有uu参加下周深圳的路演,会问什么鸭 点赞 评论 收藏 分享 评论 点赞成功,聊一聊 >1 33 分享 评论 提到的真题
返回内容
招聘动态
查看更多
华泰证券
2026届Fintech校园招聘
麦吉太文
2026校园招聘
理想汽车
2026届校园招聘
未岚大陆
2026届校园招聘
新华三
2026秋招校园招聘
猿辅导小猿AI智能硬件
2026届校园招聘
厦门银行
2026届秋季校园招聘
巨人网络
26届秋季校园招聘
字节跳动火山引擎
2026校园招聘
滴滴
2026届秋季校招
全站热榜 更多 1 ... 面试最后的反问环节,能问些什么?(附特供问题) 1.1W 2 ... 从面试官的角度看待一场面试是怎么样的? 1.0W 3 ... 最近面试回答不出来的题 7345 4 ... 害,找工作哪有不上当的! 5825 5 ... 从摆烂到OC,嵌入式人的血泪史 4232 6 ... 作为普通家庭出身的我,为什么非大厂不可? 3830 7 ... 双非硕的十月份秋招总结 3738 8 ... 找到靠谱的公司,少走些弯路 3228 9 ... 项目经历混乱?STAR法则手把手教你梳理(附真实案例分析过程) 2612 10 ... 腾讯客服-一、二、三、四、五与六面面经(录用评估中) 2585 创作者周榜 更多 正在热议 更多 # 实习在多还是在精 # 10937次浏览 127人参与# 反问环节如何提问 # 109084次浏览 2136人参与# 爱玛科技集团求职进展汇总 # 31836次浏览 212人参与# 你见过哪些工贼行为 # 6951次浏览 49人参与# 我的求职进度条 # 5967次浏览 89人参与# 找工作中的小确幸 # 17604次浏览 165人参与# 实习下班不想学习,正常吗? # 8349次浏览 112人参与# 运营每日一题 # 103058次浏览 865人参与# 秋招踩过的“雷”,希望你别再踩 # 35058次浏览 467人参与# 设计人的面试记录 # 156591次浏览 1513人参与# 校招谈薪一定要知道的事 # 6463次浏览 82人参与# 远程面试的尴尬瞬间 # 192561次浏览 1253人参与# 你觉得什么岗位会被AI替代 # 9659次浏览 131人参与# 工作中,努力重要还是选择重要? # 201713次浏览 2049人参与# 顺丰求职进展汇总 # 60552次浏览 298人参与# 选完offer后,你后悔学机械吗? # 40278次浏览 243人参与# 面试时最害怕被问到的问题 # 629680次浏览 8599人参与# 社会教会你的第一课 # 106096次浏览 853人参与# 浪潮求职进展汇总 # 18506次浏览 140人参与# 实习生应该准时下班吗 # 291428次浏览 1612人参与# 实习最想跑路的瞬间 # 83031次浏览 527人参与
刷真题、补算法、看面经、得内推
扫一扫,把题目装进口袋
移动版
关于我们 加入我们 意见反馈
企业服务
校企合作 联系我们 免责声明 友情链接 资源导航
付费咨询
扫描二维码,进入QQ群
扫描二维码,关注牛客公众号
公司地址:北京市朝阳区北苑路北美国际商务中心K1座一层-北京牛客科技有限公司
联系方式:010-60728802 投诉举报电话:010-57596212(朝阳人力社保局)
牛客科技©2025 All rights reserved
admin@nowcoder.com 京ICP备14055008号-4 增值电信业务经营许可证 营业执照 人力资源服务许可证 京公网安备 11010502036488号