IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 接口测试的面试题 -> 正文阅读

[开发测试]接口测试的面试题

一、你对接口测试是怎么理解的?
我理解的接口是功能数据传递的通道,是实现某个功能的一个函数。接口参数就是函数的参数,接口的响应数据就是函数的返回值。接口有分内部接口,即同一个系统项目包含的接口;还有外部接口,跨系统跨平台的接口,涉及第三方,例如支付接口。接口测试就是绕过前端直接对接口调用,查看接口功能实现是否正常。

二、你们什么时候做接口测试?接口测试用例怎么设计的?
一般是后端接口开发出来,我们就可以开始接口测试了。
首先必要的了解接口需求,弄懂功能及业务实现逻辑。
1)先保证这个接口功能是好的,也就是输入正常的参数,是否可以返回正确的结果;
2)然后考虑接口异常验证,包括必填项验证、长度、类型异常等,比如说手机号11位,输入非11位,10位、12位的来验证;
3)还有需要考虑接口的业务逻辑,比如说必须执行了回款计划,才能修改标的状态到还款中;
4)一些必要的接口安全验证要考虑到,例如注册接口中传入的密码是需要加密的,还有就是权限这块;
5)如果有接口性能测试要求,还需考虑性能测试部分的用例设计。

三、HTTP协议常见的返回状态码有哪些?
200(正常):表示一切正常,到了服务器,并且服务器正常的响应了你的请求
404(找不到):服务器上不存在客户机所请求的资源
500(内部服务错误):服务器的CGI、ASP、JSP等程序发生错误
504:超时

四、除了jmeter,你还了解哪些其他做接口测试的工具
postman、soapui、loadrunner;
目前主流一点做接口测试工具的是jmeter、postman;
soapui测试soap协议会比较好用;
loadrunner做性能测试比较多。

五、get和post请求方法的区别?
get请求方式的请求数据拼接在URL地址后,为明文,数据长度有限(浏览器对url长度有限制),安全性不如post,但执行速度高于post,一般应用在数据查询场景中;
post请求方式,请求数据位置在http正文body体中,可明可密,长度不受限,数据安全性高,一般应用在修改数据场景中。

六、如何使用jmeter做接口测试?用到哪些测试元件?
第一种,比如测试注册接口,先在测试计划下面添加线程组,添加HTTP请求,进行相对应的接口请求地址、请求方式、传入参数的设置;
添加请求头,设置数据传递格式json,然后添加察看结果树,用来查看接口测试过程中,请求及响应信息;
点击运行,关注察看结果树中的响应结果中的status、code、msg信息是否跟预期一致,同步关注数据库变化,像注册会在数据库项目表中插入一条用户信息,要确保插入表的各个字段数据的正确性;
碰到报错的时候,需要通过日志来排查问题

第二种,比如测试加标接口,先在测试计划下面添加线程组,添加http请求,进行相对应的接口请求地址、请求方式、传入参数的设置;然后添加察看结果树;点击运行,关注察看结果树中的响应结果中的status、code、msg信息是否跟预期一致,同步关注数据库变化,像这里会在数据库项目表中插入一条标信息,要确保插入表的各个字段数据的正确性;碰到报错的时候,需要通过日志排查问题。大致就是这样

七、比如说有两个请求,上一个请求的结果作为下一个请求的参数传入,怎么来实现呢?
用关联,jmeter中可以用正则表达式提取器或者json提取器来实现。例如登录、加标两个请求,若加标需运行成功,必须从登录的响应结果中获取到token再传递到加标的请求头,因为返回结果数据格式是json的,所以用json提取器,输入json表达式提取到token值,再做变量引用。

八、如何保证接口测试是通过的?
1)如果返回结果是正确的:查看数据库以及日志是否有问题,无问题,则测试通过;有问题例如数据库数据增删改有问题就提交bug到bug管理系统;
2)如果返回结果是异常的:a、先确认地址、参数名、参数传值等是否正确,有问题对应修改;b、如果这些请求设置,传值都没问题,查看数据库以及日志是否有问题,有问题,则提交bug到bug管理系统,并且附上有问题的数据以及日志。

