接口测试简介及用例设计

发布时间:2024年01月18日

接口测试简介及用例设计

内部接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口

对外包装的接口:后端与前端

前端:app(负责展示)

后端:后台提供数据,效验等等处理(负责业务逻辑)

测试最耗时在哪里? 业务逻辑、数据

排查以及修复一个缺陷的最长线在哪里? 服务端

加入接口测试环节的益处

可以更早的暴露问题

减少修复、测试成本

可以更快的了解业务需求,辅助我们更精准的定位分析问题

?

如何开展接口测试

参与服务端需求分析

有标准的接口文档,且文档是由客户端与服务端同学共同产出的

测试分层

业务逻辑处理、数据验证部分拆分到接口层做

客户端更多的关注于UI的展示以及前端的页面逻辑

?

移动端常用的接口协议

http/https

一种应用层协议,网络交互需要遵守的协议规范

由请求头和响应以及相应的信息头组成,http传输中,我们都是通过url来录找网络资源的

HTTP URL格式: http://host[:port][path]

? http表示要通过HTTP协议来定位?网络资源;

? host表示合法的Internet主机域名或IP地址;

? port?用于指定?个端?号,如果为空,则使?用缺省的端口80; ? path指定请求资源的具体地址

?

HTTP请求过程

? 连接:建??个socket连接,因为socket是通过ip和端?建立的,在这之前还会进?DNS解析将域

名解析成对应的ID地址。

? 请求:连接成功后,向服务器?发送GET/POST请求。

? 响应:服务器收到这个请求,进行处理,再将响应数据传送回客户端。

? 关闭连接:响应结束后,客户端与服务器断开连接,以保证其它客户端与服务器建?连接。

HTTPS请求过程

? 当浏览器向服务器请求?一个https请求时,服务器就把它的数字证书和公匙发送给浏览器。

? 浏览器检查证书是不不是由可以信赖的机构颁发的,检查证书的数字签名是不是正确,确认证书有效和此证书是此属于指定?站的。

? 浏览器使?证书中提供的公钥加密?个随机?成对称密钥,并?用此对称密钥对http协议请求内容进 ?加密,加密后的信息?一起发送到服务器。

? 服务器用自?的私匙解密浏览器?发送过来的对称钥匙,然后?用这把对称加密的钥匙解密加密过的 http协议请求内容。

? 服务器用对称钥匙对http协议响应内容进行加密,并发送给浏览器,浏览器通过对称密钥解密加密信息,获得http协议的响应内容。

?

HTTPS和HTTP的区别

https协议需要ca证书

http的信息是明?传输,https则是具有安全性的ssl加密 http是直接与TCP进?数据传输,?https是经过一层SSL,用的端?也不不?样,http是80,https是443

http的连接很简单,是?状态的;HTTPS协议是由SSL+HTTP协议构建的可进?加密传输、身份认证 的?络协议,?http协议安全

常见的?种请求方式

Get

向服务器获取信息,查询数据

Post

向服务?上传信息,新建数据

Put

改变服务器上的信息,修改数据

Delete

删除服务器上的信息,删除数据

Head

检查服务器上是否有某些信息,判断数据

?

HTTP的响应状态码

1xx 消息,?般是告诉客户端,请求已经收到了,正在处理

2xx 处理成功,?般表示:请求收悉、我明?你要的、请求已受理、已经处理完成等信息

3xx 重定向到其它地方。它让客户端再发起?个请求以完成整个处理

4xx 处理发?错误,责任在客户端,如客户端的请求?个不存在的资源,客户端未被授权,禁?止访问等

5xx 处理发?错误,责任在服务端,如服务端抛出异常,路由出错,HTTP版本不?持等

常?状态代码、状态描述

200 OK:客户端请求成功。

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

403 Forbidden:服务器收到请求,但是拒绝提供服务。

404 Not Found:请求资源不存在,举个例子:输?了错误的URL。

500 Internal Server Error:服务?发?不可预期的错误。

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

?

常?的请求、响应头

Accept 浏览?可接受的mime类型

Cookie 客户端就是通过这个报文头属性传给服务器

User-agent 允许客户端将它的操作系统 浏览器和其他属性告诉服务器Cache-control 是否希望被缓存

Cache-control 响应输出到客户端后,服务端通过该报?告诉客户端如何控制响应内存缓存 Cache-type 服务器通知浏览器回送数据的类型

Set-cookie 设置和?面相关联的cookie

接?测试主要关注点

? 响应结构 ? 数据来源 ? 数据格式 ? 数据正确性 ? 业务逻辑

?例设计—参数要考虑的

请求参数必选或选填(例:参数缺失服务端是否正常解析)

请求参数边界值(例:存储?长度10位,传参?大 于10位,接?是否处理)

与服务端是否存在附加协议(例例:交互过程中服务端需要验证head中的数据; 或者是否有加密协议)

输?合法、?法参数(例:服务端只接收int类型,传递了 String类型,参数为空或为null 参数中存 在特殊字符的)

请求参数逻辑分?(例:type=1:查询北京 Type=2:查询天津)

?例设计—结果要验证的

异常请求处理

请求头协议

响应结构

所有value值的 正确性、有效性

数据库交互是 否生效

排序

存在业务关联的 是否?效

并发请求

事务的回滚

响应时间

重复提交

?感数据

?例的管理与维护

? 功能测试模式:为了更快速会选?EXCEL、思维导图进??例管理。

? ?动化测试模式:使?测试脚本进?管理。

?

注:

对于接口的提测,建议是分批提测,最好不要所有接口统一提测,分批测试可以在较

短的时间内完成接?测试,也可以提前辅助客户端进?联调,不会占?较?的项?周

期。

接?需求分析

结合需求文档+接?文档来进?对照分析

? 分析出需求文档中所有涉及接?的功能点,并罗列功能点相关业务逻辑

? 分析接?功能点是否包含在了接口文档中

? 分析接?文档中描述的实现是否能够满足或者覆盖接?功能点及其业务逻辑

? 是否需要上层服务支持,服务端是否已提交数据需求建议先与服务端达成?一致:

? 需求宣讲完成后,优先产出接?文档(便便于测试同学进?接?分析)

? 接?文档与客户端先?行行确认,再进?接?开发(预防后续反工的风险)

? 服务端提供接?开发排期表(方便进?测试排期)

如何抓包

抓包数据分析

断点

重写

弱网测试

?

弱网配置

bandwidth —— 带宽,即上行、下行数据传输速度

utilisation —— 带宽可?用率,大部分modern是100%

? round-trip latency —— 第一个请求的时延,单位是ms。

? MTU —— 最?传输单元,即TCP包的最?size,可以更真实模拟TCP层,每次传输的 分包情况。

? Releability —— 指连接的可靠性。这?指的是10kb的可靠率。用于模拟网络不稳定。

? Stability —— 连接稳定性,也会影响带宽可?性。用于模拟移动网络,移动?网络连接 一般不可靠

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

?

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取?

?

文章来源:https://blog.csdn.net/kk_lzvvkpj/article/details/135675206
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。