软件测试基础知识整理(十)- 接口测试

news/2024/11/8 11:56:03/

目录

一、接口测试

1.1 什么是接口?

1.2 软件为什么需要接口?

1.3 为什么需要做接口测试?

1.4 接口返回数据

1.4.1 JSON格式举例

1.4.2 HTML格式举例

1.4.3 XML格式举例

1.5 接口测试协议

1.5.1 HTTP协议

1.5.2 HTTPS协议

1.5.3 Dubbo协议

1.5.4 WebService协议、SOAP

1.6 企业接口测试的流程和方案


一、接口测试

1.1 什么是接口?

在计算机科学和软件开发中,接口是指不同软件组件之间进行通信互动的一种规范或约定。接口定义了组件之间的通信方式、数据格式、函数调用方式、信息传递机制等。

1.2 软件为什么需要接口?

接口提供了标准的交互方式,使得软件可以独立开发、复用、松耦合,并与其他系统进行互相操作。提高了软件的灵活性、安全性和可维护性。

"松耦合"是软件开发中的一个概念,指的是不同模块或组件之间的关联程度低,彼此之间相对独立并且变化不会对其他模块产生过多的影响。

1.3 为什么需要做接口测试?

接口测试是确保接口功能、数据一致性、集成兼容性、异常处理、性能、安全性、授权验证等方面的关键活动。通过接口测试以提高系统的质量、稳定性和可靠性。

鉴权码:也称为授权码或认证码,是用于验证用户身份或授权访问的一种安全令牌。鉴权码通常是一个加密的字符串或数字,它由系统生成并与用户的身份或权限相关联。例如:会话令牌(Session Token)、API密钥(API Key)、访问令牌(Access Token)、JSON Web令牌(JSON Web Token)。

接口测试在某些情况下可以使用Mock进行辅助,但并不是必须的,具体取决于测试的需求和场景。

Mock:"mock"(模拟)是一种在软件开发和测试中使用的技术,用于创建虚拟对象或模拟实现,以模拟真实组件的行为。它提供了独立性、控制性和效率,有助于有效测试和验证软件的功能和行为。

例如:系统中前后端分离开发,前后端开发进度不一样,需要把一开始开发出来的接口进行测试。当前端开发完成,后端尚未完成时,前端可以使用Mock服务来模拟后端接口的行为,以便进行独立的前端接口测试。

1.4 接口返回数据

接口返回的数据格式可以有多种形式,常见的数据格式包括以下几种:

  1. JSON:JSON是一种轻量级的数据交换格式,易于阅读和编写。它使用键值对的形式表示数据,并支持嵌套结构。JSON在Web开发中被广泛使用,可以通过JavaScript进行解析和处理。
  2. XML:XML是一种标记语言,用于描述和传输数据。它使用标签来定义数据的结构和内容。XML具有良好的可扩展性和跨平台性,在许多领域和技术中被广泛应用。
  3. HTML:是一种用于创建网页的标记语言,它通过标签和属性描述网页的结构和内容。(在某些情况下,接口可能返回HTML格式的数据,例如网页内容、错误页面、富文本编辑器的输出等。这种情况下,接收到的数据可以包含HTML标签、样式和文本内容,用于在浏览器或其他支持HTML解析的应用程序中进行渲染和显示。)

1.4.1 JSON格式举例

假设有一个电影信息的接口,当向该接口发送请求时,它会返回一个包含电影相关信息的JSON格式数据。

接口返回的JSON数据:

{"title": "钢铁侠","year": 2008,"director": "钢铁侠","genres": ["动作", "科幻", "冒险"],"rating": 8.0
}

1.4.2 HTML格式举例

假设有一个博客网站,其中有一个接口用于获取特定文章的内容。当向该接口发送请求时,它会返回包含文章内容的HTML格式数据。

接口返回的HTML数据:

<!DOCTYPE html>
<html>
<head><title>文章标题</title>
</head>
<body><h1>文章标题</h1><p>这是一篇关于某个主题的文章。</p><p>作者:JHY97</p><div class="article-content"><!-- 文章的内容 --><p>...</p><p>...</p></div>
</body>
</html>

1.4.3 XML格式举例

 假设有一个天气信息的接口,当向该接口发送请求时,它会返回一个包含天气预报的XML格式数据。

接口返回的XML数据:

<weather><location>London</location><date>2023-06-25</date><temperature>25°C</temperature><description>Sunny</description><humidity>60%</humidity>
</weather>

1.5 接口测试协议

1.5.1 HTTP协议

HTTP是一种基于客户端-服务器模型的协议,用于在Web上传输数据。它使用请求-响应的方式进行通信,支持各种HTTP方法(GET、POST、PUT、DELETE等)和状态码。

  • 请求部分包含:请求地址,请求方式。
    • 请求方式:get、post、put、delete。
    • 请求中会有各种请求头信息,比如支持的数据类型,请求的来源位置,以及Cookie头等相关头信息。
  • 响应主要包含响应状态码
    • 1XX(信息性状态码)—— 接受的请求正在处理。
    • 2XX(成功状态码)—— 请求正常处理完毕。
    • 3XX(重定向状态码)—— 需要进行附加操作已完成请求。
    • 4XX(客户端错误状态码)—— 服务器无法处理请求。
    • 5XX(服务器错误状态码)—— 服务器处理请求出错。
    • 响应还有各种响应头信息,比如设置缓存的响应头,Content-Type内容类型,设置cookie头信息(set-cookie)。

接口地址表现形式:http://example.com/api/users

1.5.2 HTTPS协议

