测试那些事儿(十)- 接口测试(上)

说说接口测试

越来越多的测试人开始做接口测试了,这个从大家的简历上就能看到端倪,基本上体现接口测试经验的就一句话:

简历模板

但是经过面试,发现了一个本末倒置的问题,面试者往往熟练的是使用接口测试工具的能力,但是对于接口测试本身却知之甚少。无论做什么事情都有其目的,先搞清楚为什么做就不会出现跑偏。本着这个原则,我们就先来看看什么是接口测试吧。

接口测试是测试系统组件间接口的一种测试,主要用于测试系统与外部其他系统之间的接口,以及系统内部各个子模块之间的接口。测试的重点是要检查接口参数传递的正确性,接口功能实现的正确性,输出结果的正确性,以及对各种异常情况的容错处理的完整性和合理性。(来自百度百科)

定义其实很清楚了,目的就是通过一种测试方法验证 接口参数传递的正确性,接口功能实现的正确性,输出结果的正确性,以及对各种异常情况的容错处理的完整性和合理性。 接口测试和普通的功能测试一样,关心的是结果!而Jmeter或Postman只是工具而已,不能越俎代庖的成为目的。当然,如果你想说你熟练使用某一个接口测试工具实现了在接口测试上的各种提效(如自动化),那就要重点描述自动化的过程和技术实现,这才是面试官最关心的。

大部分人的接口测试

我经常在面试中会问的问题:

  • 进行接口测试的流程是什么?
  • 做接口测试的都关注那些?可以单从请求和返回值来说明。
  • 都用过京东或者淘宝吧?能够说出和购物车功能相关的都有哪些接口吗?
  • 这些接口怎么组合能形成一个购物车的接口闭环测试用例呢?

我得到的答案90%是下面这样的:

  • 根据开发提供的接口文档进行测试或者开发不提供就自己抓包进行测试。(可以理解)
  • 关注返回状态码是200。。。还有呢?没有了。。。
  • 呃。。。不知道
  • 呃。。。不知道

所以,结合之前说的接口测试的目的,大部分的接口测试连验证返回值的数据是否正确都没有做到,仅仅做到了验证接口能够调通而已!而且做的接口测试只是单接口的验证,并没有结合业务进行闭环整合。
回想一下功能测试,我们有通过产品需求来设计手工测试用例的能力,这些用例是从需求中按照功能抽离出来的,而且大部分用例是连续的。接口测试也是一样的,他们也可以从需求中抽离出来,只是不像功能测试点那么明显,而且接口测试也应该是连续的。我经常会和测试人员说一句话:如果不考虑给人看的话,其实一个功能用接口们就可以实现了。这就是为什么接口测试可以先于功能测试完成。

我希望得到的答案:

  • 根据开发提供的接口文档进行测试或者开发不提供就自己抓包进行测试。(考虑到公司开发的良莠不齐,这个没问题)
  • 我会根据接口文档,验证请求时不同的参数所得到的正常和异常返回值;并重点关注返回值的数据准确性和合理性。
  • 购物车的相关接口会包含添加商品到购物车接口、删除购物车中商品接口、修改购物车中商品数量接口、查看购物车列表接口等(增删改查)
  • 可以按照上面的四个接口来进行组合,并在每个阶段都保证数据的准确性。下面是组合顺序:
    1. 调用查看购物车列表接口保证购物车中商品为空
    2. 调用添加商品到购物车接口添加一个商品
    3. 调用查看购物车列表接口保证购物车中商品已添加
    4. 调用修改购物车中商品数量接口增加(或减少)商品数量
    5. 调用查看购物车列表接口保证购物车中商品已修改
    6. 调用删除购物车中商品接口删除商品
    7. 调用查看购物车列表接口保证购物车中商品为空

想要能够回答这些问题,需要进行接口测试能力的锻炼。

接口测试能力

再次强调一下,接口测试和功能测试一样,是一种基础能力。接口测试并不是什么神话,它其实就是一个普通的黑盒测试方法,只是不像功能测试那么明显罢了。

以下我们罗列下接口测试能力的拆解:

  1. 通过接口文档进行接口测试的能力
  • 熟悉需求并根据开发提供的接口文档设计接口测试用例,可以结合需求判断出接口文档业务逻辑、各参数定义、返回值是否合理。
  • 熟悉接口请求参数(url、header、body等),能够根据边界值法、等价类法等基本测试方法设计传入参数。
  • 根据上面不同的传参来断言对应的返回值是否满足接口文档需求,尤其需要关注数据准确性、状态码是否正确等。
  • 设计产生必要请求参数的脚本(如生成登录鉴权token等),不用每次都找开发生成。
  1. 通过业务功能窥探出对应接口的能力
    有些时候我们拿不到接口文档或者开发提供不全怎么办?怎么能单从需求上就知道会有什么接口呢?其实并不难,只要遵循一个原则 - 数据增加、删除、修改、读取的动作大都会需要接口调用。 我们常见的前端页面包含H5页面、Web页面、客户端页面(Android、IOS),基本上只做展示逻辑,并不会进行更加复杂的操作。所以大部分的情况下,只要出现了提交、页面跳转等行为,出现了页面的数据变更时,基本上都会进行接口请求。当然,凡事都有例外,有些前端会缓存一部分数据,所以可能有些页面跳转不会进行接口请求;有些页面不会跳转但也会进行接口请求,比如购物车的商品数量增加动作(否则为什么你增加了商品就退出下次进来就能看到是变了的)。这些“非常见”的情况就要依托于业务来思考,只要多加锻炼就能形成思维定式。
  2. 将接口组装成业务级闭环测试用例的能力
    光有测试一个接口的能力是远远不够的,因为一个功能是由很多接口构成的,只是一个接口一个接口的进行独立测试无法将功能串联起来,就像做功能测试只测试每个页面,不能不管多个页面的互相配合一样。这里也有一个简单原则来将接口测试闭环:增 - 查 - 改 - 查 - 删 - 查
    看了上面购物车例子的同学应该不难理解吧!但我要说每个功能都不同,素以我这个原则不一定适用于所有,只能说适应大部分简单的功能。但有一点要记住,所有涉及到数据变动(增、删、改)的行为,都要有查来验证,这才是正确的接口测试打开方式,否则不能算作闭环。

测试人需关注

接口测试涉及的知识还是很多的,今天我们只讲了思维部分,如何精进之后我们在聊。但是只有思维对了,才能真正的把事情做好,才不会跑偏。希望这篇文章能够让大家了解:

  • 做接口测试的目的
  • 如何拥有接口测试能力

还很迷茫的小伙伴可以再看下上面的文章,或者给我评论,我们一起讨论。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容