接口测试常见问题和解决方法

1.http协议的工作流程是什么样的?

(1)地址栏输入url

(2)浏览器地址解析:域名转换成IP

(3)封装成TCP包,建立TCP连接(TCP的三次握手)

(4)发送http请求

(5)响应http请求

(6)断开TCP连接(TCP的四次挥手)

(7)浏览器显示http的响应数据

2.你们公司如何做接口测试?

首先我们公司做接口测试主要是测试产品的功能、性能及简单的安全性。通过接口文档进行接口需求分析----编写测试用例---用例评审,然后用工具执行用例,对产生的bug进行追踪。

怎么用例评审?(大公司)把相关的人叫一块开会评审,(小公司)自己和开发讨论。

3.https和http协议的不同之处?
①安全性:http是明文传输而https是加密传输,所以https比http安全

②经济:由于https需要加密所以需要申请ca证书(ca证书免费证书很少,需要交费),

  ca证书是收费的。http协议免费申请,所以http免费而https收费

③由于https在传输中需要来回的加密解密所以https对资源的消耗比http大一些,https对资源的

  消耗主要体现在电能和缓存方面

④url的不同

⑤端口:http是80端口,而https是443端口

⑥连接方式:数据传输时http直接与tcp建立连接,是无状态的。而https需要先建立SSL连接再建立tcp连接,是可进行加密传输、身份认证的网络协议,建立SSL连接就是对加密方式的一个处理

3.app某一页面元素数据展示错误,正确的是A,目前显示的是B,该如何定位这个问题?
用工具绕过前台,发一个查询页面元素数据的接口请求给后台,看后台的返回数据,若后台返回数据显示是A的话,那这个bug就是前台的,若后台返回数据显示为B的话,则需要判断是数据库的问题,还是属于后台业务逻辑的问题,用工具通过直连数据库,查看数据库的返回结果,若数据库返回数据显示为A,则是后台业务逻辑的问题,否则是数据库的问题

4.简述get和post方法的区别
get ,请求方法是查询,请求数据全部在url内,相对来说速度快,不安全,需要考虑浏览器对url长度限制,需要考虑服务器对请求数据大小的限制

post ,请求方法是新增,请求数据都在请求体内,相对来说速度慢,安全,需要考虑服务器对请求数据请求数据大小的限制

5.用fiddler抓包工作做什么?fiddler抓包工具的原理是什么?
fiddler抓包工作做什么:记录客户端和服务器之间的所有 HTTP请求,

可以针对特定的HTTP请求,分析请求数据,调试web应用、修改请求的数据

没有接口文档的公司可以使用fiddler抓接口信息,定位bug

fiddler抓包工具的原理:fiddler抓包工具的原理是客服端与服务器需要经过fiddler的代理服务器代为转发请求与响应。

6.fiddler如何抓https和手机的包?
  fiddler抓https的包的步骤:先点击fiddler里的Options下的HTTPS,勾选Decrypt HTTPS traffic选项,弹出接受证书提示框,一路点yes,最后点确定,然后点ok。如果不小心拒绝了证书的弥补,那么点击Actions下的Reset All Certificates,重置所有证书,再按前面的步骤来,如果浏览器不信任fiddler,那么先导出fiddler的证书,点击Actions下的Export Root Certificate Desktop,然后在桌面上右击fiddler的证书,点击安装,如果是FireFox,它有自己的证书管理器,可以自己导入。进入网页,在fiddler看抓到的包。

 fiddler抓手机包的步骤:前提:fiddler和手机在一个局域网中,点击Options下的Connections,端口号填8888,勾选Allow remote computers to connect选项,点击ok。鼠标放在Online上,记住上面显示的fiddler的ip地址,打开夜神模拟器,浏览器输入fiddler的ip地址,点击FiddlerRoot certificate,下拉点击安装完成,设置用户名和锁屏手势,选择设置里的无线网,点击修改网络,点击手动设置代理,输入端口号和fiddler的ip地址,点击保存,打开一个app,去fiddler里看抓到的包,如果process里看到了noxvmhandle,则说明抓包成功。

7.删除好友请求,删除了好友,但仍然显示在好友列表中,你该如何定位这个bug?
用fiddler抓包工具来定位下,看看bug是前台还是后台的,如果看返回结果,后台确实删除成功,则bug是前台的,如果后台数据确实没有删除,则bug是后台的,

这是我们可以用jemter发一个数据数据库直连请求,看一下数据库中是否还有这个好友,如果数据库已经没有该好友了,则证明后端的返回数据的业务逻辑有问题,如果数据库中还有好友,证明数据库的操作有问题。

8.你们公司有接口测试文档吗?有哪些内容,没有的话你们是怎么做的 ?
有,接口文档包含:接口名称,请求的url,请求方式,请求参数,返回示例

其中请求参数请求参数(参数名、是否必选、参数类型、默认值和参数说明)

返回示例需要我们在其中找到接口测试预期结果

没有的话,我们可以通过fidder 进行抓包然后分析,如果有一些不确定的地方我们就需要找发开问一下确定一下。

9.如何用fiddler定位bug?

1、用fiddler对产品进行抓包

2、检查接口地址是否正确

3、检查响应状态是否存在异常

4、检查接口传递参数

5、检查接口返回数据

如果接口传递参数有误,一般都是前台bug

而一般接口返回数据有误,则往往都是后台bug

10.请求接口中常见的返回状态码?

2** 请求发送成功

200 查询成功:  201新建成功  204删除成功

3**需要进一步处理

4** 客户端的请求有误:415 请求体格式有误   404服务器找不到相应的资源

5** 服务器端响应有误:500 服务器内部错误

11.接口测试用例是如何编写的?
接口测试用例的编写是根据业务规则和参数覆盖的原则进行编写,

业务规则:我们一般考虑业务流程,正向流程,逆向流程,业务的边界,

参数覆盖:主要考虑参数的类型,边界值,个数,必填,可选,及默认值等覆盖,还有一些参数的唯一性和存在性覆盖,参数中的特殊字符等等。

还要考虑安全用例和性能用例。

-------------------------------------------------------------------------------------------------------整理自网络----侵删 
 

  • 1
    点赞
  • 54
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值