• 2
  • 2
分享
  • 接口测试一般怎么测?接口测试的流程和步骤~——软件测试圈
  • TIMI 2022-07-04 15:29:57 字数 1998 阅读 2059 收藏 2

一、什么是接口测试

我们要想知道接口测试怎么做,首先要明白接口测试是什么?一般像系统内的组件接口数据交互测试、不同系统与系统之间的接口数据交互测试等,我们都可以称之为接口测试 !

那么接口测试是怎么来测试接口的呢?

接口测试就是通过接口的不同情况下的输入和与之对用的输出之间的关系,看看是否满足接口规范所规定的功能性、安全性以及性能方面的要求.

简单的说:“接口测试是就是在没有前端页面或者前端还没完成的情况下,代替前端页面或者第三方使用者,来验证后端的接口实现是否符合接口规范。”

二、接口测试的好处

通过接口测试,我们可以测试出接口的稳定和正确性, 可以抛开前端的影响,迅速定位到后端的缺陷,提升测试的效率.

通过接口测试, 可以为项目带来高效的缺陷监测和管理能力,可以提到软件的整体质量;

项目越复杂,系统越庞大,接口测试使用的越频繁的效果越明显

三、接口测试的原理

通过模拟客户端 or Web浏览器向服务器发送请求,服务器接收请求后对接收到的数据做处理,同时向客户端返回应答,我们模拟的客户端,接收到返回的数据后再对数据进行判断 ,如何判断呢?

1、判断请求: 是否正确, 系统默认的请求成功,会返回200状态码, 假如请求错误返回400, 404, 500等状态码

2、判断数据: 返回数据的正确性与完整性

3、判断安全性: 接口一般不会随意暴露在网上被其他人任意调用,一般我们会对接口做出一些限制,比如请求次数、请求频率限制等等

简单来说:找个能联网的工具根据接口文档,向接口服务器发送请求,获取响应,检查响应是否符合接口文档的规范

1.png

四、接口测试测试工具

接口测试需要模拟客户端发送请求获取响应,所以我们就需要一个能够发送请求获取响应的工具,也就是联网工具:

通过工具来进行接口测试

最知名的就是postman,当然还有restclient之类的 。当然也可以用jmeter,jmeter也可以用来做接口性能测试,当然我们也可以通过编写脚本(代码)进行接口测试。

一般我们使用python语言中最流行的联网库requests !

五、如何做好接口测试

接口测试要遵循一些要点:

测试接口的功能实现. 检查不同参数的数据请求时,接口返回的数据与预期结果也就是接口文档的规范的一致性.

测试接口的健壮性(容错性), 比如说传递的数据类型是错误或者传递空数据,特殊字符等与接口规范不符的能否正常处理.

测试接口参数的边界值. 比如说传递的数据超出了接口规范的规定的范围,或者数据足够大或者为负数时能否正常处理

测试接口的性能, 接口处理和响应数据的时间,并发性等等, 当然这牵扯到代码实现的优化,需要与开发人员沟通

测试接口的安全性.比如登录的用户名密码等敏感数据是否明文显示,需要权限的接口是否暴露在外面

2.png

六、接口测试流程

1、分析接口文档和需求文档

分析接口文档或者需求文档一般会去找测试点,那么接口测试的测试点我们一般从几种方向去找

  • 功能性测试点 · 性能测试点 · 安全性测试点

2、编写接口测试计划

测试计划就是功能测试计划基本一样就是知名的5w1h了

1) why——为什么要进行接口测试; 

2) what—测试接口包括哪些; 

3) when—测试接口不同阶段的起止时间; 

4) where—相应接口文档,接口缺陷的存放位置,测试环境等; 

5) who—项目有关人员组成,哪些接口分配给哪些人; 

6) how—使用哪些测试工具以及测试方法进行测试。

3、编写接口测试用例

测试用例就是根据具体的哪个接口来编写,一般会分为单接口和多接口两种场景来编写测试用例

1) 单接口场景的测试

正向数据:也就是能正常发送请求,正常获取响应的数据,一般我们从三个方面去组织:

所有必填参数

全部参数(必填参数+选填参数)

参数组合(必填参数+某些选填参数)

反向测试:用不属于规定范围的数据区发送请求检查服务器能否正常处理

异常数据:数据为空,长度过多或者过少(边界值外),类型不符(需要数字类型传递str类型),错误的数据

异常的参数:不传参数,少传参数,多传参数,传递错误的参数

异常的业务数据:结合业务功能考虑输出的各种异常返回情况

2) 多接口场景的测试

业务场景功能测试(站在用户角度考虑常用的使用场景)

多业务场景功能测试主要是测试接口之间数据依赖

4、接口测试执行

根据设计的测试用例就可以执行测试用例当然执行的方式有几种

1. 使用postman之类的工具,一个一个进行测试,这种方式我们叫做手工测试

2. 使用jmeter之类的有自动化功能方式进行测试,这种叫做工具自动化测试

3. 我们可以自己编写测试脚本,使用测试脚本自动加载测试,这种就是自动化测试了

5、生成接口测试报告。

测试完成了以后就可以生成测试报告了

接口测试流程

3.png


作者:sixstar666

原文链接:https://blog.csdn.net/sixstar666/article/details/124768828

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   产品功能测试与系统测试有什么区别呢?这常常是让测试人员非常迷惑的地方,有的小伙伴认为系统测试应该包含功能测试在内,有的小伙伴则认为这是两个独立的测试类别。而从很多方面来说,产品功能测试与系统测试还是有很大区别的,小编就简单分析一下,两者的相似与不同之处,以及如何做好功能测试?  一、产品功能测试与系统测试分别是什么意思?  产品功能测试是指对软件产品或者程序各项功能进行验证,根据功能测试用例进行逐项检查,看各项功能是否能正常使用,并在此过程中发现软件存在的潜在问题。通常功能测试不考虑系统内部的结构及代码情况,所以也称为黑盒测试。  系统测试是指对产品的硬件软件以及应用场景进行系统的测试,模...
            0 0 893
            分享
          • 看了那么多讲堂,你是不是也心动了,想把自己的技术分享给大家?日常工作和学习中应该会遇到很多需要注意的问题和学习心得,可以尝试动手写下来,加深记忆的同时也可以帮助他人!什么是51讲堂51讲堂包含一篇文章和一次线上交流(可选)的知识分享,是一场高浓度、有收益的纯文字类型的内容。读者可以利用碎片时间学习,既满足了读者的学习需求,也满足了讲师的创作和收益需求。具体来说51讲堂需要具备以下几个条件:1、每一篇完整的讲堂都需要包含案例支撑,确保读者的问题可以在当前的讲堂中得到完整的解答;2、讲堂之间可以相互独立,读者可以根据自己的需求选择对应的内容进行阅读;3、讲堂之间也可以相互关联,系列讲堂每个讲堂之间...
            0 0 7566
            分享
          • 沐沐的日常工作中,领导总是在不断的重复,要提升产品质量,加强产品质量管理。似乎将产品质量的好坏等同于测试质量的好坏,这完全是一个思维误区。于是我组织了一场产品质量相关的培训,和部门成员普及了一下产品的质量到底由谁决定。今天将这次分享会的内容整理成文章,和大家分享一下,观点不一定100%正确,仅供参考。一、产品质量的重要性赢得市场:产品质量是争夺市场最关键的因素,谁能够用灵活快捷的方式提供用户满意的产品或服务,谁就能赢得市场的竞争优势。获得收益:产品质量直接关系到产品的销量,进而对公司的经济状况以及荣誉等产生重要影响,从长远看,产品质量对公司的未来发展有重要影响。品牌价值:产品质量是品牌价值的基...
            1 0 3204
            分享
          •   埃隆·马斯克今天发布推文,表示计划就降低 App Store 佣金一事,和苹果首席执行官蒂姆·库克洽谈。  在一篇关于支持创作者的推文中,马斯克希望通过和库克的交流,按照 X(推特)的营收收取 30% 的佣金,而不是按照创作者的报酬收取 30% 的佣金。  马斯克在推文中表示,在前 12 个月向所有内容创建者免费开放之后,后续不向年收入低于 10 万美元(当前约 71.8 万元人民币)的创作者收取任何费用。  而针对年收入超过 10 万美元的创作者,X(推特)计划收取 10% 的佣金。  马斯克希望苹果从 10% 的佣金中再抽取 30% 的 App Store 平台佣金,而不是直接向创作者...
            0 0 462
            分享
          • 读者提问:明天项目要上线,开发任务还没提测,甚至还没开始联调,作为测试心里特别慌,我该怎么办 ?问题背景:我们产品直接拍板了,跟客户做了保证,xx时候一定可以完成上线。但两个业务并行,时间很紧张,开发分身乏术。开发人均要同时支撑两个业务,所以出现了明天要上线的任务,到今天下班时还没提测,开发评估要明天下午才能联调完。阿常回答:明天要上线的任务,明天下午才能提测,作为测试肯定很慌。客观既定事实没法改变,我们只能寻找问题解决方案,推进项目可交付质量。采取措施:1、和产品对齐可交付质量的最低标准。2、用例划分优先级,先保证基本功能。3、提前准备好测试环境,清理脏数据。今后改进:1、产研测一起商定项目...
            0 0 991
            分享
      • 51testing软件测试圈微信