0


接口的一些知识

本篇写的是接口,不定时更新。

主页链接:程程呀是小白的博客_CSDN博客-毕业季,redis,vue领域博主

Oracle_程程呀是小白的博客-CSDN博客

springboot创建项目_程程呀是小白的博客-CSDN博客_springboot创建项目

MySQL笔记上_程程呀是小白的博客-CSDN博客

Redis6_程程呀是小白的博客-CSDN博客

Mybatis简介_程程呀是小白的博客-CSDN博客

Linux命令_程程呀是小白的博客-CSDN博客

接口

接口(API)的组成

  • http — 普通的http请求,默认端口为80   
    
  • https — 加密的http请求,传输数据更加安全,默认端口为443   
    
  • ftp — 文件传输协议,主要用来传输文件,默认端口为21   
    
  • IP(域名):就是指提供接口的系统所部署的服务器地址,可以是直接的IP地址   
    
  • 端口:如果不填端口,都是默认端口,否则需要填写端口号   
    
  • 接口地址:指系统提供的接口在什么位置   
    
  • 接口参数:参数在接口路径后,用“?”来表示路径地址结束,用“&”来区分参数个数
    

接口测试概念

接口测试是测试系统组件间接口的一种测试,主要用于测试系统与外部其他系统之间的接口,以及系统内部各个子模块之间的接口。测试的重点是要检查接口参数传递的正确性,接口功能实现的正确性,输出结果的正确性,以及对各种异常情况的容错处理的完整性和合理性。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。

针对软件接口的分类一般有如下几种情况:

1)系统与系统之间的调用,如微信向用户提供统一的对外接口,程序员调用接口完成基于微信的小程序等;

2)同一系统内部上层服务对下层服务的调用,如一个软件程序一般分为表示层,业务层和数据层,表示层调用业务层的接口来完成自己的工作,而业务层又会调用数据层的接口来实现相应的业务等。

其以保证系统的正确和稳定为核心,重要性主要体现为以下几个方面:

(1)能够提早发现 bug,符合质量控制前移的理念。

(2)接口测试低成本高效益,因为接口测试可以自动化并且是持续集成的。

(3)接口测试从用户的角度对系统接口进行全面检测。实际项目中,接口测试会覆盖一定程度的业务逻辑

为什么做接口测试?

1.越底层,越稳定。2.越底层,越高效。3.越底层,越低成本。4.越底层,越难实施

模块接口测试

接口测试大体分为两类:模块接口测试和web接口测试。

模块接口测试

是单元测试的基础,它主要测试模块的调用与返回。经常需要编写一些桩模块与驱动模块。

主要测试要点如下:

检查接口返回的数据是否与预期结果一致。

检查接口的容错性,假如传递数据的类型错误时是否可以处理。

接口参数的边界值。例如,传递的参数足够大或为负数时,接口是否可以正常处理。

接口的性能,接口处理数据的时间也是测试的一个方法。牵扯到内部就是算法与代码的优化。

接口的安全性

Web接口测试

web接口测试又可分为两类:服务器接口测试和外部接口测试。

服务器接口测试:是测试浏览器与服务器的接口。用户输入的数据是输入到的前端页面上,怎样把这些数据传递的后台的呢?通过http协议的get与post请求来实现前后端的数据传递。这也可认为是接口测试。

外部接口测试:这个很典型的例子就是第三方支付,比如在我们应用中在充流量时,交话费时,都会调用第三方支付接口。

主要测试要点如下:

请求是否正确,默认请求成功是200,如果请求错误也能返回404、500等。

检查返回数据的正确性与格式;json是一种非常常见的格式。

接口的安全性,一般web都不会暴露在网上任意被调用,需要做一些限制,比如鉴权或认证。

接口的性能,这直接影响用户的使用体验。

接口测试质量****评估标准

  • 业务功能覆盖是否完整
  • 业务规则覆盖是否完整
  • 参数验证是否达到要求(边界、业务规则)
  • 接口异常场景覆盖是否完整
  • 接口覆盖率是否达到要求
  • 代码覆盖率是否达到要求
  • 性能指标是否满足要求
  • 安全指标是否满足要求

接口测试流程

  • 需求评审,熟悉业务和需求
  • 开发提供接口文档
  • 编写接口测试用例
  • 用例评审
  • 提测后开始测试
  • 提交测试报告

软件测试流程基本步骤:

  • 测试计划拟制;
  • 测试方案编写;
  • 测试用例设计;
  • 测试执行;
  • 生成软件问题报告

接口测试测试的是:

  • 接口功能是否实现
  • 返回值是否正确
  • 测试参数内容
  • 数据安全性
  • 敏感性数据
  • 接口能否正确处理

接口测试点:

目的:测试接口的正确性和稳定性;

原理:模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收应答的过程;

重点:检查数据的交换,传递和控制管理过程,还包括处理的次数;

核心:持续集成是接口测试的核心;

优点:为高复杂性的平台带来高效的缺陷监测和质量监督能力,平台越复杂,系统越庞大,接口测试的效果越明显(提高测试效率,提升用户体验,降低研发成本);

用例设计重点:通常情况下主要测试最外层的两类接口:数据进入系统接口(调用外部系统的参数为本系统使用)和数据流出系统接口(验证系统处理后的数据是否正常);

接口测试工具jmeter(postman,restclient)

Apache JMeter是100%纯JAVA桌面应用程序,被设计为用于测试客户端/服务端结构的软件(例如web应用程序);能满足接口功能自动化、批量数据准备、性能测试等多重需求;当前业界最主流的接口测试工具之一,很多公司的接口自动化平台和性能测试平台都是基于其内核扩展的,不仅适合个人学习和使用,更适合规模化和团队化使用。

jmeter优缺点

优点:

  1. 开源,他是一款开源的免费软件,使用它你不需要支付任何费用
  2. 小巧,相比LR的庞大,它非常小巧,不需要安装,但需要JDK环境,因为它是Java开发的工具。
  3. 支持功能扩展开发。
  4. 学习成本比较低,容易上手。
  5. 验证功能时候,能够跳过前端页面数据限制,验证服务端对数据是否有限制等

缺点:

  1. 支持想协议没有loadrunner多,不过目前主流协议基本上都支持
  2. 压测的结果分析报表没有loadrunner详细丰富,不过一些主要的性能指标都支持生成展示了,比如TPS,QPS,吞吐量等

badboy录制工具

当需要开发大量接口,这时候可以先利用badboy工具录制脚本,然后保存成.jmx文件,再把这个文件导入到jmeter中去,进行一定修改然后即可完成大量脚本的开发工作。

本篇写的是接口,不定时更新。

主页链接:程程呀是小白的博客_CSDN博客-毕业季,redis,vue领域博主

Oracle_程程呀是小白的博客-CSDN博客

springboot创建项目_程程呀是小白的博客-CSDN博客_springboot创建项目

MySQL笔记上_程程呀是小白的博客-CSDN博客

Redis6_程程呀是小白的博客-CSDN博客

Mybatis简介_程程呀是小白的博客-CSDN博客

Linux命令_程程呀是小白的博客-CSDN博客

标签: 测试工具

本文转载自: https://blog.csdn.net/qq_57785602/article/details/126985412
版权归原作者 程程呀是小白 所有, 如有侵权,请联系我们删除。

“接口的一些知识”的评论:

还没有评论