2026/2/11 6:40:59
网站建设
项目流程
企业管理系统哪家好,北京网站优化合作,安徽兴罗建设集团网站,制作网站软件教程前言接口测试现在已经成为测试工程师的必备技能我是常常安利身边的工程师一定要精通接口测试#xff0c;注意#xff0c;这里是精通#xff0c;不是知道或了解。原因很简单#xff0c;你点开招聘网站上各大公司对于测试工程师的要求#xff0c;就能看到接口测试已经成为测…前言接口测试现在已经成为测试工程师的必备技能我是常常安利身边的工程师一定要精通接口测试注意这里是精通不是知道或了解。原因很简单你点开招聘网站上各大公司对于测试工程师的要求就能看到接口测试已经成为测试招聘中一项必备的技能了。一、基础介绍1、什么是接口我们常说的接口一般指2种1API应用程序编程接口2GUI图形用户界面接口这里我们主要说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的功能/负载/符合性测试该工具既可作为一个单独的接口测试工具使用也可利用插件集成到Eclipsemaven2.XNetbeans 和intellij中使用最后作为一位过来人也是希望大家少走一些弯路在这里我给大家分享一些软件测试的学习资料这些资料希望能给你前进的路上带来帮助。视频文档获取方式这份文档和视频资料对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库这个仓库也陪伴我走过了最艰难的路程希望也能帮助到你以上均可以分享点下方小卡片即可自行领取。