接口测试面试题及参考答案,轻松拿捏面试官

目录

1、你们公司的接口测试流程是?

2、简述cookie、session及token的区别

3、接口测试执行中比对数据库吗?

4、谈谈你对HTTP协议的了解?

5、get和post请求有什么区别?

6、响应状态码有哪些?

7、接口测试中要注意的测试点有哪些?

8、接口执行测试返回结果比对哪部分?

9、为什么开展接口测试?

10、用过抓包工具吗?如何使用?

11、postman使用流程是什么?

12、postman中设置环境变量有什么用?

13、关联是什么?如何postman设置关联?

14、postman参数化有哪几种方式?

15、jmeter用的是什么版本?如何安装?

16、在项目中如何用jmeter进行接口测试?

17、jmeter中如何设置断言?

18、jmeter中如何实现关联?

19、jmeter添加http请求默认值元件作用?

20、jmeter参数化方式有哪几种可以实现?


1、你们公司的接口测试流程是?

接口测试我们是在XX项目做的,主要有XX接口,XX接口,XX接口等。

1、首先是从开发那里拿到API接口文档,了解接口业务、包括接口地址、请求方式,入参、出参,token鉴权,返回格式等信息。

2、然后使用Postman或Jmeter工具执行接口测试,一般使用Jmeter的步骤是这样的:

  • 首先新建一个线程组;
  • 然后就是新建一个HTTP请求默认值。(输入接口服务器IP和端口);
  • 再新建很多HTTP请求,一个请求一个用例。(输入接口路径,访问方式,参数等);
  • 然后创建断言和查看结果树。

3、最后调试并执行用例,最后编写接口测试报告。

