接口测试&自动化测试相关面试题

1、如果只是单个接口的测试还是归属于功能测试,平时我们是怎么做接口测试的?

接口文档、接口文档,一定要看接口文档。
初学者做接口测试必须要先会一个工具,postman、fiddler、charles。后两者更多应用于抓包,但都可以使用。
也可以自己写一个接口请求函数,然后给返回的响应数据做断言。达到接口测试的目的。
一般做单接口测试我们是从这几个方面考虑:
(1)通过性验证,在测这个接口之前必须保证这个接口是可用的,是通的,相当于冒烟测试。
(2)请求接口参数组合传参,在正常规则内进行组合传参,请求参数各个字段值验证,参数是否必传。
(3)请求接口顺序(绕过验证),例如,登录后才能下单购买,当未进行登录时,下单接口请求是不能成功的。
(4)异常验证,必填项验证、字符类型、长度等等,就是不按照接口文档进行传参。
(5)安全性,验证header,敏感数据加密等。
(6)响应结果,各种场景下请求接口的返回结果,对应的结构体和参数。
(7)响应时间,遵守1357规则,根据实际场景而定。
(8)接口逻辑,提交多次接口、并发,业务逻辑等。

当然有些小公司为了赶工期或者其他各种原因是没有接口文档的,那么这样情况该怎么办?
一句话,没有接口文档很难搞,抓包看参数,先保证接口通过性验证,然后从开发和产品获取信息,决定对那些进行验证。

2、说下怎么判断bug是前后端谁的问题?

接口请求参数有问题找前端,返回参数有问题先分析下具体问题,一般是找后端(常见的40X/50X),路径或者是服务器的问题

3、同步接口和异步接口的正常异常测试点?

4、接口联调异常考虑?

(1)参数问题

  • 带图片的一定使用fd格式数据进行传递;
  • 参数传递过程中可能会有前后带空格的情况,导致查询数据不准确;
  • 参数的多传会导致调不到接口,参数少传(接口定义为必传参数没传递的话)会导致400错误;
  • 参数取值的限制,若接口设置了接收为整型的,而传递过去为字符也会报错400导致数据错误;
  • 参数长度超过接口设置的长度时可能导致500错误,比如更新数据,当数据过长更新会失败:

(2) 常见的报错的原因

  • 404 服务器端错误  

   如 net::ERR_CONNECTION_RESET错误 详见 https://www.cnblogs.com/xhliang/p/8992354.html

  • 400 参数个数的多或少,参数值类型不符合,参数内含特殊不允许字符等;
  • 500 服务器端错误

(3)前后端联调可能出现的问题

  • get,post 方法使用错误
  • 地址使用错误,地址错误都是找不到资源,后端返回404
  • 传给后端的参数缺少某个必填选项,参数错误后端都是返回400
  • 传给后端的某个参数字段拼写错误
  • 传给后端的某个参数字段赋值的格式不对,尤其是时间戳经常出现问题
  • 传递后端参数出现对象中包含对象的时候,注意结构是不是完全对应。要求完全对应
原文地址:https://www.cnblogs.com/xinxin1994/p/14912015.html