接口测试

1、什么是接口测试?
接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部与系统之间以及内部各个子系统之间的交互点。
测试的重点是检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等。
2、接口测试分类
1)模块之间的接口:如订单模块下单时,需要去用户资金模块查询余额等
2)系统对外部系统提供的接口。
3)内部子系统的服务之间的接口。
3、接口测试场景:
1)手机APP
2)客户端软件
3)web端网站API:微信接口、新浪微博接口等等
4)公司内部系统API:订单接口需要调用用户资金接口查询余额
4、接口测试流程
需求讨论、需求评审、场景设计、编写用例、准备数据、执行测试
a)需求评审,熟悉业务和需求
b)开发提供接口文档(必须提供接口说明、url、请求方法、请求参数、参数类型、请求参数说明及返回参数说明)
c)编写接口测试用例
d)进行用例评审
e)提测后开始测试
f)提交测试报告
5、接口测试与功能测试
功能测试用于测试系统功能是否满足业务逻辑。
功能测试包含一个或多个接口测试。
接口测试能涵盖一定的功能测试。
6、接口测试与性能测试
自动化测试的模拟行为,测试效率较慢。
接口测试可以直接和服务器进行快速交互,对接口进行性能、压力测试。
7、接口测试与安全测试
功能测试能一定程度上测试安全性,接口测试能大范围测试系统安全性,类似于模拟黑客攻击的行为。
方便测试非正常输入值。
SQL注入、Xss、Csrf
8、接口测试与自动化测试
自动化测试如app自动化测试、web自动化测试:都是模拟人类的行为。
接口测试可以在底层模拟人类的行为去进行测试。
9、接口测试能带来什么
1)提升测试效率:底层的一个bug能够引发上层的8个左右的bug,而且底层的bug很容易引起全网的宕机,接口测试能够提供系统复杂度上升情况下的低成本高效率的解决方案。
2)能快速定位bug
3)安全缺陷
4)性能缺陷
10、接口的认证
1)用户名密码
2)sessionid或access_token
3)公钥私钥
11、
在这里插入图片描述
12、接口测试发现哪些问题
提现输入框,在页面上输入负数,肯定无法提交过去(前端页面会判断金额),如果不走前端,直接用接口工具发请求,输入一个负数过去(假设服务器没做提现金额数据判断)
余额 = 当前约(100) - 提现金额(-100),那么提现-100,余额就变成200了,也就是越提现,余额越大了。
可以用接口工具去直接请求接口,也可以fiddler抓包,抓到接口后修改金额为负数。
13、接口测试的必要性
1)可以发现很多在页面上操作发现不了的bug
2)检查系统的异常处理能力
3)检查系统的安全性、稳定性
4)前端随便变,接口测试好了,后端不用变
5)可以测试并发情况,一个账户,同时(大于2个请求)对最后一个商品下单,或不同账户,对最后一个商品下单
6)可以修改请求参数,突破前端页面输入限制(如金额)
14、用什么工具测接口
1)postman:最简单的基于http接口的调试和测试工具。
2)Jmter:后置处理器配合断言基本上可以满足接口测试需求,就是测试报告要做二次开发。
3)python:配合类似xunit测试框架,基本可以满足一切需求。
4)soapui:收费的。
5)insomnia:postman的弱化版,基本功能免费,工具代码开源,可以自己改。
6)paw:强力推荐,Mac上最强。
15、WebService接口时如何测试的
WebService接口用SoapUI
请求地址、对应的SoapUI入参里raw里的SoapAction信息、对应SoapUI的入参XML信息。
16、没有接口文档如何做接口测试
a、没有接口文档,先跟开发沟通,然后整理接口文档
b、没有接口文档,可以抓包看接口请求参数,不懂的跟开发沟通
17、在接口测试中,上下游接口有数据依赖如何处理
用一个全局变量来处理依赖的数据,比如登录后返回token,其他接口都需要这个token,那就用全局变量来传token参数。
18、依赖第三方数据的接口如何进行测试
搭建mock服务。
19、当一个接口出现异常时,你是如何分析异常的
a、抓包,用fiddler工具抓包,或者浏览器上f12,app上的话,那就用fiddler设置代理,去看请求报文和返回报文了。
b、查看后端日志,xhell连上服务器,查看日志。
20、如何模拟弱网测试
fiddler和charles都可以模拟弱网测试,平常说的模拟丢包,也是模拟弱网测试。
21、如何分析一个bug是前端还是后端的
1)先抓包看请求报文,对着接口文档,看请求报文有没有问题,有问题就是前端发的数据不对。
2)请求报文没问题,那就看返回报文,返回的数据不对,那就是后端问题。
22、为什么要做接口测试?
因为前后端的工作进度不一样,所以我们要针对最开始出来的接口,以及需要调用其他公司的(银行,支付宝,微信,QQ等)
一些接口进行接口测试及验证数据,从安全层来说,只依赖前端进行限制,已经完全不能满足系统的安全要求(绕过前面的实在太容易),需要后端同样进行控制,在这种情况下就需要从接口层面进行验证。前后端传输、日志打印等信息是否传输也需要验证的,特别是涉及到用户的隐私信息,如身份证,银行卡等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值