4、其实我们做接口的时候也碰到了蛮多的问题,都是自己独立解决的,比如返回值乱码(修改jmeter的配置文件为UTF-8编码方式),比如需要登录后才能取得token鉴权码并且这个鉴权码在下面的请求中需要用到(使用正则表达式提取器提取token的值等。

2、简述cookie、session及token的区别

  1. cookie数据存放在客户的浏览器上,session数据放在服务器上。而token是接口测试时的鉴权码,一般情况下登陆后才可以获取到token,然后在每次请求接口时需要带上token参数。
  2. cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session,session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面应当使用cookie。
  3. 可以将登陆信息等重要信息存放为session;其他信息需要保存,可以放在cookie。

3、接口测试执行中比对数据库吗?

肯定,因为接口返回值的数据来源于数据库,接口对数据的操作还要进行深层次的数据库检查!

                         接口测试面试题及参考答案,轻松拿捏面试官_第1张图片

 

4、谈谈你对HTTP协议的了解?

超文本传输协议,端口为80,特点(无记忆功能、快速)是由请求和响应两部分组成请求由请求头、请求行、请求正文组成;响应是由响应头、响应行、响应正文组成,之前我们公司的接口是采用https协议的。

httpshttp+ssl协议端口443面向安全的超文本传输协议。

5、get和post请求有什么区别?

get和post请求都是客户端向服务器提交的一种请求方式;

get是明文传输参数、倾向于请求服务器资源。比如打开网站;

post传输数据不可见,安全性高,倾向于向服务器提交数据,比如注册等。

6、响应状态码有哪些?

1xx:指示信息--表示请求已接受,继续处理;

2xx:成功--表示请求已被成功接收、理解、接受;

3xx:重定向--要完成请求必须进行更进一步的操作;

4xx:客户端错误--请求有语法错误或请求无法实现;

5xx:服务器端错误--服务器未能实现合法的请求。


7、接口测试中要注意的测试点有哪些?

  1. 接口中返回了图片地址,要手工去进行图片的测试(大小、内容);
  2. 接口完成查询功能的时候,数据返回的排序显示;
  3. 接口测试的时候,关注参数的默认值、必填项。

8、接口执行测试返回结果比对哪部分?

之前必须要对比的就是返回状态码,其次再去对比返回其它关键内容。

9、为什么开展接口测试?

  1. 接口测试属于集成测试、测试介入越早、就越能在项目早期发现问题,其修复问题的成本越低;
  2. 接口测试非常快速、UI自动化执行一个测试用例10S左右、接口测试用例执行的话,需要的时间是毫秒级的。

10、用过抓包工具吗?如何使用?

之前在项目中用过fiddler抓包工具进行HTTP协议请求的抓取。

打开fiddler之后,默认浏览器配置了127.0.0.18888端口的代理,在fiddler设置好过滤策略后,打开需要进行抓包的网站进行操作,就可以进行抓包。

11、postman使用流程是什么?

  1. 编写好用例;
  2. 在postman先建好url环境变量;
  3. 根据接口用例所属的模块新建集合管理;
  4. 在集合中不同模块下录入测试用例;
  5. 录入测试用例的时候根据预期结果在tests页签中增加断言;
  6. 导出通过Newman去运行。

                             接口测试面试题及参考答案,轻松拿捏面试官_第2张图片

    

12、postman中设置环境变量有什么用?

在之前项目中,接口测试测试的环境有开发环境,测试环境等,为了测试的时候方便,就在postman设置环境变量,到时所有接口都引用该环境变量,这样就不用为了切换环境导致每次都去修改被测系统接口的主机地址;点击右上角环境变量管理按钮-新建环境变量,在脚本中使用{undefined{变量名}}去调用。

13、关联是什么?如何postman设置关联?

关联就是把上一个接口返回值的部分截取出来,作为下一个接口的参数,能让接口串联运行。

在postman中设置关联的步骤如下:

  1. 先通过正则表达式提取的方式或json取值的方式把下一个接口需要的信息从上一个接口截取出来;
  2. 使用设置全局变量的代码把取出来的值保存到全局变量;
  3. 在下一个接口中,使用{undefined{全局变量}}代替要替换的静态值。

14、postman参数化有哪几种方式?

内建变量、pre-scripts编写js脚本、批量运行时导入csv或json格式的文件。

15、jmeter用的是什么版本?如何安装?

jmeter用的是5.1.1版本,安装如下:

先在电脑上安装jdk1.8或以上的版本,然后从官网下载最新的安装包,解压后,进行环境变量的配置,配置好后即安装完成

16、在项目中如何用jmeter进行接口测试?

  1. 把线程组数量设置为1,循环次数设置为1;
  2. 配置好全局变量URL通过配置元件---用户自定义的变量添加;
  3. 增加配置元件http请求默认值,放置在用户定义的变量之后;
  4. 添加事务控制器管理和组织测试用例;
  5. 在事务控制中添加http请求添加测试用例中的接口请求信息;
  6. 添加对应的断言元件进行断言。

17、jmeter中如何设置断言?

右击请求---断言---响应断言---响应断言界面输入要检查比对的项,设置好断言后,执行接口测试如果是通过的,查看结果树不会有任何提示,如果断言失败,就会有红色报错。如果接口返回的数据是json数据,也可以添加json断言。

18、jmeter中如何实现关联?

先从上一个接口中通过正则表达式提取器或json path解析器截取下一个接口需要的参数值保存到变量,然后在写一个接口中通过${变量名}去获取。

19、jmeter添加http请求默认值元件作用?

添加并设置好后,相当于给所有的http请求取样器都设置了默认值,既不用填写取样器中的比如主机地址、端口、代理等,都可以使用http请求默认值设置的。

20、jmeter参数化方式有哪几种可以实现?

  1. 配置元件---用户定义的变量元件可以设置全局变量;
  2. 函数助手对话框中可以选择比如随机字符串、随机日期、随机数字作为参数化;
  3. 可以使用csv文件作为参数化,通过配置元件中的csv dataset config元件进行设置即可。

接口测试面试题及参考答案,轻松拿捏面试官_第3张图片

 

感谢每一个认真阅读我文章的人!!!

如果下面这些资料用得到的话可以直接拿走:

1、自学开发或者测试必备的完整项目源码与环境

2、测试工作中所有模板(测试计划、测试用例、测试报告等)

3、软件测试经典面试题

4、Python/Java自动化测试实战.pdf

5、Jmeter/postman接口测试全套视频获取

我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。需要的评论区留言。

你可能感兴趣的:(软件测试,压力测试,postman,测试工具,自动化,python)