HTTPS是基于HTTP的安全协议,通过使用SSL(Secure Sockets Layer)或TLS(Transport Layer Security)来加密通信。HTTPS提供了加密和身份验证机制,用于保护数据传输的安全性。

 接口地址表现形式:https://example.com/api/users

1.5.3 Dubbo协议

Dubbo是阿里巴巴开源的一款高性能的分布式服务框架,旨在解决分布式系统中服务调用和治理的问题。Dubbo协议是Dubbo框架的核心组件之一,它定义了服务之间的通信协议和规范。

Dubbo协议适合在大并发情况下传输少量数据。

Dubbo协议通常使用Zookeeper或其他注册中心进行服务注册和发现,接口地址的表现形式会根据Dubbo的配置和约定而有所不同。

Dubbo协议接口地址的一般表现形式:

  1. Zookeeper注册中心地址 —— 示例:zookeeper://example.com:2181
  2. 服务接口名(Interface)—— 示例:com.example.service.UserService
  3. Dubbo服务提供者地址 —— 示例:dubbo://example.com:20880/com.example.service.UserService

1.5.4 WebService协议、SOAP

WebService协议通常使用SOAP作为消息格式和通信协议。在WebService中,接口地址的表现形式通常是一个统一资源标识符(URI)或一个URL,用于标识和定位WebService的访问点。

SOAP是一种基于XML的通信协议,用于在网络上进行结构化的数据交换。它使用XML格式定义请求和响应的消息结构,支持可扩展性和复杂的消息传递。

WebService协议接口地址的一些常见表现形式:

  • SOAP —— 示例:https://example.com/soap-endpoint
  • WSDL(Web Services Description Language)地址 —— 示例:https://example.com/service.wsdl
  • UDDI地址 —— 示例:https://example.com/uddi/service

1.6 企业接口测试的流程和方案

1. 拿到api接口文档,熟悉接口业务,接口地址,鉴权,入参,出参,错误码。

2. 接口计划和方案。

思路:

正例:输入正常参数,查看接口是否返回成功。

反例:

  • 鉴权返利:鉴权为空,鉴权码错误,鉴权码过期等。
  • 参数反例:参数为空,参数类型异常,阐述长度异常等。
  • 错误码覆盖
  • 其他场景:分页异常 

3. 编写测试用例和评审。

4. 执行接口测试。

5. 输出接口测试报告。


http://www.ppmy.cn/news/615544.html

相关文章

隐私泄露下的数据暗网,分类标签中的爱恨一生

自打人类进化中出现了商业的那一刻起&#xff0c;营销&#xff0c;就成为了人类钻研的核心。 交易的本质是价值交换&#xff0c;但世界上不存在永远对等的价值&#xff0c;所以交换中存在套利空间&#xff0c;这些套利空间&#xff0c;成就了商业的价值。 逐利是人的本性&#…

Console Codes of The Elder Scrolls V: Skyrim

Toggle Commands animcam 作用&#xff1a;激活动画视角 描述&#xff1a;激活一个第三人称的动画视角&#xff0c;在这个视角下&#xff0c;你可以旋转和缩放视角&#xff0c;而不改变你的角色面朝的方向。 评价&#xff1a;意义不大&#xff0c;拍照时可能有用。 命令&#x…

如何设定一个世界

本文转载自网络&#xff0c;十分感谢原文作者绝世萝卜的总结&#xff0c;我阅读后觉得受益匪浅&#xff0c;如有侵权行为&#xff0c;请联系我删除本文。 建筑类 最常用的建筑材料是什么&#xff1f;为什么使用它(实用&#xff0c;廉价&#xff0c;或者其他原因)&#xff1f;…

harry potter

英文名&#xff1a;Harry Potter and the Philosophers Stone&#xff08;英文&#xff1a;1997年6月26日&#xff09; 譯名&#xff1a;《哈利波特—神秘的魔法石》&#xff08;2000年6月23日&#xff0c;彭倩文譯&#xff09; 故事發生時間&#xff1a;1981年、1991年—1992…

喾哲~ (八月最佳)

《目录》 数学的起源大数定律&#xff1a;贝叶斯概率&#xff1a;傅立叶变换&#xff1a;哈夫曼编码&#xff1a;最大熵原理&#xff1a;幸存者偏差&#xff1a;丑小鸭定理&#xff1a;阿姆达尔法则&#xff1a;马尔可夫模型&#xff1a;学者存在性定理&#xff1a;奥卡姆剃刀法…

卫士处刑者冠军css3边,流放之路职业开荒路 决斗者冠军双持刀刃乱舞

关于决斗者的冠军升华&#xff0c;目前来说&#xff0c;是比较冷门的&#xff0c;流行的冠军BD也比较少见&#xff0c;主要是因为这个升华带来的永驻护体(全域20%减伤)虽然看似强大&#xff0c;却难以找到很好的配合效果&#xff0c;而且其他升华点也相对较弱&#xff0c;因此相…

卫士处刑者冠军css3边,流放之路决斗者冠军双持刀刃乱舞BD分享

关于决斗者的冠军升华&#xff0c;目前来说&#xff0c;是比较冷门的&#xff0c;流行的冠军BD也比较少见&#xff0c;主要是因为这个升华带来的永驻护体(全域20%减伤)虽然看似强大&#xff0c;却难以找到很好的配合效果&#xff0c;而且其他升华点也相对较弱&#xff0c;因此相…

有教育意义的故事

1、土拨鼠哪去了在教育教学过程中&#xff0c;常遇到这样的情况&#xff0c;学生因为痴迷于电脑、电视、小说等往往放松了学业&#xff0c;忘记了最初的追求目标&#xff0c;针对这种情况&#xff0c;教师不妨给他们叫这样一个故事&#xff1a;有三只猎狗追一只土拨鼠&#xff…