| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 开发测试 -> 软件测试面试题汇总(接口方面) -> 正文阅读 |
|
[开发测试]软件测试面试题汇总(接口方面) |
目前互联网发展已经有二十年了,从最开始的简单的工业互联网到现在生活的方方面面,比如出行、聊天、医疗、汽车、管理等各个方面,从之前的开发兼任测试,就是开发测试一人都干,到现在的需要指标才能上线更新,保证项目质量,不管是大公司还是小公司,都注重质量。 话不多说,进入正文。本文是自己面试中碰见的,也是大部分公司经常问题。暂不牵扯到接口性能,性能的知识更多,更广、更细。 软件测试基础本文就暂不细说,一般都是测试方法,测试理论这些,随便看看就好了,这些不管是应届生和已经有工作经验的大佬来说都很少问了。 1.get和post的区别(经典)? get通过URL传输数据,post用URL和请求体传输数据是 get没有post安全,但不是绝对的,因为可以抓包 get数据大小有限制,post没有 2.http与https的区别(经典)? https需要申请ca证书,一般免费证书比较少,需要收费 http是超文本传输协议,信息是明文传输,https是具有安全性的ssl加密传输协议 http与https连接方式不同,端口不一样http:80 https:443 http连接无状态,https是由ssl+http协议构成的可加密传输,身份认证的网络协议,安全 3.https的连接过程? 把这个流程记下来,汇总一下变成自己的语言,到时候回答的时候尽量详细 4.请简述cookie与session、token的区别(经典)? 1.Cookie数据存放在客户的浏览器上,session是放到服务端 token是接口测试的鉴权码一般情况下登录后才可以获取token,然后每次请求接口都要带上token 2.Cookie不是很安全,别人分析存放本地的cookie并进行cookie七篇,考虑到安全应当使用session,session会在一定时间内保存在服务器上,当访问增加时,应该使用cookie,减轻服务器性能 3.可以将登录信息等重要信息存放为session,其他放在cookie上 5.http协议的了解? 超文本传输,端口80 特点(无记忆功能‘快速)是由请求和相应组成,请求有:请求头、请求行、请求正文组成,响应由响应头、相应行、响应正文组成 6.接口用例的设计与执行? https://www.toutiao.com/i7012495041432142340/ 7.多接口业务怎么测试? 自己可以举例一下自己测的接口,关联型接口都有都需要把参数传过来,需要设置全局变量,把上个接口的值作为下个接口的请求值。 8.举几个自己碰到的coke与说明? 200 OK - [GET]:服务器成功返回用户请求的数据 201 CREATED - [POST/PUT/PATCH]:用户新建或修改数据成功 202 Aceepted - [*]:表示一个请求已经进入后台排队(异步任务) 204 NO CONTENT - [DELETE]:用户删除数据成功 400 INVALID REQUEST - [POST/PUT/PATCH]:用户发出的请求有错误,服务器没有进行新建或修改数据的操作 401 Unauthorized -[*] :表示用户没有权限(令牌、用户名、密码错误) 403 Forbidden -[*] :表示用户得到授权(与401错误相对),但是访问被禁止 404 NOT FOUND -[*]:用户发出的请求针对得到是不存在的记录,服务器没有进行操作,该操作是幂等的 406 Not Acceptable - [GET]:用户请求的格式不可得(比如用户请求JSON格式,但是只有XML格式) 500 INTERNAL SERVER ERROR - [*]:服务器发生错误,用户将无法判断发出的请求是否成功 简单的总结一下: 1xx - 信息提示:这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个 1xx 响应。 2xx - 成功:这类状态代码表明服务器成功地接受了客户端请求。 3xx - 重定向:客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。 4xx - 客户端错误:发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。 5xx - 服务器错误:服务器由于遇到错误而不能完成该请求。 9.在项目中如何用jmeter进行接口测试? 1) 把线程组数量设置为1,循环次数设置为1 2) 配置好全局变量URL通过配置元件---用户自定义的变量添加 3) 增加配置元件http请求默认值,放置在用户定义的变量之后 4) 添加事务控制器管理和组织测试用例 5) 在事务控制中添加http请求添加测试用例中的接口请求信息 6) 添加对应的断言元件进行断言 10、jmeter中如何设置断言? 右击请求---断言---响应断言---响应断言界面输入要检查比对的项,设置好断言后,执行接口测试如果是通过的,查看结果树不会有任何提示,如果断言失败,就会有红色报错。如果接口返回的数据是json数据,也可以添加json断言 11、jmeter参数化的方式有哪几种可以实现? 1) 配置元件---用户定义的变量元件可以设置全局变量 2) 函数助手对话框中可以选择比如随机字符串、随机日期、随机数字作为参数化 3) 可以使用csv文件作为参数化,通过配置元件中的csv data set config元件进行设置即可 12、做接口测试工作的意义是什么? 这个是开放性题目,面试官主要考察对测试的理解。 根据测试的金字塔模型来说接口测试是测试左移的最方便,最简单的测试,当然牛B的测试做白盒测试,这个是在接口测试之前,相当于单元测试。 1.接口测试属于集成测试、测试介入越早、就越能在项目早期发现问题,其修复问题的成本越低 2.接口测试非常快速、UI自动化执行一个测试用例10S左右、接口测试用例执行的话,需要的时间是毫秒级的 3.丰富的工具框架与平台,相比UI自动化来说成本更低。 13.怎么抓包? 1.设置代理,需要被抓的对象跟抓包工具处于同个局域网下 2.安装证书,不管是APP或者web都要安装证书,安装成功后iOS需要信任。 备注:https本人研究过一周,安卓因为系统限制,暂不能抓取https。 1.要么开发把证书写到代码中 2.要么使用iOS fiddle也可以抓取部分https但不能全部抓取。 14.怎么判断一个问题是前端还是后端? 抓包看接口数据,如果是数据问题就是后端,不是数据问题就是前端问题 15.接口测试中需要有那些注意点? 接口中返回的数据必用字段要看返回的类型是否跟接口文档一致,不然会导致前端出问题 接口中返回了图片地址,要手工去进行图片的测试(大小、内容) 接口完成查询功能的时候,数据返回的排序显示 接口测试的时候,关注参数的默认值、必填项 16.TCP的三次握手与四次挥手(经典)? 备注:(这是我自己的理解,简单通俗易懂,如果要看标准的请百度,那个太长了自己背不下来) 三次握手? 第一次:客户端发送请求到服务器,服务器知道客户端发送,自己接收正常。SYN=1,seq=x ? 第二次:服务器发给客户端,客户端知道自己发送、接收正常,服务器接收、发送正常。ACK=1,ack=x+1,SYN=1,seq=y ? 第三次:客户端发给服务器:服务器知道客户端发送,接收正常,自己接收,发送也正常.seq=x+1,ACK=1,ack=y+1 四次挥手: 第一次:客户端请求断开FIN,seq=u ? 第二次:服务器确认客户端的断开请求ACK,ack=u+1,seq=v ? 第三次:服务器请求断开FIN,seq=w,ACK,ack=u+1 ? 第四次:客户端确认服务器的断开ACK,ack=w+1,seq=u+1 17.为什么三次握手和四次挥手? ? 三次握手时,服务器同时把ACK和SYN放在一起发送到了客户端那里 ? 四次挥手时,当收到对方的 FIN 报文时,仅仅表示对方不再发送数据了但是还能接收数据,己方是否现在关闭发送数据通道,需要上层应用来决定,因此,己方 ACK 和 FIN 一般都会分开发送。 18.为什么客户端最后还要等待2MSL? ? 客户端需要保证最后一次发送的ACK报文到服务器,如果服务器未收到,可以请求客户端重发,这样客户端还有时间再发,重启2MSL计时。 ? |
|
开发测试 最新文章 |
pytest系列——allure之生成测试报告(Wind |
某大厂软件测试岗一面笔试题+二面问答题面试 |
iperf 学习笔记 |
关于Python中使用selenium八大定位方法 |
【软件测试】为什么提升不了?8年测试总结再 |
软件测试复习 |
PHP笔记-Smarty模板引擎的使用 |
C++Test使用入门 |
【Java】单元测试 |
Net core 3.x 获取客户端地址 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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年11日历 | -2024/11/18 0:23:14- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |