接口测试怎么才能做好?

接口测试怎么才能做好?,第1张

这个问题还是从需求、测试用例设计、执行来说吧。



A需求

首先要了解这个接口提供的服务的需求定义,那么我们就知道大概测试的结果是啥。同时理论上要先提供接口规范,方便后续测试,以及给调用者联调的一个文档约定。


B测试用例设计


根据测试的接口规范,基于业务进行场景设计,再结合边界值设计方法、等价类划分等常用设计方法进行用例设计。


1设计的方向是常规的测试用例设计:协议规范测试、接口入参、接口出参。

协议规范测试:比如>IP地址

IP地址是网络设备逻辑上的地址,与此对应的是物理地址(MAC地址)。

MAC(Media Access Control)地址对于每个网络设备来说,是由厂家分配并固定了的,通过访问数据链路层,可以与对应的设备进行通信。

前面我们提到了ARP,这种地址解析协议将IP地址转换为实际的MAC地址,RARP是相反的过程。在IPv4中,定义了五类IP地址,最常用的只有三种,分别是A类、B类和C类,如图1-2所示。

IP地址由32位二进制数字组成,每8位用1个点分开,包括网络号和主机号两部分。
RFC

所有关于Internet的正式标准都以RFC(Request for Comment)文档发布,但是并不是所有的RFC都是正式的标准,所有的RFC都可以免费获取,并且经常更新。

不同的RFC描述了不同的Internet的标准,比如端口号、路由器需求、Internet应用的正式协议标准等等。

应用编程接口

运行在Internet上面的各种应用程序,必须使用符合TCP/IP协议定义的接口。通常被采用的两种应用编程接口(API)是socket和TLI(传输层接口:Transport Layer Interface),熟悉Internet环境之后,我们会发现有大量的socket和TLI应用。

fastjsonjar这个jar包可以方便的帮你解析json格式数据:
你可以参考下我这段代码:
public Object parseMap_Sub(String str) {
try {
Map<String, Object> map = JSONparseObject(str);
JSONArray jsonArray = (JSONArray) mapget("data");
List<NearMap_Info> list_detial = new ArrayList<NearMap_Info>();
for (Object o : jsonArray) {
Map<String, String> map_1 = (Map<String, String>) o;
NearMap_Info audio_info = new NearMap_Info();
//audio_infosetSize((String) mapget("size"));
audio_infosetFlag(map_1get("flag"));
audio_infosetTitle(map_1get("title"));
audio_infosetUrl(map_1get("url"));
audio_infosetType(map_1get("type"));
audio_infosetId(map_1get("id"));
audio_infosetImg(map_1get("img"));
list_detialadd(audio_info);
}
roresult = true;
roobj = list_detial;
} catch (Exception e) {
eprintStackTrace();
roresult = false;
}
return ro;
}

一些刚开始写接口文档的服务端同学,很容易按着代码的思路去编写接口文档,这让客户端同学或者是服务对接方技术人员经常吐槽,看不懂接口文档。这篇文章提供一个常规接口文档的编写方法,给大家参考。

推荐使用的是docway 写接口文档,方便保存和共享,支持导出PDF MARKDOWN,支持团队项目管理。

一、请求参数

1 请求方法

GET

用于获取数据

POST

用于更新数据,可与PUT互换,语义上PUT支持幂等

PUT

用于新增数据,可与POST互换,语义上PUT支持幂等

DELETE

用于删除数据

其他

其他的请求方法在一般的接口中很少使用。如:PATCH HEAD OPTIONS

2 URL

url表示了接口的请求路径。路径中可以包含参数,称为地址参数,如/user/{id},其中id作为一个参数。

3 >

>

常用的content-type:

application/x->

请求参数使用“&”符号连接。

application/json

内容为json格式

application/xml

内容为xml格式

multipart/form-data

内容为多个数据组成,有分隔符隔开

4 >

描述>

示例:

二、响应参数

1 响应 >

响应body同请求body一样,需要描述请清除数据的类型。

另外,如果服务会根据不同的>

三、接口说明

说明接口的应用场景,特别的注意点,比如,接口是否幂等、处理是同步方式还是异步方式等。

四、示例

上个示例(重点都用红笔圈出来,记牢了):

五、接口工具

推荐使用的是>看懂你说的了仅仅是想做串口输出功能?
那就把数据通过i/o口输入给单片机,然后由单片机的串口输出,单片机输出为TTL电平,加个MAX232片子转换后输出数据就行了。。然后接电脑。由电脑负责接收和显示数据。
串口输出又不需要你控制显示,你只需要把数据通过串口发出来就行了。。利用电脑的VC VB 或者 TC等软件就可以编写出接受串口数据的接收软件。

如果遇见了一个全新的协议,怎么从零开始,完成接口测试?以 WebSocket 为例。

WebSocket 协议在2008年诞生,2011年成为国际标准。现在所有浏览器都已经支持了。WebSocket 的最大特点就是,服务器可以主动向客户端推送信息,客户端也可以主动向服务器发送信息,是真正的双向平等对话。

WebSocket 的其他特点:

1 建立在 TCP 协议之上,服务器端的实现比较容易。

2 与 >

日常项目开发的过程中,接口文档是必不可少的。后端工程师与前端工程师之间需要接口文档来定义数据传输协议、系统对外暴露接口需要文档来说明、系统之间相互调用需要文档来记录接口协议等等。对于一个完整的项目,接口文档是至关重要的。那我们如何写好一份接口文档呢?今天就让我们说一说接口文档几个重要的要素。

1、接口概述

接口概述主要说明本接口文档涉及到的业务功能点,面向的阅读对象以及接口文档主要包括哪些业务的接口,可以让读者有一个直观的认识。如:本文档定义了中台系统面向外部接入方的数据协议接口,主要包括:用户注册接口、同步用户、授权认证等接口。适合阅读的对象为接入中台开发者或者外部合作方。这样的一段描述,对于阅读者来说可以对整个接口文档有一个大概的认识。

2、权限说明

有的接口调用需要授权认证,在这部分需要进行说明。如果接口只是基于分配的token认证,那文档需要说明token的获取方式。如果接口需要进行签名认证,需要在这里说明签名的具体方法,:

sign参数的生成规则要具体说明,最好能示例说明,如:

这样接入方可以验证自己的签名方式是否正确。

3、编码方式

接口的请求过程中可能由于编码导致乱码,所以,接口必须约定编码方式,参考以下写法:

4、请求说明

接口文档的请求说明中主要说明接口请求的域名以及请求的数据格式:如

5、接口列表

接口列表是接口文档的主要内容,这部分内容需要列出所有的接口名称、接口地址、接口的请求方式、接口的请求参数以及响应格式。在接口的请求参数中我们需要说明每个参数的含义、类型以及是否必须等属性。对于接口响应结果,如果有业务字段,也需要进行说明。下面是一个比较完整的示例:

6、状态码说明

接口的响应体一般都会带有响应的状态码,例如成功、失败等。状态码有助于接入方进行接口调用状态的判断。如:

接口文档如果能体现出以上几个要素,那可以算是一个完整的接口文档,对于接入方来说可以很好的阅读理解。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12640810.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存