软件测试基础知识整理(十) |
您所在的位置:网站首页 › json格式调用webservice › 软件测试基础知识整理(十) |
目录 一、接口测试 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 接口返回数据接口返回的数据格式可以有多种形式,常见的数据格式包括以下几种: JSON:JSON是一种轻量级的数据交换格式,易于阅读和编写。它使用键值对的形式表示数据,并支持嵌套结构。JSON在Web开发中被广泛使用,可以通过JavaScript进行解析和处理。XML:XML是一种标记语言,用于描述和传输数据。它使用标签来定义数据的结构和内容。XML具有良好的可扩展性和跨平台性,在许多领域和技术中被广泛应用。HTML:是一种用于创建网页的标记语言,它通过标签和属性描述网页的结构和内容。(在某些情况下,接口可能返回HTML格式的数据,例如网页内容、错误页面、富文本编辑器的输出等。这种情况下,接收到的数据可以包含HTML标签、样式和文本内容,用于在浏览器或其他支持HTML解析的应用程序中进行渲染和显示。) 1.4.1 JSON格式举例假设有一个电影信息的接口,当向该接口发送请求时,它会返回一个包含电影相关信息的JSON格式数据。 接口返回的JSON数据: { "title": "钢铁侠", "year": 2008, "director": "钢铁侠", "genres": ["动作", "科幻", "冒险"], "rating": 8.0 } 1.4.2 HTML格式举例假设有一个博客网站,其中有一个接口用于获取特定文章的内容。当向该接口发送请求时,它会返回包含文章内容的HTML格式数据。 接口返回的HTML数据: 文章标题 文章标题这是一篇关于某个主题的文章。 作者:JHY97 ... ... 1.4.3 XML格式举例假设有一个天气信息的接口,当向该接口发送请求时,它会返回一个包含天气预报的XML格式数据。 接口返回的XML数据: London 2023-06-25 25°C Sunny 60% 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协议接口地址的一般表现形式: Zookeeper注册中心地址 —— 示例:zookeeper://example.com:2181服务接口名(Interface)—— 示例:com.example.service.UserServiceDubbo服务提供者地址 —— 示例:dubbo://example.com:20880/com.example.service.UserService 1.5.4 WebService协议、SOAPWebService协议通常使用SOAP作为消息格式和通信协议。在WebService中,接口地址的表现形式通常是一个统一资源标识符(URI)或一个URL,用于标识和定位WebService的访问点。 SOAP是一种基于XML的通信协议,用于在网络上进行结构化的数据交换。它使用XML格式定义请求和响应的消息结构,支持可扩展性和复杂的消息传递。 WebService协议接口地址的一些常见表现形式: SOAP —— 示例:https://example.com/soap-endpointWSDL(Web Services Description Language)地址 —— 示例:https://example.com/service.wsdlUDDI地址 —— 示例:https://example.com/uddi/service 1.6 企业接口测试的流程和方案1. 拿到api接口文档,熟悉接口业务,接口地址,鉴权,入参,出参,错误码。 2. 接口计划和方案。 思路: 正例:输入正常参数,查看接口是否返回成功。 反例: 鉴权返利:鉴权为空,鉴权码错误,鉴权码过期等。参数反例:参数为空,参数类型异常,阐述长度异常等。错误码覆盖其他场景:分页异常3. 编写测试用例和评审。 4. 执行接口测试。 5. 输出接口测试报告。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |