介绍
上一篇文章我们跟大家科普了一下接口之后,了解了什么是接口、接口类型等,有了一个大概的了解之后,我们又回到了正题——接口测试。
什么是接口测试
接口测试是测试系统组件之间接口的一种测试。接口测试主要用于检测外部系统与系统之间、内部子系统之间的交互点。测试的重点是检查数据的交换、传输和控制管理流程,以及系统之间相互的逻辑依赖关系等。
一般来说,测试接口是指测试接口的功能、性能和稳定性,当然也可能还有安全测试。这个介绍性系列将使您能够掌握接口的功能测试。一般来说,我们听到的接口基本都是指HTTP或者协议接口测试,也就是一些Web服务请求。在一个软件项目中,
接口很多,少则几十,多则几百、几千。此时我们还没有软件界面,没有具体的测试场景,只有一个界面描述文档。我们需要使用接口这样抽象的东西,通过软件测试理论和方法来测试接口,找出接口的功能和安全缺陷。接口包括内部接口和外部接口
界面。内部接口是开发者自己开发的接口。外部接口,例如调用微信支付、支付宝支付接口的网站。模块之间也有接口。任何学过或者使用过Java的人都应该对接口有所了解。您的自动化脚本调用很多接口。
为什么我们需要进行接口测试?
1、现在很多系统的前后端架构是分离的,因为不同端(前端、后端)的工作进度不一样,所以我们要重点关注出来的接口一开始,以及需要被其他公司(银行、支付宝、微信、qq等)调用的一些接口进行接口测试和验证数据。从安全角度来看,
仅仅依靠前端进行限制是完全无法满足系统的安全要求的(绕过前端太容易了)。后端也需要控制。这种情况下就需要在接口层面进行验证。这种情况下就需要在接口层面进行验证。还要求前后端传输、日志打印等信息是否加密传输。
需要验证的,尤其是涉及用户隐私信息的,比如身份证、银行卡等。
2、现在系统越来越复杂,传统的前端测试大大降低了效率。而且现在我们都提倡测试向前推进,也叫测试左移。我们希望测试能早点参与测试。接口测试是早期测试的一种。干预方式。比如,传统测试中,是不是要等到前后端都完成之后,才能进行测试和自动化编码?
写。如果是接口测试,只需要在前后端定义好接口,然后自动化就可以介入编写接口自动化测试代码。手动测试只需要后端代码完成,不需要等待前端工作完成就可以介入测试后端逻辑。
测试左移 我在群里偶然看到了这个。由于无知,第一次见到,不太了解。后来我查了一些资料,供大家参考。
左移测试的原则使测试团队能够在软件开发周期的早期与所有利益相关者进行协作。因此,他们可以清楚地了解需求并设计测试用例来帮助软件“快速失败”,促使团队更早地修复所有错误。
左移测试没有什么独特之处。它只是允许测试人员更早地参与软件开发生命周期。同时,它使他们能够了解需求、软件设计、软件架构和软件功能,也使他们能够与客户和业务分析师进行沟通。提出问题、寻找答案并向开发人员提供反馈以支持团队的工作。参
遵守和理解将使测试人员能够获得对产品的完整了解,深入思考各种场景,并根据软件行为设计实时场景。这些将帮助团队在编码完成之前识别一些缺陷。这也可以更好地体现我们作为 QA 的价值体系
金字塔模型
通过之前对金字塔结构的学习,我们大致了解了金字塔模型想要告诉我们的几个原理:
1、越低越稳定。
金字塔的主要观点是单元测试稳定性高,需要更多的投入。
2. 越低,效率越高。
程序问题最终会落在具体代码上,因此通过底层测试更容易发现问题。
3.等级越低,成本越低。
测试级别越低,问题就能越早发现。越早发现问题,修复的成本自然就越低。
4、级别越低,实施难度越大。
实施水平越低,对技术专长的要求就越高。这与第三点有些矛盾。更多的专业人才往往意味着更高的劳动力成本。
基于金字塔模型,随着前后端分离越来越清晰,以我的拙见,我提出了灯笼模型。我将接口测试与 UI 层测试和单元测试进行了比较。从图中可以清楚地看到各部分的比例。人们发现并最终确定接口(API)测试可以提供更高的投资回报。
灯笼模型
本人拙见,如有错误,敬请批评指正:
接口很好的分离了前端和后端,帮助前端和后端实现数据交互。这样,在项目前期就可以和前端工程师讨论需要的后端数据,然后后端根据需求开发后端接口,并将数据返回给前端。前端。测试人员提前进入测试界面,前后端开发各自的模块。
项目迁移,以及后期维护,接口带来的便利,想象一下如果在没有项目交付后,后端人员在发布之前修改了数据库中某个字段的长度和类型,但由于某种原因没有发布及时通知前端工程师,此时前端获取到的字段类型和长度都是之前的,可能会造成线上事故。喜欢
如果前端技术优秀,存储采集领域是一个变量,工作量相对较小。您只需要更改变量类型和长度。如果是一个几乎没用的变量,几百个前端页面都使用这个字段,后果不堪设想,但是用接口就没有问题。同样的,如果出现类似的情况,后端人员只需要
通过接口处理这个字段,只要保持返回的字段一致就足够了,这只是几分钟的事情,而且可能会在用户没有注意到的情况下修复。而且前端、后端、测试也非常容易排查问题。如果运行该接口并检查接口文档返回数据是否有差异,则直接修复该接口即可。这将大大提高处理问题的效率。
简要总结:
①.发现的错误越低,修复成本就越低。
②.前端可以随意改,界面已经测试过。后端不需要改变。前端和后端是由两批人开发的。
③.检查系统的安全性和稳定性。前端参数不可信。比如在京东购物,前端价格是不可能传-1元的,但是可以通过接口传-1元。
④.如今系统复杂度不断上升,传统测试方法的成本急剧增加,测试效率大幅下降。接口测试可以在这种情况下提供解决方案。
⑤.界面测试相对容易实现自动化持续集成,并且相对UI自动化来说也相对稳定。可以减少手动回归测试的人力成本和时间,缩短测试周期,支持后端的快速发布需求。接口的持续集成是低成本高利润的根本原因。
⑥.现在很多系统的前后端架构都是分离的。从安全角度来说:
(1)仅仅依靠前端进行限制是完全无法满足系统的安全要求的(绕过前端太容易了)。后端也需要控制。这种情况下就需要在接口层面进行验证。
(2)前后端传输、日志打印等信息是否加密传输也需要验证,特别是涉及用户隐私信息,如身份证、银行卡等。
本文版权归作者及博客园所有。来源网址:欢迎转载。但未经作者同意,转载文章后,必须在文章页面明显位置提供作者及原文链接。否则,我们保留追究法律责任的权利!