接口测试面试常见问题
-
GET请求 和 POST 请求的区别是什么??
POST一般用作服务器上资源的修改,如:上传图片接口,登录注册接口
GET一般用于信息获取,相对而言上安全和幂等的;在做数据查询时,建议用GET方式。如:商品信息接口,搜索接口,博客访客接口…
误区:GET是从服务器上获取数据,POST是向服务器传送数据。
修正:GET/POST都可以 向服务器提交 / 接受 数据,POST请求也需要服务器返回数据。 -
http接口的请求参数类型有哪些?(http和https是协议上的区别,不加密与加密)
a.查询字符串参数–一般用于GET请求,会以url string 的形式进行传递
b.请求体参数-- 一般用于POST请求,可以使用Content-Type来指定不同参数类型
POST里的json参数传的是字典,比如:
json {
wd: ‘关键字 ’
name: ‘zgh’
pwd: ‘123’
}
传过去的是字典,服务器解析时
dic = re.post() 就能直接得到键值对,就能读取到对应的参数
而如果是 txt{
} 服务端得到的是 字符串,并非字典,解析过程不同
post不一定是json格式,因为json格式是轻量级的,大部分是用json。
不排除xml等的格式。 -
你测出来哪些bug?
a. 敏感数据未加密(账号密码明文传送,手机号、身份证号未脱敏处理)
b. 重要参数未校验(付款金额,退款退的比付款还多)
c. 用户流程中考后的接口没有身份校验(比如,直接输入地址进入了登录后的界面,没有登录直接输入地址后进去了)///绕过验证、绕过身份验证。 -
接口测试怎么测?
a. 通过性验证:最基本的功能实现是正确的、传正确参数。
b. 接口安全,即重要的信息也没有进行加密处理。{关于钱的:金额验证、订单有效性验证;关于敏感信息的:手机号脱敏处理、身份号脱敏处理、密码加密}
c.参数组合:操作商品的接口:
例如:有一个参数optionType为1是删除商品,为2是修改商品。当option为1的时候只需传的id正确即可。但为2时要传 id、商品价格、商品描述。
d.异常验证:不按接口文档上写的来:必填参数不填,参数类型错误,逻辑上无效的参数,超过上下限 -
主流ui自动化框架—selenium
移动自动化 Appium
python接口自动化
robot framework框架