接口自动化测试持续集成:笔记一

  主要内容:接口测试工具Postman的使用、接口自动化测试

 接口分为内部接口外部接口

 内部接口:服务器端内部代码交互时用到的接口,如白盒测试就是测试内部接口;

 外部接口:客户端与服务器端交互时用到的接口,如HTTP接口。

目录

1. 接口测试基础知识

1.1 接口测试的原理

1.2 接口测试的范围

1.3 接口的分类

1.4 HTTP

1.4.1 HTTP的主要特点

1.4.2 HTTP请求

1.4.3 HTTP响应

1.5 接口测试流程

1.6 接口测试文档


1. 接口测试基础知识

1.1 接口测试的原理

测试人员借助工具模拟客户端向服务器端发送请求报文,服务器端接收请求报文后,对相应的报文
做出处理并向客户端返回应答,工具模拟客户端接收应答,然后测试人员检查应答是否准确,这就
是接口测试的原理。

1.2 接口测试的范围

(1)是否所有的接口都需要测试?

主要测试最外层的两类接口:数据进入系统的接口(调用外部系统的参数为本系统使用)和数据
流出系统的接口(验证系统处理后的数据是否正常)。

(2)被测接口需要测试哪些方面?

  测试人员需要关注被测接口的功能是否实现、性能是否达标、安全性是否满足,重点关注数据
的交换、传递、处理次数以及控制管理过程。

1.3 接口的分类

        依据所遵循的协议的不同,常见接口可以分为3类:

(1)HTTP接口:基于超文本传输协议(HTTP)开发的接口。

(2)Web Service接口:是系统对外的接口,比如我们要从别的网站或服务器上获取资源,一般
来说,他们是不会把数据库共享给我们的,而是提供一个他们写好的获取数据的方法,我们通过调
用他们写好的方法来使用他们提供的接口,从而达到同步数据的目的。

(3)RESTful接口:简称为REST,其描述了一个架构样式的网络系统,核心是面向资源。
REST专门针对网络应用设计和开发方式,降低开发的复杂性,提高系统的可伸缩性。

        总结:基于浏览器/服务器模式(B/S)的软件系统接口大多数为HTTP接口,重点介绍HTTP接口的测试方法。要测试HTTP接口,首先需要了解HTTP、HTTP请求和响应的相关知识。

1.4 HTTP

1.4.1 HTTP的主要特点

(1)支持客户端/服务器模式。客户端向服务器请求服务时,只需传送请求方法和路径。常用的请求方法有GET和POST。每种方法规定的客户端与服务器联系的类型不同。

(2)简单。由于HTTP简单,服务器的程序规模小,因而通信速度比较快。

(3)灵活。HTTP允许传输任意类型的数据对象。正在传输的类型由ContentType加以标记。

(4)无连接。限制每次连接,使其只处理一个请求。服务器处理完客户端的请求,并收到客户端的应答后,即断开连接。采用这种方式可以节省传输时间。

(5)无状态。HTTP是无状态协议,无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则必须重新上传,这样可能导致每次连接传送的数据量增大,如果服务器不需要前面的信息,则应答就会比较快。

1.4.2 HTTP请求

        HTTP请求包含4个部分,分别是统一资源定位符(URL)、方法(Method)、头(Headers)和体(Body)。

(1)统一资源定位符:是用于完整地描述互联网上网页和其他资源地址的一种标识方法。URL给资源的位置提供一种抽象的表示方法,并用这种方法给资源定位。只要能够对资源定位,用户就尅对资源进行各种操作,如存取、更新、替换和查看属性等。URL的一般形式为:<协议>://<主机>:<端口>/<路径>/<文件名>?<参数1>=<值1>&<参数2>=<值2>。如:http://localhost:8080/s?username=1&password=xxx。

(2)Method:HTTP定义了与服务器交互的不同方法(Method),基本方法有4种,分别是GET、POST、PUT和DELETE。

HTTP请求中的GET方式与POST方式的区别?
(1)提交数据的方式不同
 GET:请求的数据会附加在URL之后,并以“ ?”分隔URL和传输数据,多个参数用“ & ”连接,
        如:http://localhost:8080/login?name=xxx&password=xxx。
        
      注意:如果数据是英文字母或数字,则直接发送;如果是空格,则转换为“+”后发送;如果
是中文或其他字符,则会用Base64加密字符串后发送。
 
 POST:把提交的数据放在HTTP包的请求体中。

 总结:使用GET方式提交的数据会在地址栏中显示出来,而使用POST方式提交的数据不会在地址栏
