77百科网
当前位置: 首页 生活百科

接口测试优点是什么(什么是接口测试)

时间:2023-08-16 作者: 小编 阅读量: 1 栏目名: 生活百科

于是,为了向开发解释上述问题,普及基本的测试常识,特意梳理了接口测试的相关内容以及其与前端测试的区别,使开发团队与测试团队在测试这件上达成基本的共识,提高团队协作效率,从而更好的保证产品质量。接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。

总结起来就是 后台写的接口只是接口走通了,不代表逻辑也是通的

前端测试只是测试功能,接口也只是走了一部分逻辑,没有完整的验证接口的安全

接口测试不是目的,接口自动化才是最终结果

今天被打败了,竟然有人问我接口测试怎么测,本文转载自(http://blog.csdn.net/jiary5201314/article/details/51429347)

本文主要分为两个部分:

第一部分:主要从问题出发,引入接口测试的相关内容并与前端测试进行简单对比,总结两者之前的区别与联系。但该部分只交代了怎么做和如何做?并没有解释为什么要做?

第二部分:主要介绍为什么要做接口测试,并简单总结接口持续集成和接口质量评估相关内容。

第一部分:

首先,在做接口测试的过程中,经常有后端开发会问:

  1. 后端接口都测试什么?怎么测的?
  2. 后端接口测试一遍 ,前端也测试一遍,是不是重复测试了?

于是,为了向开发解释上述问题,普及基本的测试常识,特意梳理了接口测试的相关内容以及其与前端测试的区别,使开发团队与测试团队在测试这件上达成基本的共识,提高团队协作效率,从而更好的保证产品质量。

然后,我们试着回答上面的问题:

问题1.1、后端接口都测试什么?

--回答这个问题,我们可以从接口测试活动内容的角度下手,看一下面这张图,基本反应了当前我们项目后端接口测试的主要内容:

问题1.2、我们怎么做接口测试?

--由于我们项目前后端调用主要是基于http协议的接口,所以测试接口时主要是通过工具或代码模拟http请求的发送与接收。工具有很多如:postman、jmeter、soupUI、Java httpclient、robotframework httplibrary等。

问题2、后端接口测试一遍 ,前端也测试一遍,是不是重复测试了?

--回答这个问题,我们可以直接对比接口测试和app端测试活动的内容,如下图为app测试时需要覆盖或考虑内容:

从上面这两张图对比可以看出,两个测试活动中相同的部分有功能测试、边界分析测试和性能测试,其它部分由于各自特性或关注点不同需要进行特殊的测试,在此不做讨论。接下来我们针对以上三部分相同的内容再进行分析:

1、基本功能测试:

由于是针对基本业务功能进行测试,所以这部分是两种测试重合度最高的一块,开发同学通常所指的也主要是这部分的内容。

2、边界分析测试:

在基本功能测试的基础上考虑输入输出的边界条件,这部分内容也会有重复的部分(比如业务规则的边界)。但是,前端的输入输出很多时候都是提供固守的值让用户选择(如下拉框),在这种情况下测试的边界范围就非常有限,但接口测试就不存在这方面的限制,相对来说接口可以覆盖的范围更广,同样的,接口出现问题的概率也更高。

3、性能测试:

这个比较容易区分,虽然都需要做性能测试,但关注点确大不相同。App端性能主要关注与手机相关的特性,如手机cpu、内存、流量、fps等。而接口性能主要关注接口响应时间、并发、服务端资源的使用情况等。两种测试时的策略和方法都有很大区别,所以这部分内容是需要分开单独进行测试的,理论上来说这也是不同的部分。

综论:

1、接口测试和app测试的活动有部分重复的内容,主要集中在业务功能测试方面。除此之外,针对各自特性的测试都不一样,需要分别进行有针对性的测试,才能确保整个产品的质量。

2、接口测试可以关注于服务器逻辑验证,而UI测试可以关注于页面展示逻辑及界面前端与服务器集成验证

第二部分:

1、什么是接口测试?

接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

2、为什么要做接口测试?

a) 如今的系统复杂度不断上升,传统的测试方法成本急剧增加且测试效率大幅下降,接口测试可以提供这种情况下的解决方案。

b) 接口测试相对容易实现自动化持续集成,且相对UI自动化也比较稳定,可以减少人工回归测试人力成本与时间,缩短测试周期,支持后端快速发版需求。接口持续集成是为什么能低成本高收益的根源。

c) 现在很多系统前后端架构是分离的,从安全层面来说:

