当前位置:   article > 正文

接口测试常见面试题(含答案)_软件测试接口测试面试题

软件测试接口测试面试题

目录

1.http协议和https的区别?

    2. 常见的post提交数据的方式有哪些?

 3. 常见的请求头以及它们的作用是什么?

 4. get请求和post的区别?

5. 接口请求中常用的返回状态码

 6. cookie,session,token有什么相同点,不同点?

   7. 你们公司是如何做接口测试的?(包括︰接口测试流程,方案以及用例设计) 

  8. 如果没有接口文档怎么做接口测试?  

  9. 接口测试中,依赖登录状态的接口如何测试? 

  10. 你平常做接口测试的过程中发现过哪些bug?

  11. 你在接口测试中是怎么校验结果是否正确?

  12. 如何分析一个bug是前端还是后端的?

  13. 依赖于第三方数据的接口如何进行测试?

14. 对于加密接口,签名接口如何进行测试?    

15、请详细阐述接口测试和UI测试在测试活动中是如何协同测试的?

16、接口测试中上下游接口有数据依赖如何处理?

17、webService接口测试是什么?

18、如何获取接口的参数?

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

20、HTTP接口传递数据最常用的方式?

21、什么是接口测试?

22、我们测试的接口属于哪一类?

23、接口测试用例编写的要点都包含哪些?

24、接口测试的基本步骤?

25、HTTP协议的特点是什么?

26、HTTP客户端请求消息包含哪几部分?

27、HTTP服务器响应消息包含哪些信息?

28、一个接口用例中有多个API接口,前后两个 API 之间如何进行参数传递的?

29、你在实施接口自动化测试的过程中,如果某些接口第一次调用长时间没有返回,如何保证流程顺利进行又可以记录错误信息?

30、接口测试如何设计测试用例?

31、jmeter参数化的方式有哪些?

32、你平常做接口测试的过程中发现过哪些bug?


1.http协议和https的区别?


        http协议:超文本传输协议,信息是明文传输;

        https协议:是由SSL+ http协议构建的加密传输协议。。

        两者使用的端口不一样,http:80,https:443

    2. 常见的post提交数据的方式有哪些?

          四种:取决于Content-Type请求头

Content-Type:application/x-www-form-urlencoded
        特点:数据类型是字典,相当于通过表单方式去提交数据,数据的格式:a=1&b=2

Content-Type:multipart/form-data
        特点:报文包含有文件上传。

Content-Type:application/json
        特点:报文都是字符串类型

Content-Type:binary
        特点:报文类型是以二进制的方式上传文件。

 3. 常见的请求头以及它们的作用是什么?

        Accept:客户端接收的数据格式。

        X-Requested-With:异步请求。Ajax异步请求。无刷新。

        User-Agent:发送请求的客户端的类型。

        Content-Type:请求的内容的报文格式。

        Cookie:Cookie信息。

 4. get请求和post的区别?

        都可以向服务器提交数据,并且会从服务器获取数据。

        区别:

         ① 传参方式不同:get通过地址栏的方式传参,post通过表单报文方式传参。

        ② 传参长度不同:get的参数有长度限制,post没有。

        ③ 一般情况下,get是获取数据,比如查询,post提交数据,比如:增删改。

        ④ Get只发送一个tcp数据报文(包含请求头和data),post发送两个报文(1.请求头,返回·100,2.data,返回200)

5. 接口请求中常用的返回状态码

        1XX:信息提示。

        2XX:成功。

        3XX:重定向。(发送一个请求时,这个请求多次请求了服务器的多个资源)

        4XX:客户端错误。

        5XX:服务器错误。

 6. cookie,session,token有什么相同点,不同点?

        相同点:都是用于鉴权并且都是服务器生成的。

        不同点:

                ① cookie保存在客户端的浏览器上,cookie不安全,可以去分析存在在本地的cookie进行cookie欺骗。

                ②  session保存在服务器的内存,默认保存30分钟,比cookie安全,缺点就是当登录的用户越多,比较占用服务器的资源。session一般会生成一个sesionid(名称自定义),sessionid可以通过cookie传输。

               ③  token存储在服务器的数据库里面,通过一个接口或通过登录获取,然后后续所有的接口都必须要传token才可以请求成功。token也可以通过cookie传输。 

   7. 你们公司是如何做接口测试的?(包括︰接口测试流程,方案以及用例设计) 

        ① 获取接口文档,熟悉单接口以及链路接口(接口业务流程)的业务,包括接口地址,鉴权方式,入参,出参,错误码等。

        ② 编写接口测试用例并评审

        正例(1-2个)︰单接口返回成功场景,链路接口业务流程实现。(功能业务流程);

        反例:

              鉴权异常∶空,错误,过期......

              参数异常:空,类型异常,长度异常

              错误码异常:

       其它异常∶接口黑名单,接口调用次数限制。分页(少于0,0,中间页,最大页,超过最大页);

        ③ 使用接口测试工具或代码的方式执行接口测试;

                重要考虑以下情况:

                        接口关联,接口参数加密,是否动态参数,接口参数是否签名,是否需要带请求头。

        ④ 实现持续集成并输出接口测试报告,有Bug提bug。

  8. 如果没有接口文档怎么做接口测试?  

        方式①:可以使用Fiddler 抓包工具抓取接口数据之后整理成接口文档,如果有不清楚的字段,找时间集中找开发验证,然后在进行接口测试。

        方式②∶可以通过Jmeter的代理录制功能,先把接口请求录制下来形成接口文档,然后再逐一的进行接口测试。

  9. 接口测试中,依赖登录状态的接口如何测试? 

        依赖登录的接口本质上是每次发送请求的时候需要带上cookie和session才能够发送成功。在请求时需要添加上cookle和sessionid。

         ① 如果是通过Postman来测试,Postman会自动去管理

         ② 如果是通过Jmeter来测试,需要增加Cookie管理器组件。

         ③ 如果是通过代码来实现接口测试,那么需要生成sesion对象,然后通过sesion对象来发送请求。|

  10. 你平常做接口测试的过程中发现过哪些bug?

        ① 常规Bug ∶接口没实现,没有按接口文档返回结果,输入异常值(空值,特殊字符),接口报错,没有返回合理的错误提示。

                如:购买商品接口,其中有价格参数,我去测试时把商品的价格改成-3,购买成功。

        ② 权限Bug :

                如∶测试修改商品信息接口,接口文档要求只有商家和超级管理员才有权限修改,我传入一个普通用户的ID或者是传入其他商家的ID,修改成功。

        注意:接口测试就是为了避免绕过前端验证,直接访问后端接口的BUG。

  11. 你在接口测试中是怎么校验结果是否正确?

        ① 状态码检验,验证返回的状态码为200.

        ② 业务校验:

                a. 错误码为0

                b. 当接口响应报文比较短,比较固定的情况下,校验完全一致。

                c. 当接口响应报文比较长,比较多的情况下,校验最核心的业务信息。

               d. 当接口响应报文为非常复杂的多层级

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/代码探险家/article/detail/823987
推荐阅读
相关标签
  

闽ICP备14008679号