九、你认为接口测试的重点是什么?
我认为首先得确保自己接口请求地址、参数传参正确性,然后测试过程中需要关注服务器返回的status、code、msg信息,数据库表信息更改,日志信息;特别是有报错的时候,需要通过日志帮助排查问题

十、你工作用过自动化测试么?一般是在项目的哪个阶段做自动化测试?
1.我工作中做过自动化;我们的自动化实现的覆盖率还没有那么全,所以只在冒烟测试阶段用自动化脚本来跑冒烟测试用例;
2.我工作中做过自动化;我们的自动化主要是在回归测试阶段,因为回归测试工作特别繁琐而且重复,用自动化实现会节约很多时间和人力。

十一、你们做的是什么自动化?接口,UI,还是APP?为什么?
我们公司实现的是接口自动化,因为UI和APP自动化设计到界面,可变性太大了,自动化的维护成本太高了;接口相对来说稳定很多,所以实现自动化的性价比相对来说最高

十二、你理解的接口测试是什么?接口测试的原理?
接口测试理解:我所知道的接口测试包括内部接口测试和外部接口测试;内部接口主要的是功能与功能模块之间接口,前端与后端间的接口。 我主要做的是前端与后端接口测试,这种接口是后端开发与前端/移动端页面进行数据交互的。在还没有前端界面的时候,进行接口测试,会提前发现一些bug。

接口测试的原理:模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做处理并向客户端返回应答,客户端接收应答的一个过程

十三、如果需要在jmeter中引入已经打包好的jar包中的功能,请说明一下操作步骤
1、把jar包放到jmeter目录\apache-jmeter-x.x\lib\ext下
2、在Test Plan的右侧面板最下方直接添加需要引用的jar包

十四、常见的HTTP服务器返回状态码有哪些,其含义是什么?
200(正常):表示一切正常,到了服务器,并且服务器正常的响应了你的请求。

302(临时重定向):指出被请求的文档已被临时移动到别处,此文档的新的URL在Location响应头中给出。

304(未修改):表示客户机缓存的版本是最新的,客户机应该继续使用它,比如说前端js

403(禁止):服务器理解客户端请求,但拒绝处理它。通常由于服务器上文件或目录的权限设置所致。

404(找不到)服务器上不存在客户机所请求的资源。

500(内部服务器错误):服务器端的CGI、ASP、JSP等程序发生错误。

504: 超时。

十五、某比赛需要获取你的个人信息,设计一个程序:
1)运行时分别提醒输入 姓名、性别、年龄 ,输入完了,请将数据存储起来,
2)数据存储完了,然后输出个人介绍,格式如下: 我的名字XXX,今年XXX岁,性别XX,喜欢敲代码
3)平台为了保护你的隐私,需要你删除你的年龄;
1)dict1 = dict(name = input(‘请输入你的名字:’), gender = input(‘请输入你的性别:’),age = input(‘请输入你的年龄:’))
print(‘我的名字是{},今年{}岁,性别{},喜欢敲代码’ .format(dict1[‘name’],dict1[‘age’],dict1[‘gender’]))

height = input(‘请输入您的身高:’)
3)dict1.pop(‘age’)

十六、现在有字符串:str1 = ‘python hello aaa 123123aabb’
1)请计算 字符串中有多少个’a’
2)请找出字符串中’123’的下标起始位置
3)请分别判断 ‘o a’ ‘he’ ‘ab’ 是否是该字符串中的成员?
str1 = ‘python hello aaa 123123aabb’
print(str1.count(‘a’)) #取元素个数
print(str1.find(‘123’)) # find–找元素,如果找到了就返回索引,否则返回-1;
print(str1.index(‘123’)) #跟index区别:index没有找到会报错。
list1 = [ ‘o a’,‘he’,‘ab’]
for i in list1:
if i in str1:
print(’{}是该字符串中的成员’.format(i))
else:
print(’{}不是该字符串中的成员’.format(i))

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-07-22 14:29:45  更:2021-07-22 14:30:09 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/7 1:02:07-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码