接口测试面试

2019-07-08  本文已影响0人  Snailon

接口面试题

1. HTTP协议状态码400\403\500\502分别代表什么

首先,回答题干状态码含义

400 -- 浏览器端请求方式不对或请求提交的参数有误

402 -- 此状态码为保留状态码,当前无具体含义

500 -- 服务器运行异常,一般是源码运行中抛出异常

502 -- 客户端通过代理服务器间接访问服务器时,代理服务器从上游服务器获取的响应无效

然后,可以对其他状态码做出补充说明

一般情况下状态码大致有五种:

1xx: 只会在实验状态下使用,生产环境下杜绝出现,1xx代表请求正常,但是服务器不产生响应

2xx: 请求响应正常,比如 200 201 204 等

3xx: 以其他方式获取资源,比如: 304 取本地缓存 302 重定向等

4xx: 客户端异常比如: 400 404

5xx: 服务器端异常,比如: 500

2. 多个API的连续调用的测试用例的难点是什么,你是如何解决的

  1. 不同 API 之间的数据传输问题,可以使用关联进行数据的提取与传输
  2. 使用到逻辑控制器(分支和循环)

3. TCP/IP连接,建立连接几次握手,断开连接几次握手,画出建立连接和断开连接的示意图

建立连接 3 次握手,断开连接 4 次挥手

4. 什么是restful

RESTful 是常见的一种软件架构,他约束了 API 文档的编写规范

在API文档中描述各个功能点实现的流程以及数据提交和响应的规则,由于程序中有大量的接口实现,对应的文档篇幅较长,为了保证文档的易读性,可以引入 RESTful 架构风格

具体约束如下:

增:

要素1: URL + POST

要素2: 使用 JSON 数据

要素3: 201(200) + 新增的那条数据

删:

要素1: URL + DELETE

要素2: 键值对格式

要素3: 204 + 无

改:

要素1: URL + PUT

要素2: 使用 JSON 数据

要素3: 201(200) + 修改后的数据

查:

要素1: URL + GET

要素2: 键值对格式

要素3: 200 + 单条数据或多条数据

PS: RESTful 架构风格是程序实现时的软性非硬性约束,API文档以及程序实现可以不遵守此规范

5. 你项目里的接口是怎么测的

1、指定一个测试计划,任务分配

2、接任务,从API 文档提取接口清单

3、设计测试用例以及测试数据

4、编写测试脚本导入测试数据并执行

5、结果比对,BUG 提交

6. 接口测试用例怎么写?

测试用例设计主要考虑两方面即:正向数据与逆向数据,具体原则如下

\1. 覆盖所有的必选参数

\2. 组合可选参数

\3. 参数边界值

\4. 如果参数的取值范围是枚举变量,需要覆盖所有枚举值

\5. 空数据

\6. 包含特殊的字符

\7. 越界的数据

\8. 错误的数据

7. 为什么你的商城项目要测试后台接口,可以直接页面功能测试对比数据库就好了,为什么还要测接口

1、不易于BUG定位,集成测试时,一旦出现BUG,由于前端也有部分算法实现比如 JS,那么不能准确定位BUG产生于前端还是后端

2、集成测试时,即便不出现BUG,也有可能是前端过滤了非法数据,但是我们跨过前端恶意访问,存在一定的安全隐患

3、就测试效率而言,当系统越庞大、复杂时,接口测试可以提高测试效率

8. 知不知道参数加密,如果接口的参数加密了,你要怎么去测

需要编写脚本,使用相应的加密算法对参数加密(一般求助开发)

9. HTTP请求有哪些方法,有什么区别

较为常用的有: GET POST PUT DELETE

1 GET 请求指定的页面信息,并返回实体主体。(主要用于查询)
2 HEAD 类似于get请求,只不过返回的响应中没有具体的内容,用于获取报头
3 POST 向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。(主要用于新增)
4 PUT 从客户端向服务器传送的数据取代指定的文档的内容。(主要用于修改)
5 DELETE 请求服务器删除指定的页面。(主要用于删除)
6 CONNECT HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
7 OPTIONS 允许客户端查看服务器的性能。
8 TRACE 回显服务器收到的请求,主要用于测试或诊断。

10. postman如何使用,主要进行什么操作

Postman 使用时,围绕三个要素设计:

1、请求接口的 URL 与请求方式

2、提交的测试数据

3、查看响应状态码与响应体

