(六)接口api测试

1. 简述什么是 API 测试?

 正确回答通过率:95.0%

[ 详情 ] 推荐指数: ★★★★ 试题难度: 初级

API测试是一种用于验证API(应用程序编程接口)的软件测试类型。它与GUI测试非常不同,主要集中在软件体系结构的业务逻辑层。在API测试中,您无需使用标准的用户输入(键盘)和输出,而是使用软件将调用发送到API,获取输出并记下系统的响应。

接口测试是一种常见的软件测试方法,用于测试软件系统中不同模块之间的接口。
接口是指两个或多个独立软件模块之间进行数据交换的地方。在软件系统中,不同的模块之间相互依赖和交互,这些模块通过接口来实现数据的传递和共享。因此,对于一个软件系统,接口测试是至关重要的,它可以帮助发现接口错误、性能问题、安全漏洞等问题。
接口测试的主要目标是检查系统的不同部分之间是否正确地传递数据和调用其他组件

2. 如何定位问题/判断BUG是前端还是后端?

  正确回答通过率:66.0%

[ 详情 ] 推荐指数: ★★★ 试题难度: 中级

【首先要明白场景的数据流调用逻辑,这个场景就是前端触发一个操作,然后后端给出响应,最后前端将返回的登录后信息渲染并在界面展示出来。】
答:首先我会用抓包工具 (Fiddler/Charles/浏览器的F12等),看点击登录的时候有没有触发请求,如果没有请求或请求有问题,那就是前端的BUG。
如果前端请求没问题,就看后端返回报文,根据接口文档,返回的数据有误,要具体分析报错的内容。如果是前端传参不对导致的,那就是前端问题,如果传参正确,后端处理不正确,那可能就是后端问题。
如果后端响应了且数据和接口文档一致,那就是前端展示的问题。
总结下来,就是按前→后→前的顺序进行分析。
说明:
类似的问题还有,一个支付功能,支付成功后在我的订单里却没有显示。或者一个查询功能,输入条件查询后没有数据展示出来(先排除是否是因为数据库没有数据导致的)。

3. 简述接口API测试的流程 ?

  正确回答通过率:73.0%

[ 详情 ] 推荐指数: ★★★★★ 试题难度: 中级

接口API测试的流程简述流程:
1、接口测试理论
接口测试主要是检查数据的交换、传递和控制管理过程,发送数据后,看返回数据是否正确,返回值类型是否正常。
接口测试主要分为两类:模块接口测试和Web接口测试
模块接口测试:是单元测试的基础,它主要测试模块的调用与返回
web接口主要分为:服务器接口测试和外部接口测试
服务器接口测试:主要是测试浏览器和服务器之间的接口,
外部接口:第三方提供的接口

2、接口测试工具
Postman --Charles–Fiddler:只接受单次单个接口的测试,很难满足多接口调用逻辑验证问题,也不太灵活,没办法做到数据化
Jmeter:可实现接口自动化测试

3、测试要点
(1)检查接口返回的数据是否与预期结果一致
(2)检查接口的容错性,假如传递数据的类型错误时是否可以处理。例如上面的例子是支持整数,传递的是小数或字符串呢?
(3)接口参数的边界值。例如,传递的参数足够大或负数时,接口是否可正常处理。
(4)接口的性能,接口处理数据的时间也是测试的一个方法

4、状态码
200:返回成功
404:错误的请求,请求的资源不存在
500:服务器内部错误

5、Get与post请求的区别
Get:从指定的服务器中获取数据,Get请求的参数数据会附在URL之后,以?分割URL和传输数据,参数之间以&相连,参数明文展现在URL上,GET请求能够被缓存
Post:提交数据给指定的服务器处理,参数不会展现在URL上,请求不会被缓存

4. 接口测试中,依赖登录状态的接口如何测试?

  正确回答通过率:51.0%

[ 详情 ] 推荐指数: ★★★★ 试题难度: 高难

依赖登录状态的接口,本质上是每次发送请求的时候,需要带上token才能发送成功,如:查询个人信息的接口,必须是该账号或该用户登录后,请求查询个人信息的接口,要是未登录,查询个人信息接口会直接提示让去登录。类似这样的业务流。

【尝试实践过的2种方式(移动端)】
第一种:使用jmeter的接口测试,一般登录接口 登录成功后返回token
(1)登录成功后response 里边会返回token
(2)获取返回的token(JSON Path Extractor ),存为全局变量 (3)在需要token的地方,直接使用 ${token}
第二种:使用python 代码的方式,
(1)登录成功后response 里边会返回token,
(2)将token 存到一个文件里边
(3)编写获取token的公共方法
(4) 在需要使用token 的时候,直接调用该公共方法
需要注意的是,token过期问题,当tonken过期后,刷新登录接口,获取最新的token
常见的cookie、session、token 都是用于鉴权的,通俗来讲就是:检查用户是否有访问该接口的权限,目前在移动端常用的是token,cookie 和session常见。

5. 简述接口测试经常会遇见的问题?

  正确回答通过率:71.0%

[ 详情 ] 推荐指数: ★★★★ 试题难度: 初级

1、通过性验证,说白了就是传递正确的参数,是否返回正常的结果
2、参数组合,因为参数有必传和非必传,参数的类型和长度,以及传递时可能业务上的一些限制,所以在设计用例时,就要排列组合这些情况,保证所有情况都能覆盖到
3、接口的安全性,这个又分为几种情况:
1)绕过验证,比如提交订单时,在传递商品价格参数时,修改商品价格,就要看后端有没有验证了。或者我支付时,抓个包将订单金额一改,如果能以我改后的金额支付,那这个借口就有问题了。
2)绕过身份验证,就是某个功能只有有特殊权限的用户才能操作,那我传递一个普通的用户,是不是也能操作呢
3)参数是否加密,这个关系到一些账户的安全,比如我们在登录一些网站时,它要将我们的登录信息进行加密,如果不加密我们的信息就会暴露,危害性极大。
4) 密码安全规则,设置密码时复杂程度的校验。
依赖性接口测试:上下游接口依赖

  • 9
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我思故我在6789

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值