接口测试/接口自动化测试常见面试题目整理

1、GET方式和POST方式的区别?

  1. 对请求参数的处理方式不同(最直观的区别):

    GET请求:请求的数据会附在URL之后,以“?”分隔URL和传输数据,如果有多个参数使用“&”连接。URL采用的是ASCII编码格式,而不是Unicode编码格式。即所有的非ASCII字符都要在编码之后传输。
    POST请求:POST请求会把请求参数数据放置在HTTP请求包的Body数据中,数据包的形式可以是“参数名1=参数值1&参数名2=参数值2”,也可以是JSON数据格式。
    
  2. 传输数据的大小不同:

    GET:特定浏览器和服务器对URL的长度有限制。使用GET方式传输数据时会受到URL长度的限制。
    POST:不是通过URL传输,在理论上数据的大小不受限制。
    
  3. 安全性不同:

    POST:安全性较高。需要抓包才能获取到数据。
    GET:在地址栏中可以看到请求数据。
    

2、为什么要做接口测试?

  1. 传统的测试方法成本急剧增加,且测试效率大幅下降;
  2. 可以发现很多页面操作中发现不了的Bug;
  3. 可以检查系统的异常处理能力;
  4. 可以检查系统的安全性、稳定性;

3、如何开展接口测试?

  1. 获取待测试接口的相关数据。一般由开发人员提供接口文档。文档中主要包含几个基本要素:接口地址、接口参数及对应的说明、请求当时、返回数据示例、返回码解释等。
  2. 充分理解接口逻辑。从不同角度理解接口所要实现的功能、数据的处理逻辑和存储逻辑。
  3. 设计接口测试用例。
  4. 使用工具模拟发送接口请求,检查返回包数据。(Postman)
  5. 对比预期结果与实际结果,判断接口测试用例的通过性。(可通过Tests添加断言)

4、接口文档主要包含内容:

  1. 接口功能:对接口作用的大概描述;
  2. 接口URL:接口的请求地址;
  3. 请求方法:一般的HTTP的请求方法是POST/GET;
  4. 请求参数:包含参数类型、限制条件、是否必填、默认值、特殊要求等;
  5. 返回包数据的示例:
  6. 返回码的解释:比如返回1000表示必填参数为空等;

5、怎么设计接口测试用例?

  1. 接口请求参数组合形式:参数校验;

    参数校验:
    1、逻辑梳理:
    2、参数本身、参数值的类型、参数值的长度、参数值SQL注入;
    3、设计用例框架;
    4、生成具体的用例数据;
    
  2. 接口的功能是业务逻辑的体现:逻辑校验;

6、接口测试用例包含属性:

ID、模块、用例标题、接口名称、接口地址、请求方式、请求头、请求数据类型、请求参数、预期结果、实际结果等

7、cookie、session、token的区别:

  1. cookie数据主要存储在用户浏览器中,session主要存放在服务器中,token是一种鉴权码(一般情况下登录后才可以获取到token,再每次请求时都需要附带token参数);
  2. cookie不是很安全,但session访问较多时,会影响系统性能;
  3. 可以将重要私密信息存放在session,其他存放在cookie中;

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

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

9、HTTP协议的理解:

超文本传输协议:端口为80,请求、响应两大部分组成。请求(请求头、请求行、请求正文);响应(响应头、响应行、响应正文)。

10、响应状态吗:

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

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

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

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

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

    常见的状态码:
    200:服务器成功返回;	201:用户新建或修改数据成功;	202:表示一个请求已经进入后台排队;
    204:用户删除数据成功;
    400:客户端请求语法错误;	401:用户没有权限;	403:用户得到授权,但访问被禁止;
    404:请求资源不存在;	406:用户请求的格式不可得;	410:用户请求的资源被永久删除;
    500:服务器发生错误;	503:服务器当前不能处理该问题,一段时间后可能恢复;
    

11、 列举接口测试中遇到的Bug:

12、接口测试需要注意点:

  1. 接口返回值中包含图片地址:需要手工去校验图片的显示、大小、内容等;
  2. 接口测试查询功能后,数据返回的排序;
  3. 输入参数默认值、必填项、格式、长度、大小、特殊字符等;

13、接口测试后返回结果对比内容:

  1. 返回状态码:
  2. 响应数据与预期结果是否一致:

14、接口测试使用的工具:(主要接触到Postman)

15、抓包工具使用(主要Fiddler)

16、对JSON数据的理解:

  1. 一种数据报文格式:
  2. 由键值对和数组两种格式组成:
  3. 可以通过在线网站进行校验:

17、Postman使用流程:

  1. 编写接口测试用例;
  2. 创建文件集合目录;
  3. 设置所需的全局变量、环境变量等;
  4. 在各个集合中录入测试用例;
  5. 在Tests中添加用例对应的断言;
  6. 导出测试用例使用Newman运行生成对应的接口测试报告;

18、设置环境变量/全局变量的作用:

  1. 测试方便,使用相同变量值时直接调用变量名;
  2. 调用方式:{{变量名}};

19、在接口测试中对关联的理解:

  1. 把上一个接口返回值的部分截取,作为下一个接口的传入参数,能够让接口串联运行:

20、Postman支持的协议类型:HTTP/HTTPS

21、Postman参数化的方式:

  1. 内建变量:
  2. js脚本:
  3. 导入csv、json文件:

22、Newman运行脚本生成报告的命令:

Newman run 脚本名称 -r 格式 --reporter-html-export 生成的报告
  • 4
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值