接口测试中主要实现一些简单操作,复杂实现,可以使用 Jmeter

11. 列出常见请求状态码

答案见题目2

12. 接口测试用的什么工具,如何判断响应内容是否符合预期

测试工具:Jmeter

判断响应内容可以使用断言组件

13. JSON与XML的区别比较

(1).XML的优缺点
<1>.XML的优点
  A.格式统一,符合标准;
  B.容易与其他系统进行远程交互,数据共享比较方便。
<2>.XML的缺点
  A.XML文件庞大,文件格式复杂,传输占带宽;
  B.服务器端和客户端都需要花费大量代码来解析XML,导致服务器端和客户端代码变得异常复杂且不易维护;
  C.客户端不同浏览器之间解析XML的方式不一致,需要重复编写很多代码;
  D.服务器端和客户端解析XML花费较多的资源和时间。

(2).JSON的优缺点
<1>.JSON的优点:
  A.数据格式比较简单,易于读写,格式都是压缩的,占用带宽小;
  B.易于解析,客户端JavaScript可以简单的通过eval()进行JSON数据的读取;
  C.支持多种语言,包括ActionScript, C, C#, ColdFusion, Java, JavaScript, Perl, PHP, Python, Ruby等服务器端语言,便于服务器端的解析;
  D.在PHP世界,已经有PHP-JSON和JSON-PHP出现了,偏于PHP序列化后的程序直接调用,PHP服务器端的对象、数组等能直接生成JSON格式,便于客户端的访问提取;
  E.因为JSON格式能直接为服务器端代码使用,大大简化了服务器端和客户端的代码开发量,且完成任务不变,并且易于维护。
<2>.JSON的缺点
  A.没有XML格式这么推广的深入人心和喜用广泛,没有XML那么通用性;
  B.JSON格式目前在Web Service中推广还属于初级阶段。

14. TCP协议和HTTP协议有什么区别

TPC/IP协议是传输层协议,主要解决数据如何在网络中传输,而HTTP是应用层协议,主要解决如何包装数据。前者偏底层,后者偏表层

15. 介绍一下Cookie和Session

cookie 和session 的区别:

1、cookie数据存放在客户的浏览器上,session数据放在服务器上。

2、cookie不是很安全,别人可以分析存放在本地的COOKIE并进行COOKIE欺骗
考虑到安全应当使用session。

3、session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。

4、单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。

5、所以个人建议:
将登陆信息等重要信息存放为SESSION
其他信息如果需要保留,可以放在COOKIE中

16. post方法和get方法的区别,分别用在哪些场景下

区别:

1、安全性, POST 隐式提交数据, GET 显示提交数据,前者更安全

2、数据提交量, POST 提交数据时,数据量无限制, GET 提交数据时,数据量有限制,具体限制值视浏览器而定

3、效率,GET 执行效率比 POST 更高

场景:

1、当提交的数据涉及安全或隐私性数据时,建议使用 POST,比如登录

2、当提交的数据量较大时,建议使用 POST,比如注册

3、当数据量不大且不涉及安全性问题时,建议使用 GET

17. 介绍一下json的格式

1、对象格式

语法:

{

“键1”:”值1”,

“键2”:”值2”,

“键3”:”值3”,

.....

}

举例:

存储一个学生的信息

{

“name”:”张三”,

“性别”:”男”,

“电话”:”110”

}

2、数组格式

语法:[值1,值2,值3....]

举例:存储一些人名

[“刘德华”,”周星驰”,”黄秋生”]

3、复合格式

数组格式可以和对象格式相互嵌套

3-1、对象中嵌套数组,举例: 存储人的基本信息,其中有爱好一项,爱好对应多个值

{

“name”:”张三”,

“性别”:”男”,

“电话”:”110”,

“爱好”:[“工作”,”学习”,”生活”]

}

3-2、数组中嵌套对象,举例:存储一些学生的基本信息

[

{

“name”:”张三”,

“性别”:”男”,

“电话”:”110”

},

{

“name”:”李四”,

“性别”:”男”,

“电话”:”120”

},

{

“name”:”王五”,

“性别”:”女”,

“电话”:”119”

}

]

接口测试用例如何编写。

在编写接口测试用例之前,我会熟悉需求,查看API文档,分析哪些字段是必填的,可选的,枚举值(固定值,如男,女)等,然后用工具自动生成测试用例。并且覆盖率为100%。

上一篇下一篇

猜你喜欢

热点阅读