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

漫谈接口测试

作者头像
无涯WuYa
发布2018-10-24 12:49:15
5360
发布2018-10-24 12:49:15
举报

在前面的很多的文章对中接口测试有很多的介绍,包含了常用的接口测试工具postman,以及测试工具Jmeter(目前在持续介绍中)和使用Python代码来做产品的接口自动化测试。一个问题,一起思考,我们为什么要做接口测试?我们为什么不做UI的自动化测试了?曾经有那么的一段时间,我是很倡导UI级的自动化测试的,因为它的出现,解决了手工测试的事情,而且也可以对浏览器进行兼容性的测试,当然还有很多的优点,也许最大的优点就是我下班的时候执行我的UI自动化测试,早上来我可以看到测试报告,然后感觉有那么一丝的成就感,但是渐渐的我不那么的喜欢了。首先就是在晚上上线的时候,它对我没有帮助,或者说帮助不大,0点上线,大家都等待着冒烟测试的结果,如果执行UI自动化测试,时间是1-2小时,也许更长,这么长的时间,我有耐心可以等下去,但是其他人没有,另外一个深层次的问题是产品每个迭代UI都不不断的调整,即使框架是多么的完美,但是谁受的了每次的调整,这个能够抱怨产品经理吗?市场在变化,客户在变化,产品必须满足客户的要求并且随着市场的变化而进行调整,这是毋庸置疑的,这种调整不几个版本能够调整出来的,找到用户的痛点并且总结出高频的用户场景不是一件容易的事,应用市场有那么多的产品,失败的无人搭理的远远大于成功的产品数,所以某些程度上,产品的调整更多是战略上的思考,而这些作为测试来说,只能配合,那么UI的不断调整不断维护,给人更多的是一种力不从心,或者是质疑,自动化真的就那么的重要并且真的解放了测试的人力问题吗?不得不承认,这个问题我听到过很多次,也有人问过我很多次,每一次改进,都必然经历质疑和怀疑,这点只能使用未《未来简史》里面的一段话来作为回答:人们只所以不愿意改变,是因为害怕未知。但是历史唯一不变的事实,就是一切都会改变。如果不改变,一切就又回到了最初的原点,进行手工测试,这些很多人不愿意接受而又迷茫的地方,一方面我们相信技术可以促进生产力的进步,在一定程度上可以解放人力的劳动,另外一方面就像上面描述的陷入到了UI自动化测试的死局。任何一个技术,都有它存在的比必然价值,但是选择适合自己的测试技术是最佳的一种选择。

我们必不可停止探索,而一切探索的尽头,就是重回原点,并对起点有首次般的了解。回到程序的本质,回到测试的最初点,目前的开发模式基本都是前后端的开发模式,在测试金字塔的模型中,最底层是单元测试层,中间层是接口层,最上面是UI层,依据它的理论,越往下投入的越多,它的价值越大,比如单元测试投入的比例很多,到集成测试的阶段,基本已经存在很少的问题,最多可能是中间层或者是场景化的问题,而程序内部由于经过了大量的单元测试存在问题很少,但是做单元测试的公司又有多少?能够自测自己代码的开发又有多少了。大多数时候,转测给测试的本版,属于调试阶段,各种想吐槽又不知道如何吐槽,现实也许就是如此,对于测试而言做单元测试部分,可能涉及到技术层次不到位等等因素,这一层的测试只能期待,而不能强求。

那么剩余的就是接口层和UI层,我的理念是弱化UI层,强化接口层。通过接口测试的形式来做产品的业务,接口执行的速度是非常快的,即使上千的接口用例,执行也就十几分钟出结果了,而不需要等太久。可能会有人担心接口执行通过,能够证明产品的业务功能是好的吗? 只要接口用例覆盖了产品的业务逻辑和测试点,那么可以说是正确的,当然也有接口测试所不能测试到的地方,比如前端的交互,这些和后台没任何的交互,接口测试是无法到位的地方,可以人为的去检查下。在接口测试方式来做产品业务的时候,有两点非常重要,第一点是测试场景,或者说是测试点要覆盖到位,第二点是断言要合理,如果二者有一点存在问题,那么测试执行的结果是要打折扣的,或者说这个测试结果是不可信的,不够权威。有下一节会再次的写下接口测试的几个方面,本计划今天晚上写的,已经11点了,准备休息。

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

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

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

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

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