http接口测试方法,http接口测试的测试用例设计

4747 578 2023-07-04


本文讲了http接口测试方法,http接口测试的测试用例设计。

一、什么是HTTP

1、定义

    大家都知道程序=算法+数据结构,CPU调用程序运行时,程序就转变成了进程实体。如果想要两台计算机上的进程相互通信,就需要通过网络实现。而两台计算机之间通信的规则,则是由通信协议决定的。

    根据OSI七层模型,每一个层级都有与之对应的通信协议。OSI七层协议模型从上到下分为应用层、表现层、会话层、传输层、网络层、链路层、物理层,而HTTP就是应用层的一种协议。

    HTTP协议(HyperText Transfer Protocol,超文本传输协议)是因特网上应用最为广泛的一种网络传输协议,所有的WWW文件都必须遵守这个标准。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)[取自菜鸟网站]。

2、HTTP工作架构

    HTTP是基于客户端-服务端架构的工作方式:

image.png

    客户端通过HTTP协议,使用URL请求服务端接口,获取响应数据,再渲染在前端页面呈现给用户。

3、结构(取自菜鸟网站)

    3.1 客户端请求消息

    客户端发送一个HTTP请求到服务器的请求消息包括以下格式:请求行(request line)、请求头部(header)、空行和请求数据四个部分组成,下图给出了请求报文的一般格式。

image.png

    3.2 服务端请求消息    

    HTTP响应也由四个部分组成,分别是:状态行、消息报头、空行和响应正文。

image.png

HTTP接口的测试用例设计

和功能测试一样,在进行接口测试前,需要进行接口的测试用例设计,用例设计也不是凭空想象,我们需要以相关文档为依据

功能测试用例:一般是根据产品需求文档PRD或者交互设计文档来进行设计

接口测试用例:一般是依据接口文档和技术方案来进行设计

由于HTTP协议的接口应用非常广泛,下面以HTTP协议接口为例,教大家设计接口测试用例

一个合格的HTTP接口文档,至少应具备如下信息,即请求方式(一般为GET或者POST)、请求URL、请求参数、预期返回结果,举个接口文档的例子

请求方式

Get

请求URL

/test/api/getlist

请求参数

参数名       | 是否必传 | 数据类型 | 说明

source_type      Y       int    来源:百度1;好看2;贴吧3

page          Y       int    页码

per_page      Y       int    每页数量

word             N        string   关键词

预期返回结果

{

    "errno": 0,

    "status": 0,

    "msg": "success",

    "time": 1637156975,

    "duration": 0.01242208480835,

    "requestid": 2975372392

}

开发提供的接口文档可能存在不规范或者压根没有接口文档的情况,这时候需要推动开发补齐信息,不然对测试来说没有接口文档就无法提前设计用例,并且进行测试也比较困难

如果实在没有接口文档,那么测试只能通过Charles、Fiddler等抓包工具,通过线上环境或者测试环境抓包获取接口信息

有了接口文档以后,我们就可以开始接口测试用例的设计,而接口测试用例设计的重点,在于功能性的业务逻辑检查和参数检查。可以从输入(请求)参数、接口业务逻辑处理、接口输出(返回结果) 三个方面来进行考虑

另外对于客户端功能测试的用例设计方法,如等价类和边界值,在接口测试用例设计对于设计输入参数的部分同样适用,如对于请求参数的有大小限制,运用边界值设计,我们可以分别取空、最小值、最小值-1、最大值、最大值+1来测试

image.png

接口业务逻辑处理的接口用例设计是重中之重,对于这方面的用例设计,除了仔细看接口文档,还需要我们详细阅读开发写的技术方案,在技术方案当中一般有程序流程图,数据流图或者时序图

如以下时序图,我们可以清晰的知道每个接口做了哪些操作,关键参数传递,数据如何存放、消费等,从而方便检查当调用接口后数据的落库情况,以及调用接口后业务逻辑是否符合预期

image.png

用例除了正常的接口功能流程,接口业务逻辑异常场景也需要考虑,常见的异常场景是数据库连接超时、没有满足前置条件,如:某个接口需要先登录获取 sesssion,如果直接调用该接口应该给出相应提示

接口用例设计小结

如果输入参数、接口业务逻辑处理(正常与异常流程)、返回结果这三个方面考虑全面的话,接口的功能测试用例基本可覆盖以下三点:

主流程测试用例:正常的主流程业务需求校验

分支流程测试用例:正常的分支流程需求校验

异常流程测试用例:异常业务场景的容错校验

HTTP请求方法

(注:这是重点!经常会考的!)

HTTP常用请求方法:

        GET :发送请求来获得服务器上的资源,请求体中不会包含请求数据,请求数据放在协议头或URL中。

        POST:向服务器提交资源让服务器处理,比如提交表单、上传文件等,可以建立新的资源或者对原有资源的修改。提交的资源放在请求体中。

        PUT:和post类似,发送资源与服务器,并存储在服务器指定位置。

        DELETE:请求服务器删除某资源。

上文就是小编为大家整理的http接口测试方法,http接口测试的测试用例设计。

国内(北京、上海、广州、深圳、成都、重庆、杭州、西安、武汉、苏州、郑州、南京、天津、长沙、东莞、宁波、佛山、合肥、青岛)http接口测试工具分析、比较及推荐。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Eclipse最新版使用过程中遇到的问题总结
下一篇:轻松掌握Java状态模式
相关文章

 发表评论

暂时没有评论,来抢沙发吧~