当前位置:网站首页>接口测试面试题及参考答案,轻松拿捏面试官
接口测试面试题及参考答案,轻松拿捏面试官
2022-07-06 09:24:00 【测试小婉】
目录
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的区别
- cookie数据存放在客户的浏览器上,session数据放在服务器上。而token是接口测试时的鉴权码,一般情况下登陆后才可以获取到token,然后在每次请求接口时需要带上token参数。
- cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session,session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面应当使用cookie。
- 可以将登陆信息等重要信息存放为session;其他信息需要保存,可以放在cookie。
3、接口测试执行中比对数据库吗?
肯定,因为接口返回值的数据来源于数据库,接口对数据的操作还要进行深层次的数据库检查!
4、谈谈你对HTTP协议的了解?
超文本传输协议,端口为80,特点(无记忆功能、快速)是由请求和响应两部分组成请求由请求头、请求行、请求正文组成;响应是由响应头、响应行、响应正文组成,之前我们公司的接口是采用https协议的。
httpshttp+ssl协议端口443面向安全的超文本传输协议。
5、get和post请求有什么区别?
get和post请求都是客户端向服务器提交的一种请求方式;
get是明文传输参数、倾向于请求服务器资源。比如打开网站;
post传输数据不可见,安全性高,倾向于向服务器提交数据,比如注册等。
6、响应状态码有哪些?
1xx:指示信息--表示请求已接受,继续处理;
2xx:成功--表示请求已被成功接收、理解、接受;
3xx:重定向--要完成请求必须进行更进一步的操作;
4xx:客户端错误--请求有语法错误或请求无法实现;
5xx:服务器端错误--服务器未能实现合法的请求。
7、接口测试中要注意的测试点有哪些?
- 接口中返回了图片地址,要手工去进行图片的测试(大小、内容);
- 接口完成查询功能的时候,数据返回的排序显示;
- 接口测试的时候,关注参数的默认值、必填项。
8、接口执行测试返回结果比对哪部分?
之前必须要对比的就是返回状态码,其次再去对比返回其它关键内容。
9、为什么开展接口测试?
- 接口测试属于集成测试、测试介入越早、就越能在项目早期发现问题,其修复问题的成本越低;
- 接口测试非常快速、UI自动化执行一个测试用例10S左右、接口测试用例执行的话,需要的时间是毫秒级的。
10、用过抓包工具吗?如何使用?
之前在项目中用过fiddler抓包工具进行HTTP协议请求的抓取。
打开fiddler之后,默认浏览器配置了127.0.0.18888端口的代理,在fiddler设置好过滤策略后,打开需要进行抓包的网站进行操作,就可以进行抓包。
11、postman使用流程是什么?
- 编写好用例;
- 在postman先建好url环境变量;
- 根据接口用例所属的模块新建集合管理;
- 在集合中不同模块下录入测试用例;
- 录入测试用例的时候根据预期结果在tests页签中增加断言;
- 导出通过Newman去运行。
12、postman中设置环境变量有什么用?
在之前项目中,接口测试测试的环境有开发环境,测试环境等,为了测试的时候方便,就在postman设置环境变量,到时所有接口都引用该环境变量,这样就不用为了切换环境导致每次都去修改被测系统接口的主机地址;点击右上角环境变量管理按钮-新建环境变量,在脚本中使用{undefined{变量名}}去调用。
13、关联是什么?如何postman设置关联?
关联就是把上一个接口返回值的部分截取出来,作为下一个接口的参数,能让接口串联运行。
在postman中设置关联的步骤如下:
- 先通过正则表达式提取的方式或json取值的方式把下一个接口需要的信息从上一个接口截取出来;
- 使用设置全局变量的代码把取出来的值保存到全局变量;
- 在下一个接口中,使用{undefined{全局变量}}代替要替换的静态值。
14、postman参数化有哪几种方式?
内建变量、pre-scripts编写js脚本、批量运行时导入csv或json格式的文件。
15、jmeter用的是什么版本?如何安装?
jmeter用的是5.1.1版本,安装如下:
先在电脑上安装jdk1.8或以上的版本,然后从官网下载最新的安装包,解压后,进行环境变量的配置,配置好后即安装完成
16、在项目中如何用jmeter进行接口测试?
- 把线程组数量设置为1,循环次数设置为1;
- 配置好全局变量URL通过配置元件---用户自定义的变量添加;
- 增加配置元件http请求默认值,放置在用户定义的变量之后;
- 添加事务控制器管理和组织测试用例;
- 在事务控制中添加http请求添加测试用例中的接口请求信息;
- 添加对应的断言元件进行断言。
17、jmeter中如何设置断言?
右击请求---断言---响应断言---响应断言界面输入要检查比对的项,设置好断言后,执行接口测试如果是通过的,查看结果树不会有任何提示,如果断言失败,就会有红色报错。如果接口返回的数据是json数据,也可以添加json断言。
18、jmeter中如何实现关联?
先从上一个接口中通过正则表达式提取器或json path解析器截取下一个接口需要的参数值保存到变量,然后在写一个接口中通过${变量名}去获取。
19、jmeter添加http请求默认值元件作用?
添加并设置好后,相当于给所有的http请求取样器都设置了默认值,既不用填写取样器中的比如主机地址、端口、代理等,都可以使用http请求默认值设置的。
20、jmeter参数化方式有哪几种可以实现?
- 配置元件---用户定义的变量元件可以设置全局变量;
- 函数助手对话框中可以选择比如随机字符串、随机日期、随机数字作为参数化;
- 可以使用csv文件作为参数化,通过配置元件中的csv dataset config元件进行设置即可。
感谢每一个认真阅读我文章的人!!!
如果下面这些资料用得到的话可以直接拿走:
1、自学开发或者测试必备的完整项目源码与环境
2、测试工作中所有模板(测试计划、测试用例、测试报告等)
3、软件测试经典面试题
4、Python/Java自动化测试实战.pdf
5、Jmeter/postman接口测试全套视频获取
我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。需要的评论区留言。
边栏推荐
- Global and Chinese market of DVD recorders 2022-2028: Research Report on technology, participants, trends, market size and share
- [pointer] delete all spaces in the string s
- 想跳槽?面试软件测试需要掌握的7个技能你知道吗
- How to learn automated testing in 2022? This article tells you
- [pointer] octal to decimal
- [oiclass] maximum formula
- Dlib detects blink times based on video stream
- Statistics 8th Edition Jia Junping Chapter 1 after class exercises and answers summary
- Sleep quality today 81 points
- 安全测试入门介绍
猜你喜欢
数字电路基础(四) 数据分配器、数据选择器和数值比较器
Software testing interview summary - common interview questions
UCORE lab2 physical memory management experiment report
王爽汇编语言学习详细笔记一:基础知识
Query method of database multi table link
Capitalize the title of leetcode simple question
Fundamentals of digital circuit (IV) data distributor, data selector and numerical comparator
Database monitoring SQL execution
Video scrolling subtitle addition, easy to make with this technique
Fundamentals of digital circuits (I) number system and code system
随机推荐
函数:求两个正数的最大公约数和最小公倍
"If life is just like the first sight" -- risc-v
What is an index in MySQL? What kinds of indexes are commonly used? Under what circumstances will the index fail?
ucore lab8 文件系统 实验报告
Global and Chinese market for antiviral coatings 2022-2028: Research Report on technology, participants, trends, market size and share
Build your own application based on Google's open source tensorflow object detection API video object recognition system (II)
[pointer] solve the last person left
Cadence physical library lef file syntax learning [continuous update]
自动化测试你必须要弄懂的问题,精品总结
Numpy Quick Start Guide
Global and Chinese markets of PIM analyzers 2022-2028: Research Report on technology, participants, trends, market size and share
Function: string storage in reverse order
Capitalize the title of leetcode simple question
Opencv recognition of face in image
CSAPP homework answers chapter 789
Matplotlib绘图快速入门
Fundamentals of digital circuits (III) encoder and decoder
Global and Chinese market of barrier thin film flexible electronics 2022-2028: Research Report on technology, participants, trends, market size and share
[pointer] the array is stored in reverse order and output
Global and Chinese markets of electronic grade hexafluorobutadiene (C4F6) 2022-2028: Research Report on technology, participants, trends, market size and share