全国服务热线:400-6136-679

位置:上海博为峰软件测试培训 > 学校动态 > 接口测试的常考面试题汇总-答案解析

接口测试的常考面试题汇总-答案解析

来源:上海博为峰软件测试培训时间:2022/2/24 10:06:33

  1、接口接口是外界系统与当前系统以及当前系统内部的多个子系统之间,以约定好的标准提供的服务,包括对外以及对内提供的各个接口。通常情况下,测试人员测试的接口主要就是web接口,而web接口又分为Web Service接口、Http接口和 RPC接口等等

  2、接口测试接口测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等

接口测试的常考面试题汇总-答案解析

  以下是接口测试中常考的面试题目答案解析:

  1、请描述下HTTP接口?

  了解HTTP接口首先需要知道HTTP是什么。HTTP的全称为:HyperText Transfer Protocol,即超文本传输协议 。百度百科中对HTTP协议的解释是http是一个简单的请求-响应协议,通常运行在TCP之上。

  它指定了客户端可能发送给服务器什么样的消息及会得到什么样的响应。请求和响应消息的头以ASCII码形式给出;而消息内容则具有一个类似MIME的格式。所以HTTP是工作于 客户端/服务端架构之上的。

  通常情况下,常用的web服务器有Apache服务器、 IIS服务器等等。 OSI模型中的七层结构见下图,而HTTP是属于应用层,定义应用程序的功能 。用户通过URL向HTTP服务端发送请求,HTTP服务器经过一系列的算法处理请求后再把相应的结果返回给用户(即浏览器)。

  2、GET接口与 POST接口分别有什么特点,有什么区别?

  GET接口是从指定的资源中获取数据的,参数通过URL发送POST是把需要处理的数据提交到指定的资源 POST的参数不能通过URL发送,只能从请求的的消息主体中发送。

  3、HTTP1.1版本中有哪些请求方法?

  1.0版本中有三种方法即GET POST HEAD。 http1.1版本中新增了OPTIONS DELETE PUT CONNECT TRACE5种请求方法.

  4、HTTP响应消息由哪些部分组成?

  响应消息包括状态行,消息报头和响应正文

  5、HTTP某个状态码的含义(如:304代表什么)或是XX状态码头的含义

  1xx表示请求已接收 ,继续处理2xx 请求成功接收3xx 重定向 ,需要进一步操作4xx 请求错误 ,属于客户端错误5xx 请求合法,但服务器无法处理,属于服务端错误 常见的状态码见下图:


  6、你怎么理解RPC接口,有什么作用?

  RPC 的全称为:Remote Procedure Call Protocol即远程过程调用协议。RPC通过网络从远程的服务器上请求服务无需了解底层技术协议 。RPC采用的是客户端/服务端模式,RPC的作用是开发方便、直接,安全性高,特别是在一些大型项目中,内部的子系统及接口比较多的情况下,采用网络分布式的多个APP开发更加容易 。

  7、RPC的工作流程是怎样的?

  下图为RPC的工作流程:

  8、请描述下RPC的各个核心部件

  Remoting 网络通信框架 实现了消息机制 RPC远程过程调用 ,支持集群,负载均衡  Registry服务目录框架

  9、接口测试的流程

  接口测试流程也与公司要求、项目性质有所区别,可以适当增减节点。阅读接口文档(接口文档形式各个公司不同)设计接口测试用例准备测试环境、测试工具及测试数据执行测试提交缺陷报告,回归测试编写测试报告

  10、你之前使用过的接口测试工具有哪些

  postman、jmeter、RESTClient、loadrunner、SoapUI等本人常用的有postman、jmeterpostman使用操作非常简单,支持测试case的管理 ,文件上传、响应验证以及环境参数管理还可以批量运行jmeter是一款0元开源的轻量工具,可以用来做简单的压力测试,也可以自己写接口脚本验证。

  11、调用HTTP接口时如何获取到HTTPClient库?

  使用maven管理的话可以加入GroupId及 ArtifactID均为 commons-httpclient的依赖即可。

  12、你之前怎么做RPC接口测试,有哪些准备工作?

  接口调用客户端依赖包 配置接口远程服务端的Consumer Provider 编写RPC接口测试脚本。

  13、说说HTTP单接口测试与 RPC接口测试的特点

  RPC接口编写测试脚本时是需要导入JAR包,并且配置好Consumer。Http单接口测试是提交数据的方式 ,常用的提交数据方式有application/x-www-form-urlencoded    multipart/form-data

  14、针对你之前做的项目中简单描述下日志工具是怎么配置的

  以maven为例,首先,需要引入Log4j,在CLASSPATH目录下建立一个文件log4j.properties,然后使用API输出日志


  15、GIT代码版本控制工具的常用命令

  D一次从Git下载新代码:git clone xx.git “下载目录”从远程仓库克隆:git clone “url”添加目录:git  add  “要添加的目录”提交:commit查看所有的本地分支:git branch查看所有的远程分支:git branch -r新建分支:git branch 新建分支名称切换分支:git checkout

  切换分支名称合并分支:git merge 要合并的分支查看git状态:git status查看当前文件与上次时的区别:git diff 文件名查看提交日志:git log回退到上一个版本:git reset删除版本库的文件:git rm 文件名

  16、简要说明JUnit的测试框架

  JUnit是用Java语言编写的单元测试框架,使用JUnit进行测试前需要先继承TestCase类。应用比较多的领域有重构和极限编程。

  17、TestNG常用的annotation关键字的含义

  @Test 标记一个类或方法

  @BeforeSuite被@BeforeSuite注解的方法,会在所有测试运行之前运行。

  @AfterSuite被@AfterSuite注解的方法,会在所有测试运行之后运行。

  @BeforeTest被@BeforeTest注解的方法,在测试执行之前运行。

  @AfterTest被@AfterTest注解的方法,在测试执行之后运行。

  @BeforeClass被@BeforeClass注解的方法会在当前类的第1个测试方法运行前运行。

  @AfterClass被@AfterClass注解的方法会在当前类的第1个测试方法调用后运行。

  @BeforeMethod被@BeforeMethod注解的方法,会在每个测试方法调用之前运行。

  @AfterMethod被@AfterMethod注解的方法会在每个测试方法调用后运行。

  18、TestNG常用的断言方法

  assertTrue判断是否为TrueassertFalse判断是否为falseassertNull判断是否为nullassertNotNull判断是否不为nullassertSame判断引用地址是否相同assertNotSame判断引用地址是否不同

  19、TestNG多线程测试时的annotation如何使用

  invocationCount \threadPoolSize

  20、TestNG怎么导出测试报告

  TestNG自带了导出测试报告的功能 ,但可读性较差,可以用maven下载ReportNG的依赖并在pom.xml中进行配置。也可以使用插件。

领取试听课
每天限量名额,先到先得

尊重原创文章,转载请注明出处与链接:http://www.peixun360.com/6200/news/488916/违者必究! 以上就是上海博为峰软件测试培训 小编为您整理 接口测试的常考面试题汇总-答案解析的全部内容。

温馨提示:提交留言后老师会第一时间与您联系!热线电话:400-6136-679