1、只依赖前端进行限制已经完全不能满足系统的安全要求(绕过前面实在太容易), 需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。

2、前后端传输、日志打印等信息是否加密传输也是需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。

3、接口测试持续集成:

对接口测试而言,持续集成自动化是核心内容,通过持自动化的手段我们才能做到低成本高收益。目前我们已经实现了接口自动化,主要应用于回归阶段,后续还需要加强自动化的程度,包括但不限于下面的内容:

a) 流程方面:在回归阶段加强接口异常场景的覆盖度,并逐步向系统测试,冒烟测试阶段延伸,最终达到全流程自动化。

b) 结果展示:更加丰富的结果展示、趋势分析,质量统计和分析等

c) 问题定位:报错信息、日志更精准,方便问题复现与定位。

d) 结果校验:加强自动化校验能力,如数据库信息校验。

e) 代码覆盖率:不断尝试由目前的黑盒向白盒下探,提高代码覆盖率。

f) 性能需求:完善性能测试体系,通过自动化的手段监控接口性能指标是否正常。

4、接口测试质量评估标准:

a) 业务功能覆盖是否完整

b) 业务规则覆盖是否完整

c) 参数验证是否达到要求(边界、业务规则)

d) 接口异常场景覆盖是否完整

e) 接口覆盖率是否达到要求

f) 代码覆盖率是否达到要求

g) 性能指标是否满足要求

h) 安全指标是否满足要求

8.接口测试都要掌握哪些知识?

①了解系统及内部各个组件之间的业务逻辑交互;

②了解接口的I/O(input/output:输入输出);

③了解协议的基本内容,包括:通信原理、三次握手、常用的协议类型、报文构成、数据传输方式、常见的状态码、URL构成等;

④常用的接口测试工具,比如:jmeter、loadrunner、postman、soapUI等;

⑤数据库基础操作命令(检查数据入库、提取测试数据等);

⑥常见的字符类型,比如:char、varchar、text、int、float、datatime、string等;

如何学这些技能?

①系统间业务交互逻辑:通过需求文档、流程图、思维导图、沟通等很多渠道和方式;

②协议:推荐《图解http》这本书,内容生动,相对算是入门级的书籍,其他的还有《图解tcp、IP》等;

③接口测试工具:百度这些工具,然后你会发现,好多的教学博客、相关问题解决方案、以及一些基于工具的书籍,当然,选择合适的书很重要;

④数据库操作命令:学习网站(W3C、菜鸟教程)、教学博客,以及一些数据库相关书籍,入门级推荐:《mysql必知必会》、《oracle PL/SQL必知必会》等

⑤字符类型:还是百度,有句话这么说:内事不决问百度,外事不决问Google。。。

如何获取接口相关信息?

一般的企业,都会由开发或者对应的技术负责人员编写接口文档,里面会注明接口相关的地址、参数类型、方法、输入、输出等信息,如果没有,想办法获取。。。

接口文档八要素:

封面:封面最好是本公司规定的封面,有logo,内容标题,版本号,公司名称,文档产生日期;

修订历史:表格形式较好些,包括:版本、修订说明、修订日期、修订人、审核时间审核人等;

接口信息:接口调用方式,常用的GET/POST方式,接口地址;

功能描述:简洁清晰的描述接口功能,比如:接口获取的信息不包括哪些;

接口参数说明:每个参数都要和实际中调用的一样,包括大小写;参数的含义言简意赅的说明,格式,是string 还是int 还是long等格式;

说明部分,说明参数值是需要哪里提供,并详细说明参数怎么生成的,例如时间戳,是哪个时间段的,参数是否必填,一些参数是必须要有的,有些是可选参数等;

返回值说明:

①最好有一个模板返回值,并说明每个返回参数的意义;

②提供一个真实的调用接口,真实的返回值;

调用限制,安全方面:

加密方式,或者自己公司一个特殊的加密过程,只要双方采用一致的加密算法就可以调用接口,保证了接口调用的安全性,比如常见的md5;

文档维护:文档在维护的时候,如有修改一定要写上修改日期,修改人,对大的修改要有版本号变更;

    推荐阅读
  • 绝活杯王者荣耀是什么比赛(王者荣耀绝活杯是什么)

    绝活杯王者荣耀是什么比赛王者荣耀绝活杯是一项由官方举办的、邀请了部分KPL顶级队伍以及主播队伍参与的赛事。《王者荣耀》绝活杯比赛,又称为《王者荣耀》天命英雄体验赛,这种全新的比赛模式极有可能成为打破KPL职业联赛困境的妙招。

  • 四块糖醋排骨的热量是多少 一盘糖醋排骨热量是多少

    一般情况下减肥中的人群饮食要保持清淡,不宜食用热量高的食物,而糖醋排骨的主要材料是排骨,其中含有大量的蛋白质、维生素、脂肪以及多种矿物质成分,过量食用而人体不能及时将其消化时,是很容易导致人体发胖的,所以减肥中的人群,一般是不建议吃糖醋排骨的,否则很容易对人体的健康造成威胁。

  • 炸排叉怎么做好吃(炸排叉做法)

    主料:面粉400克辅料:黑芝麻15克、食用油20克、鸡蛋1个、食盐5克,现在小编就来说说关于炸排叉怎么做好吃?面粉中加入一小勺食盐混合均匀,打入鸡蛋,加入黑芝麻、加入20克食用油,搅拌成穗状。揉成比较硬的面团,盖上保鲜膜醒30分钟至1小时。分割成四至五厘米宽的长条。从一端提起,穿过中间的划口。锅中放足量的油,烧至八成热,放入整理好的翻背果生坯,放入后改中火,炸制两面金黄即可出锅。

  • 2021年江苏省高考艺术类专业省统考合格线一览

    江苏省2021年普通高校招生艺术类专业省统考合格线已经公布。相关提醒1.艺术类各录取批次的录取控制分数线将于考生填报高考志愿前公布。省统考未涵盖的其他艺术类专业,考生可不参加江苏省组织的专业省统考,且不受省统考合格线限制,如院校要求考生须参加相关专业省统考且合格的,考生须按照院校的要求执行。

  • 饿了么会员自动续费怎么取消(怎么取消饿了么会员自动扣费)

    以下内容希望对你有帮助!选择修改自动续费。选择确认取消即可。很多饿了么用户开通了超级会员之后次月系统会自动续费,很多用户想取消饿了么自动续费又不知道怎么操作,以上就是操作方法。

  • lpl季后赛赛程公布今天(LPL季后赛赛程一览)

    经过为期十周的鏖战,2016LPL夏季赛终于结束了常规赛赛程,EDG、Sanke、GT、IG、RNG、WE、IM、VG八支战队最终进入季后赛,同时NB、SAT、LGD、OMG也将迎来他们的保级战。谁将夺得夏季赛桂冠,谁会一蹶不振降级,都是我们接下来的看点,成败在此一役,加油吧各位队员们!本文转自:LOL.UUU9.COM——————————游久电竞是十余年老牌媒体游久网资讯站,旗下精品资讯直接影响亿万电竞玩家,为电竞加入奥运而努力!

  • 1米8床用多大被子(1米8床应该选择多大的被子)

    跟着小编一起来看一看吧!1米8床用多大被子1.8米床属于双人床,可以用180×210的被子。被子的常见规格有:150×200、160×2180×2180×2200×2220×2248×2248×278,最后2种一般用于出口。

  • 丈夫出轨我是否该离婚(丈夫出轨我该离婚吗)

    今年6月份,我发现他和那个女人的聊天记录,才知道他们已经好了八个月。没想到七月份他给那个女人打钱了。我老公坚决不同意离婚,还说他把那个女人所有相关的联系方式都删除了。离婚之后我要养活孩子必须上班,可是没人帮我带孩子。如果你一而再、再而三地找借口,原谅你的老公,莫不如和他达成协议。如果你的确接受不了,那么你应该为自己做出选择。这是我最想提醒你的地方。

  • 北方冬季美人蕉怎样储存(北方冬季美人蕉储存方法)

    等到3天左右的时候,伤口已经干燥,可以在上面覆盖上一层稻草来保暖,可以保护其不收冻害。此外,还能起到一定的保湿的作用。除了稻草,还可以直接用土埋一下,但是要保证植株透气。在第二年的春季土壤解冻之后,就可以去掉覆盖物,但是要保留一层,要防止出现倒春寒,在4月份的时候,人家就可以出芽了。

  • 架空是什么意思(架空的含义)

    我们一起去了解并探讨一下这个问题吧!架空是什么意思凌空。房屋、栈、桥等下面用柱子等支撑而离开地面。唐太宗《置酒坐飞阁》诗:“高轩临碧渚,飞檐迥架空。”五代王周《路次覆盆驿》诗:“曾上青泥蜀道难,架空成路入云寒。”宋陆游《明州》诗:“村步有船衔尾泊,江桥无柱架空横。”比喻虚浮不实,没有基础。