什么是接口?
我扒遍了各种相关名词解释和百科词条,发现关于接口的解释还真是多种多样,这里我只列出一个相对更客观更通用的定义,虽然听起来也很别扭。
接口,泛指实体把自己提供给外界的一种抽象化物,用以由内部操作分离出外部沟通方法,使其能被内部修改而不影响外界其他实体与其交互的方式。
通俗点说,能够把某个硬件或软件模块封装起来供外部使用,都可以称之为接口,可以存在于所有的软硬件设备之间。
我们在生活中无时不刻不在使用各种接口,比如我们乘坐电梯里面的按钮就是一个接口,我们开车一个踩油门它也是一个接口,我们计算机操作系统中也有很多接口。
在IT行业中,我们通常所说的接口指的都是API软件接口,即ApplicationProgrammingInterface,应用程序接口,简称API。本文中后面的部分中提到的接口都是指API接口。
对于API接口来说,使用者只需要关心输入和输出,不需要了解接口内部的具体实现逻辑。
我们工作中常见的接口可以分为两类:
系统内部的接口:同一个系统内部不同模块、不同服务之间的调用如系统内部注册、登录接口的调用,查询订单、JDBC接口调用等。
系统外部的接口:不同系统甚至不同公司之间的接口调用如同一公司的系统A和系统B之间的调用,第三方登录时调用外部公司的微博登录、微信登录接口等。
软件测试模型
我们看一下针对接口的测试位于软件测试模型中的位置。
关于测试模型,最出名的就是测试金字塔模型。
测试金字塔的概念是由敏捷开发大师MikeCohn首先提出的,主要包含以下几点:
把软件测试分为UI界面测试、接口测试、单元测试三层结构应该进行更多的单元测试,而不仅仅是通过用户界面运行的测试单元测试稳定性更高、更高效
但是在实际工作中,单元测试对技术专业性要求更高,很多情况下都是由开发来实施。虽然单元测试能够尽早的发现问题,减小修复成本,但对测试人员的高要求也意味着更高的人力成本,所以对接口测试层的投入显得更加高效、成本更低。
结合实际现状,对接口测试和UI层测试以及单元测试进行了比较,最终认定接口测试可以获得更高的投资回报,所以有了金字塔模型的改进版–橄榄模型:
接口测试的意义
更早的发现问题
随着敏捷测试的盛行,我们都知道测试工作要尽早的介入到项目开发周期中,因为越早的发现bug,修复的成本就越低。
然而功能测试一般都要等到系统提供可测试的UI界面后才能进行,单元测试又要求较高的专业性和人力成本,所以选择接口测试来更早的介入测试。
接口测试可以在功能界面未开发出来之前对系统的接口进行测试,从而更早的发现总是并以更低的成本修复问题。
缩短产品周期
接口测试更早的介入,可以更早的发现并解决bug,从而使得留到后期功能测试阶段的bug数量减少,最终缩短整个项目的上线时间,有助于实现敏捷测试。
发现更底层的问题
系统中的有些bug如果想通过UI层功能测试会比较困难,或者构造测试数据和测试条件非常复杂,而通过接口测试可以更简单、更全面的覆盖到底层的代码逻辑,从而发现一些隐藏bug。
尤其是一些异常的、极端的情况,可以用接口测试很容易的验证。
接口测试策略
接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。
测试的重点是检查数据的交换、传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
具体来说,就是根据测试文档编写测试用例,执行测试,查看不再的参数请求接口时返回的数据是否符合预期,跟普通的测试没太大区别。
接口测试策略包括接口功能测试、接口性能测试和接口安全测试三方面,具体测试点包含但不局限于如下内容:
关于接口测试工具也有很多,常用的有postman、soapUI、jmeter等,具体使用方法都不复杂,后面有时间再一一详述。
这篇文章测重于对接口理论知识的理解,给出的只是方向性的指导,没有详细的具体实践,所以肯定还有同学不知道该怎么办,不过没关系呀,这都是正常的,关于接口测试的内容非常多,也不是一两篇文章能够全部讲完,最重要的是先知道大概的方向,然后就去大胆实践,在做的过程中成长最快。
文章为作者独立观点,不代表股票量化交易软件接口观点
量化数据接口2023-06-19
所以这文章也看的我懵逼了。本币贬值一般利好实体和股票。被文章说得不知判断逻辑是什么。振翅2022-08-18
大盘指数遇阻3295之后分时走低,但下跌的时候缩量,所以预计调整幅度不会很大,减速之后走横向震荡的可能性较大,现在轮动行情,一些股票可能会有一段时间的横向蓄势,风水轮流转趋势不破要有耐心,今天早市的冲涨是带量的,午后的回落是缩量进行的,因此还是冲高遇阻后的休整行情,回踩到支撑位后还有机会向上回收。c-Note2022-08-11
就A股这市场,一年好不容易有几天涨的还是涨指数不涨股票,真没几个赚钱的。就算好不容易赚了点,不小心一天就还回去了。量化策略工资2022-07-03
那你解释下30日为什么会突然跌停?主力资金肯定是比股票能提前知道消息的,主力既然提前卖出说明一定有雷,只是可能目前还没爆出来而已。梦洛2022-05-19
恒指今日低開高走、睇高一線,恆指成份股大部分出現金叉,大家繼續持有手中股票等待板塊輪動,沒入場的可以選擇我較早前提及的升勢好的板塊擇時買入,相信恆指衝上前高是可以的!料技指數雖然是跌勢中的反彈,但是近期走勢有企穩跡象,今日跌得較多的科指成份股都沒有走壞,所以近期升勢仍在!投資有風險!只供參考!