何为测试工具?就是能辅助测试同学来完成特定的操作的工具,比如常见的如postman、Fiddler、Charles、jira,包括jmeter等,当然还包括公司自己开发的用例转换工具,造数工具,Mock工具或是平台等等。一般以应用程序,或是简单的页面来提供相关的功能,只用来完成测试环节中指定的操作,通常不构成体系化的工具或平台,都可以称为测试工具。
作为一个测试同学,在不想去做传统的三大自动化体系(API,WebUI、AppUI)的内容,想通过开发一定的测试工具来体现自己的能力,或是达到拿到好的绩效或是晋升,应该如何做呢?本个就结合自己的经验来提出一点建议,仅供参考:
一、必须掌握一门编码语言
无论你是想做什么样的测试工具,一定会用到相应的开发语言的,如果你没有相应的编码能力,一切都无从谈起。另外对于初学者来说,往往会纠结学习什么语言,python好呢,还是java好呢?其实对于测试来说,最好是都会,因为不同的语言有不同的特点和使用场景。如果从零开始的话,建议学习python,入门快,相应的第三方包也比较多,便于快速开发工具。如果你有一定的语言基础的话,也可以学习java,后续开发大型的项目,java的优势就显现出来了。所以,不要纠结,结合自己的现状,去学习一门语言。
二、开发什么样的工具?
不少做业务测试的同学,看到人家开发了测试工具或是使用了其他人的测试工具,自己也想去学习一下,开发一个测试工具。但是,又不知道从何下手?从网上找一个吧,又不太了解,同时网上的东西介绍清楚的也很少,开源的东西又没有文档,一般运行起来就很难,更不用说二次开发了。所以,开发什么样的工具是第一关,根据我的工作经验来说,一个好的测试工具是能解决你当前测试中遇到的问题的,而不是网上搜来的。那就你就可以从下面几点来分析一下:
1、现在的测试工作中,有什么是必须要做,而大家做起来比较繁琐或是不想做的事情呢?
2、有什么是业务同学,领导或是其他部门的同学比较关注的,而我们没有做的太好的事情呢?
3、把上面的问题罗列一下,分析出问题的核心关键,再进行细化?
4、从网上搜索一下有没有解决相关问题的工具或是方案?
通过认真地做完上面四步,一般就能找出你当前业务中急需要解决的问题,从而抽象出要开发的工具,这个就是你的目标,开发工具的切入点。
三、如何开发测试工具?
现在就到了如何开发一个测试工具了,作为一个测试同学,无论你的能力如何,都不要从零开始去开发一个测试工具。首先我们考虑的可能不够全面,第二,投入产出比非常重要,如果你要花上几个月的时候去开发一个工具,无论这个工具功能如何,都很难得到领导的支持的。所以,当我们想开发一个工具的时候,最好在网上去搜一下有没有类似的工具,如果有,其优缺点是什么?能否满足我们的需求?如果没有,有没有类似的工具呢?最好去github上搜索一个,这些开源的东西方便做二次开发。
当找到一个开源的工具后,下载代码,本地运行打包,试一下它们现有的功能如何?然后再去分析其代码结构,各个模块之间是如何交互的,尝试修改一下代码,能否达到自己的要求。当这一切做完后,你就可以根据自己的需要,对这个工具做二次开发了。当然,后期还可能修改一下标志啊,版本信息什么的,就可以在公司内部去得瑟了。当然不能商业化,否则会有版权问题。
四、工具的推广与升华
工具开发完成后,就可以交给业务同学来使用了,当然也可以交给其他部门的同学来使用。在使用期间,做好技术支持,及时优化可能遇到的问题。当工具发挥出其作用后,我们可以继续开发其他的工具,有了经验举一反三就容易的多了。但是也不要仅仅满足于工具,测试要想往高的职级上升,必然要做体系化的东西,比如,开发解决一系列问题的平台,对工具使用情况做度量,分析,反馈于测试等等。
本文没有从具体的技术层面,或是针对具体的工具开发做详细的讲解,因为每个公司的业务不一样,测试工具也不存在通用性,好的工具必定要与业务切合度非常高的。