中显示。

(2)传输数据的大小不同

    虽然HTTP没有对传输的数据大小进行限制,HTTP规范也没有对URL的长度进行限制,但是在
实际开发中会存在一些限制。
 GET:特定浏览器和服务器对URL的长度有限制,如IE对URL长度的限制是2083Byte。其他浏览器,
如FireFox,其限制取决于操作系统。因此,使用GET方式提交时,传输的数据就会受到URL长度的
限制。
 
 POST:此方式不是通过URL传值,理论上数据不受限制。但实际上,各个Web服务器会规定对使用
POST方式提交的数据大小进行限制,Apache、IIS6.0都有各自的配置。

(3)安全性不同
POST方式比GET方式的安全性更高。比如登录操作,因为通过GET方式提交数据,用户名和密码是以
明文的形式出现在URL上,由于登录页面有可能被浏览器缓存,因此,其他人通过查看浏览器的历史
记录,就可能知道你的账号和密码。

(3)Headers和Body:HTTP报文是面向文本的,报文中的每一个字段都是ASCII码串,各个字段的长度是不确定的。HTTP请求报文由请求行、头、空行和请求体这4个部分组成,请求报文的一般格式如下:




[]

1.4.3 HTTP响应

        将HTTP请求发送到服务器后,服务器会给出相应的应答,服务器返回的应答消息称为HTTP响应。

(1)HTTP响应报文:由状态行、消息报头、空行和响应正文4部分组成。一般格式为:




[]

(2)常见状态码和状态描述说明

200:客户端请求成功;

400:Bad Request,客户端请求有语法错误,不能被服务器所理解;

401:unauthorized,请求未经授权;

403:Forbidden,服务器收到请求,但是橘郡提供服务;

404:Not Found,请求资源不存在,如输入了错误的URL;

500:Intenal Server Error,服务器发生不可预期的错误;

503:Server Unavailable,服务器当前不能处理客户端的请求,一段时间后可能恢复正常。

1.5 接口测试流程

1. 编写接口测试计划

    接口测试计划和功能测试计划的目标一致,都是为了确认需求、确定测试环境及测试方法,
为设计测试用例做准备,初步制定接口测试进度方案。
    一般来说,接口测试计划包含概述、测试资源、测试功能及重点、测试策略、测试风险和测试标准。

2. 编写、评审接口测试用例

        和功能测试类似,在开始接口测试前,需要根据需求文档、接口文档等项目相关文档编写并评审接口测试用例。接口测试思路如下图所示:

接口自动化测试持续集成:笔记一_第1张图片

 3. 执行接口测试

        依据编写的接口测试用例,借助测试工具(Postman、JMeter、SoapUI等)执行接口测试,上报发现的问题。

4. 接口自动化测试持续集成要点

        进行项目测试时,接口会增加、减少或变更,测试用例也会相应更新,因此需要借助工具(如GitHub等)来维护测试用例进行持续集成,通过自动化测试实时监控项目接口运行情况。对接口测试而言,持续集成是核心内容,通过自动化的手段才能做到低成本、高收益。接口自动化测试持续集成主要包括以下内容:

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

(2)结果展示。更加丰富的结果展示、趋势分析、质量统计和分析等。

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

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

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

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

1.6 接口测试文档

        一个完整的API文档应该包含以下几个部分:

        (1)接口名称

        (2)简要描述

        (3)请求的URL

        (4)请求方式(GET/POST等)

        (5)请求参数(参数名、是否必选、参数类型、参数说明)

        (6)返回示例

        (7)返回参数说明(参数名、类型、说明)

        (8)备注及责任人

2. 初识Postman工具

        Postman的特点:简单,便于测试人员快速上手、能覆盖绝大多数HTTP接口测试场景。

2.1 安装Postman

1. Postman官网地址:Postman(可根据需要下载windows版本、苹果版本、Linux版本)

               Windows 64-bit下载链接点这里;

                macOS(x64)- Intel Chip下载链接点这里;

                macOS(arm64)- Apple Chip下载链接点这里;

                Linux-x64下载链接点这里。

2. Postman安装:傻瓜式安装。

2.2 Postman工具简介

1. 侧边栏:可进行查找、管理请求和集合操作。侧边栏包括两个选项卡,分别是“History”(历史)和“Collections”(集合)选项卡。

2. 工具栏

……待续……

你可能感兴趣的:(接口测试,接口测试)