对接口自动化测试的几点思考(一)

在自动化的测试体系中,目前应用的比较多,包含了UI自动化测试和接口自动化测试,在UI的自动化测试中使用最广泛的是Selenium框架,移动端是Appium,接口自动化测试方面选择性比较多。一个测试团队在技术选型上在我看来相当的重要,因为一个技术的选择,它决定了研发效率,测试的工作主要是两点,第一点是产品质量管理,关于产品质量部分,可以通过测试策略和测试分析得出什么应该测试,什么不应该测试,当然这是下一个测试技术发展的方向,不在今天的讨论范围内。第二点是工程效率,在测试这边就是测试效率。那么如何来提高测试效率了?

UI自动化测试有它存在的必然价值和意义,但是在互联网时代和物联网的快速迭代,快速快捷的开发模式中,唯一的不变是变化,那么测试团队如何来应对这个形式,这就值得有的讨论。产品的不断变化,UI的不断调整,产品的快速迭代,UI自动化测试明显跟不上这个节奏,即使使用了页面对象设计模型,但是还是无法满足需求。在测试的金字塔模型中,UI自动化测试的比例实际上并不高,见如下的截图:

在这个模型中,越往下比例会占的越高,也就是说在一个产品测试中,单元测试比例是最高的,依次是接口测试和UI自动化测试。基于现实的考虑,特别是在一个公司中,开发语言特别的多,比如本人所在的公司就有go,python,php等语言开发,当然还有js,对于测试来说做单元测试不是很理想,那么就只有接口测试了。所以交互层的测试是需要投入的,但是尽量投入比较少的时间去测试,把更多的时间放在应用测的测试。

目前是开发模式基本是前后端分离,也要求测试掌握接口测试的知识,掌握接口测试的知识不是单纯的说会一点抓包工具,会个postman就说可以会接测试,首先需要了解HTTP协议的相关知识,以及搞明白什么是cookie,什么是session和什么是token,以及cookie,session,token之间的区别是什么?明白客户端与服务器之间的请求流程是什么?这些知识点都是做接口自动化测试是必须要掌握的知识点。

HTTP的协议是基于应用层的协议,它不需要考虑网络传输层的事情,另外HTTP协议是无状态的协议,也就导致了cook了技术的发展。当打开google后,返回了google的首页,或者说客户端发送请求给服务端,服务端响应回复给客户端,这个请求的过程具体为:

具体可描述为:

1、客户端与服务端之间建立TCP的连接;

2、发送HTTP请求,也就是客户端发送Request请求;

3、返回HTTP结果,也就是说服务端Response回复客户端;

4、关闭TCP的连接。

如上信息就是一个完整的基于HTTP的请求流程,不管是基于目前前后端分离的开发模式还是开发提供的API,都是可以通过基于HTTP的请求流程来进行接口自动化的测试。在接口自动化测试中需要掌握的知识除了python语言外,还需要HTTP协议,POSTMAN测试工具,Jmeter测试工具,requests库,序列化与反序列化等知识。想参加第五期接口自动化测试的同学可加QQ:2839168630

在快速迭代又要求高质量产品的一个环境中,测试只能快,要么就是无休止的加班,但是即使这样也不一定产品质量就是让领导满意的。而接口自动化测试也是可以满足这个趋势,另外在整个接口层开发改东的相对来说比较少,变化少,可以更加高效的投入时间在应用层的测试,少投入时间去测试交互层。

原文发布于微信公众号 - Python自动化测试(wuya-python)

原文发表时间:2018-07-04

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏企鹅号快讯

互联网应用架构标准模型

随着互联网的普及,越来越多的企业也开始往互联网化转型,相应的企业也要为此构建配套的互联网应用。软件架构方面,很多企业一味求快,而放弃很多需要坚持的原则,这会带来...

2660
来自专栏腾讯移动品质中心TMQ的专栏

腾讯TMQ在线沙龙回顾|测试左移实践

测试左移实践 活动时间:2017年6月28日 QQ群视频交流 活动主题:TMQ在线沙龙第二十三期分享 本次分享的主题是:测试左移实践 共有214位测试小伙伴报名...

2118
来自专栏ATYUN订阅号

【业界】iOS Bug解决办法:如何防止Siri读出隐藏的通知

AiTechYun 编辑:yuxiangyu ? 尽管苹果尚未针对iOS错误展开修复,使得Siri能够读出隐藏的锁屏通知,但以下方法可以解决目前的安全漏洞。 ...

3444
来自专栏腾讯大讲堂的专栏

你好,我是小程序【正式上线】

2017年1月9日,小程序如约而至。 小程序究竟该如何获取?首先,你需要将微信更新至iOS6.5.3版本或Android6.5.3版本,其次,你得尝试使用一个小...

2445
来自专栏企鹅号快讯

高可用性的前生今世

题记:今天是2018年1月1日,这是一个特殊的日子,民间称为“三头”,意思是周头、月头、年头;我把它称为“3A”,指Kerberos协议的3A。无独有偶的是今年...

2187
来自专栏小狼的世界

关于框架的一些思考

如果你的团队很小并且在软件开发领域也没什么经验,那么放下包袱使用开源框架吧(OSS Framework),但是如果你有一个很大而且有丰富经验的团队,那么最好还是...

843
来自专栏韩伟的专栏

经典软件架构模式

目录 (一) 架构模式是什么 (二) 分层模式案例 (三) 微核模式案例 (四) 管道与过滤器案例 (五) MVC模式案例 (六) REST模式案例 (七) S...

4305
来自专栏互联网杂技

小程序来了

2017年1月9日,小程序如约而至。 小程序究竟该如何获取?首先,你需要将微信更新至iOS6.5.3版本或Android6.5.3版本,其次,你得尝试使用一个小...

3848
来自专栏CSDN技术头条

为什么要从PHP转向Go,及满足于使用MySQL

? 左:ElePHPant(Vincent Pontier),右:Gophers (golang.org)。此二者分别是PHP和Golang的吉祥物 【译者注...

42310
来自专栏Youngxj

捕鱼达人html在线游戏源码

2404

扫码关注云+社区

领取腾讯云代金券