这段时间在自己搭建公司的测试平台框架,基本已经成型,可以满足编写接口、接口自动化、接口性能、数据展示等功能,回过头来看可以使用的工具,发现还是尽量保持“工具引用,不依赖工具”的思想,这里做一个总结。
1、首先只会独立使用工具,会带来很大的局限性
比如,我们会使用jmeter来写几个接口,会用postman来做接口,还有其它的工具,那么,我认为这只能局限在你的接口测试的最基础层面。通过阅读工具的文档,谁都可以通过UI页面的操作,搭建接口测试,然后执行,产生报告。但是遇到稍微复杂点的接口,你就无从下手了。我举个例子,我在测试微信小程序的时候,微信会根据每次登录产生一个不同的code,一但code被使用,就失效,这个时候,就需要自己来写一个服务器后台接口来主动接受code值,然后将code值实时保存给接口工具。这样,如果只会jmeter,postman等独立的工具,你根本没有办法很容易的建立接口测试,所以,单独的工具是不完美的。
2、确定语言阵营
不同的工具,使用的脚本语言并不一样,至少主推的脚本语言是完全不同的。jmeter是纯java,首推的脚本语言是java脚本;postman主推的脚本语言是JavaScript;python接口测试用python3(不建议选择python2)。所以,做为一个具有编码能力的测试人员,你要选好你的语言阵营,至少是主要语言。当你选择了主要语言,那么,主要工具的选择才能明确。搭建测试框架的时候,就遇到这样的问题。首先,我选择的主语言是python3,所有,我用django做外层框架。python去写接口没有问题,但在接口性能的组合上,遇到了情况,目前,最流行的开源性能测试是jmeter,但如何将jmeter和python相结合使用?本身2者就各为其主,当然没有很好的合体方式。于是,既然是python阵营,那么就要选择python的性能测试工具,于是,用locust来做内部框架中负责性能的部分,问题解决。
3、不要盲目崇拜工具
这个问题实际跟现在的大环境本身就浮躁有关。我们面试任何一家公司的测试岗位时,都会被问到,会不会性能、自动化、安全测试等,会不会用loadrunner,会不会selenium,会不会写脚本。但真正进了公司后才发现,TMD天天做功能,老板还时不时的要你去写需求文档,跑市场,公司的软件不超过100个人使用,测试都没有完成,用户就急忙要,赶工期时恨不得来一个“意念测试”,一秒中出结果。而像jmeter、loadrunner这样的工具,实际上是很强大的,你能用好10%就很不错了,你的公司能用上10%就算你的公司牛逼了。很多公司到“注销”的那一天,都没有去想过使用这些工具的目的是什么。所以,不要盲目崇拜工具,而要实事求是的根据公司自己的情况来选择工具,不一定你一定需要这些工具。
4、从基础做起
接口测试,我建议用python自己写出来。每一个接口,自己一行代码一行代码的实现,这样是最能理解接口的方式。也许你会认为很费时间,很难,其实,只是你自己能力不够,自己不愿意做而已,技术的东西,本身就是因为“懒”而被创造的,只要你愿意开始,真的不难。python编码能力是最基本的,也非常重要,只有这样你才能做更多的测试内容,才能扩展更多的测试方式。同学,用python一步一步把接口写出来吧。
5、接口测试、性能测试的大小维度,实际上很广
这个问题取决于维度的大小。你写一个get去访问百度,用jmeter去压测百度,我们也叫你做过接口测试和性能测试了,对吧。你用postman去测试了一个模块的几十个接口,那也叫你做过这方面的测试了,对吧。但我认为,做测试,也要像软件开发一样,一定要有项目的概念,将测试定义为项目的维度去做。这样的好处是:
(1)所有测试成果可以被“沉淀”到一个地方;
(2)所有测试工作可以被“控制”在一个界限中;
(3)避免测试工作的重复性;
(4)测试工作生成物可在一个标准下被最大化复用;
(5)工作透明。
还有其它的很多好处,大家试了才知道!
作者:小淘马
来源:CSDN