前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >老谈酸菜接口测试

老谈酸菜接口测试

作者头像
测试小兵
发布2019-07-22 16:31:51
6380
发布2019-07-22 16:31:51
举报
文章被收录于专栏:猪圈子猪圈子

小石阿.90后天秤座.喜欢分享

引言:可能接口对我们大家普通人而言就是我们所见到的下图中的一些画像

NO1:插就完了

NO2:或者这样↓↓↓

NO3:还是这样??? 真是一个比一个生动

一万个为什么在奔腾!!!你是来搞笑的吧二狗子

那么软件的接口是什么呢?官方回答。

计算机世界里的接口这两个字具有两种众所周知的含义:其一是指软件本身的狭义“接口”,比如各种软件开发API等。其二则指的是人与软件之间的交互界面。

把这种人-软件之间的接口称作“用户界面”,也就是“UI”。这里要讨论的前一种定义:软件不同部分之间的交互接口。通常就是所谓的API应用程序编程接口,其表现的形式是源代码。API的发明和发展大大促进了计算机产业的进步,同时API几乎决定着日常运算的各个方面。

大多数程序员秉承为软件用户设计优秀的用户界面思想,这一点早已深入人心。可是,另一方面,如何实现合理的软件API却只为少数人所重视。历史证明,所有在应用上获得成功的软件或者Web应用无一不是首先在API的设计上满足了用户的需求,即便这些用户几乎从不直接使用这些API。

网络用户回答:

软件接口就是指程序中具体负责在不同模块之间传输或接受数据的并做处理的类或者函数。(而不是指传输的数据!!)

比如腾讯发布一个qq登录的接口(一个函数),别人拿到这个函数放到自己的网站代码里面运行,就可以通过这个函数把用户输入的账号密码传给腾讯服务器,服务器校验成功后就能让用户第三方登录QQ了。

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

比如说在一个提取页面,提现输入框,在页面上输入负数,肯定是无法提交过去(前端页面会判断金额),如果我不走前端,直接用接口工具发请求,输入一个负数过去。

(假设服务端没做提现金额数据判断)

余额=当前余额(100)-提现金额(-100),那么提现-100,余额就变成200了,也就是越提现,余额越大了

可以用接口工具去直接请求接口,也可以fiddler抓包,抓到接口后修改金额为负数

所以,接口测试的必要性就体现出来了:

1.可以发现很多在页面上操作发现不了的bug

2.检查系统的异常处理能力

3.检查系统的安全性、稳定性

4.前端随便变,接口测好了,后端不用变

5.可以测试并发情况,一个账号,同时(大于2个请求)对最后一个商品下单,或不同账号,对最后一个商品下单

6.可以修改请求参数,突破前端页面输入限制(如金额)

平常你是怎么测试接口的?

通过性验证:首先肯定要保证这个接口功能是好使的,也就是正常的通过性测试,按照接口文档上的参数,正常传入,是否可以返回正确的结果。

参数组合:现在有一个操作商品的接口,有个字段type,传1的时候代表修改商品,商品id、商品名称、价格有一个是必传的,type传2的时候是删除商品,

商品id是必传的,这样的,就要测参数组合了,type传1的时候,只传商品名称能不能修改成功,id、名称、价格都传的时候能不能修改成功。

接口安全:

1、绕过验证,比如说购买了一个商品,它的价格是300元,那我在提交订单时候,我把这个商品的价格改成3元,后端有没有做验证,更狠点,我把钱改成-3,是不是我的余额还要增加?

2、绕过身份授权,比如说修改商品信息接口,那必须得是卖家才能修改,那我传一个普通用户,能不能修改成功,我传一个其他的卖家能不能修改成功

3、参数是否加密,比如说我登陆的接口,用户名和密码是不是加密,如果不加密的话,别人拦截到你的请求,就能获取到你的信息了,加密规则是否容易破解。

4、密码安全规则,密码的复杂程度校验

异常验证:

所谓异常验证,也就是我不按照你接口文档上的要求输入参数,来验证接口对异常情况的校验。比如说必填的参数不填,输入整数类型的,传入字符串类型,长度是10的,传11,总之就是你说怎么来,我就不怎么来,其实也就这三种,必传非必传、参数类型、入参长度。

性能测试

接口并发情况,如上面提到的:一个账号,同时(大于2个请求)对最后一个商品下单,或不同账号,对最后一个商品下单

接口响应时间,响应时间太长了,肯定需要优化,一般都是毫秒级别

平常用什么工具测接口的

接口测试工具很多,首先postman、其次用jmeter

没有接口文档,怎么做接口测试?

(首先要知道接口的作用、接口在哪里?接口需要传递什么样的数据)

1.没有接口文档,那就需要先跟开发沟通,然后整理接口文档(本来是开发写的,没办法,为了唬住面试官,先说自己整理了)

2.没有接口文档,可以抓包看接口请求参数,然后不懂的跟开发沟通

在手工接口测试或者自动化接口测试的过程中,上下游接口有数据依赖如何处理?

用一个全局变量来处理依赖的数据,比如登录后返回token,其它接口都需要这个token,那就用全局变量来传token参数

当一个接口出现异常时候,你是如何分析异常的?

1.抓包,用fiddler工具抓包,或者浏览器上f12,app上的话,那就用fiddler设置代理,去看请求报文和返回报文了

2.查看后端日志,xhell连上服务器,查看日志

如何模拟弱网测试?

fiddler和charles都可以模拟弱网测试,平常说的模拟丢包,也是模拟弱网测试

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

平常提bug的时候,前端开发和后端开发总是扯皮,不承认是对方的bug

这种情况很容易判断,先抓包看请求报文,对着接口文档,看请求报文有没问题,有问题就是前端发的数据不对

请求报文没问题,那就看返回报文,返回的数据不对,那就是后端开发的问题咯;下期继续挖掘整理,可以关注下方订阅号二维码阅读更多好文

本文来自:来源于公众号猪圈子-强势来袭-部门图片来源于网络,不作任何商业用途,如有侵权请及时联系删除

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python测试社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档