如何在日常工作中开发测试工具?_测试工具开发-程序员宅基地

技术标签: 开源项目  测试框架介绍  工作思考  测试工具  

        以前利用节假日,通过腾讯课堂录制了不少测试发展建议,自动化测试系列,功能测试系列以及面试指导等课程,确实没有想过去录制开发测试工具的课程。后来有同学问我,他想开发测试工具,应该如何入手?虽然我没有录制这方面的课程的想法,不过可以写篇文章,我们深入的讨论一下。

        何为测试工具?就是能辅助测试同学来完成特定的操作的工具,比如常见的如postman,Fiddler,Charles, jira,包括jmeter等,当然还包括公司自己开发的用例转换工具,造数工具,Mock工具或是平台等等。一般以应用程序,或是简单的页面来提供相关的功能,只用来完成测试环节中指定的操作,通常不构成体系化的工具或平台,都可以称为测试工具。

        作为一个测试同学,在不想去做传统的三大自动化体系(API,WebUI,AppUI)的内容,想通过开发一定的测试工具来体现自己的能力,或是达到拿到好的绩效或是晋升,应该如何做呢?本个就结合自己的经验来提出一点建议,仅供参考:

一,必须掌握一门编码语言

        无论你是想做什么样的测试工具,一定会用到相应的开发语言的,如果你没有相应的编码能力,一切都无从谈起。另外对于初学者来说,往往会纠结学习什么语言,python好呢,还是java好呢?其实对于测试来说,最好是都会,因为不同的语言有不同的特点和使用场景。如果从零开始的话,建议学习python,入门快,相应的第三方包也比较多,便于快速开发工具。如果你有一定的语言基础的话,也可以学习java,后续开发大型的项目,java的优势就显现出来了。所以,不要纠结,结合自己的现状,去学习一门语言。

二,开发什么样的工具?

        不少做业务测试的同学,看到人家开发了测试工具或是使用了其他人的测试工具,自己也想去学习一下,开发一个测试工具。但是,又不知道从何下手?从网上找一个吧,又不太了解,同时网上的东西介绍清楚的也很少,开源的东西又没有文档,一般运行起来就很难,更不用说二次开发了。所以,开发什么样的工具是第一关,根据我的工作经验来说,一个好的测试工具是能解决你当前测试中遇到的问题的,而不是网上搜来的。那就你就可以从下面几点来分析一下:

1,现在的测试工作中,有什么是必须要做,而大家做起来比较繁琐或是不想做的事情呢?

2,有什么是业务同学,领导或是其他部门的同学比较关注的,而我们没有做的太好的事情呢?

3,把上面的问题罗列一下,分析出问题的核心关键,再进行细化?

4,从网上搜索一下有没有解决相关问题的工具或是方案?

        通过认真地做完上面四步,一般就能找出你当前业务中急需要解决的问题,从而抽象出要开发的工具,这个就是你的目标,开发工具的切入点。

三,如何开发测试工具?

       现在就到了如何开发一个测试工具了,作为一个测试同学,无论你的能力如何,都不要从零开始去开发一个测试工具。首先我们考虑的可能不够全面,第二,投入产出比非常重要,如果你要花上几个月的时候去开发一个工具,无论这个工具功能如何,都很难得到领导的支持的。所以,当我们想开发一个工具的时候,最好在网上去搜一下有没有类似的工具,如果有,其优缺点是什么?能否满足我们的需求?如果没有,有没有类似的工具呢?最好去github上搜索一个,这些开源的东西方便做二次开发。

       当找到一个开源的工具后,下载代码,本地运行打包,试一下它们现有的功能如何?然后再去分析其代码结构,各个模块之间是如何交互的,尝试修改一下代码,能否达到自己的要求。当这一切做完后,你就可以根据自己的需要,对这个工具做二次开发了。当然,后期还可能修改一下标志啊,版本信息什么的,就可以在公司内部去得瑟了。当然不能商业化,否则会有版权问题。

四,工具的推广与升华

      工具开发完成后,就可以交给业务同学来使用了,当然也可以交给其他部门的同学来使用。在使用期间,做好技术支持,及时优化可能遇到的问题。当工具发挥出其作用后,我们可以继续开发其他的工具,有了经验举一反三就容易的多了。但是也不要仅仅满足于工具,测试要想往高的职级上升,必然要做体系化的东西,比如,开发解决一系列问题的平台,对工具使用情况做度量,分析,反馈于测试等等。

     本文没有从具体的技术层面,或是针对具体的工具开发做详细的讲解,因为每个公司的业务不一样,测试工具也不存在通用性,好的工具必定要与业务切合度非常高的。我们只是从想开发测试工具,应该如何去入手,如何去提升,给你一下思考的方向,如果有具体的问题,欢迎与我做具体的交流!

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/lionking0318/article/details/127365193

智能推荐

Extjs多个tab页面——panel层叠_extjs写一个panel,多个ta-程序员宅基地

文章浏览阅读4.8k次。Extjs多个tab页面——panel层叠_extjs写一个panel,多个ta

搭建流媒体推流/拉流服务(RTMP/RTSP/HLS/HTTP-FLV)_rtmp拉流地址-程序员宅基地

文章浏览阅读1.9w次,点赞21次,收藏110次。搭建流媒体服务,将rtsp或者rtmp视频流转换为H5可以直接播放的视频。用在直播、安防监控、视频点播、屏幕画面转播等_rtmp拉流地址

【天梯赛】L2-010. 排座位(并查集)_hive排座位-程序员宅基地

文章浏览阅读292次。布置宴席最微妙的事情,就是给前来参宴的各位宾客安排座位。无论如何,总不能把两个死对头排到同一张宴会桌旁!这个艰巨任务现在就交给你,对任何一对客人,请编写程序告诉主人他们是否能被安排同席。输入格式:输入第一行给出3个正整数:N(<= 100),即前来参宴的宾客总人数,则这些人从1到N编号;M为已知两两宾客之间的关系数;K为查询的条数。随后M行,每行给出一对宾客之间的关系,格式为:“宾客..._hive排座位

java中nextToken,Java StringTokenizer nextToken()用法及代碼示例-程序员宅基地

文章浏览阅读1.5k次。StringTokenizer類的nextToken()方法用於從此StringTokenizer依次返回下一個標記。用法:public String nextToken()參數:該方法不帶任何參數。返回值:該方法返回字符串令牌化程序行中存在的下一個令牌。下麵的程序說明StringTokenizer的nextToken()方法的用法:示例1:// Java code to illustrate n..._next token的用法

如何自动校正系统时间_timesync 自动-程序员宅基地

文章浏览阅读268次。网上一些校正系统时间的方法,大多需要手动操作,有没有什么工具可以自动完成相关的操作呢? 可以试试NetTime工具(http://www.timesynctool.com/).安装该工具时会创建一个自启动服务,以后每次启动系统,它都会随之启动并自动校正系统时间。_timesync 自动

CSS:如何清除a标签之间的默认留白间距_css处理手机自动留白安全距离-程序员宅基地

文章浏览阅读2.3k次。即使我们使用了类似 *{margin: 0;padding: 0;} 这样的代码重置了浏览器默认样式,也会发现类似标签这种inline-block元素,它们之间也还存在着间距。demo:默认情况123456789101112131415_css处理手机自动留白安全距离

随便推点

数据库中表和视图的关系-程序员宅基地

文章浏览阅读868次。联系: 视图(view)是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有数据行)都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系。区别:1、视图是已经编译好的sql语句。而表不是 2、视图没有实际的物理记录。而表有。 3、表是内容,视图是窗口 4、表只用物理空间而视图不占用物理空间,视图只是逻辑概..._统计和数据库视图有什么关系

ZZULIOJ1061: 顺序输出各位数字_zznuoj1061顺序输出各位数字-程序员宅基地

文章浏览阅读614次。【代码】ZZULIOJ1061: 顺序输出各位数字。_zznuoj1061顺序输出各位数字

maven打包错误: Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.2.0:resources on-程序员宅基地

文章浏览阅读601次。问题截图:解决方案:在pom.xml文件中添加: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version>2.4.3</version> _failed to execute goal org.apache.maven.plugins:maven-resources-plugin:3.3.0

ArduPilot开源飞控之do_failsafe_action_开源飞控解锁-程序员宅基地

文章浏览阅读310次。之前在[ArduPilot飞控之FAILSAFE机制](https://blog.csdn.net/lida2003/article/details/132191018)中,针对Ardupilot的`FAILSAFE`机制进行了相对完整的介绍。本章节将从代码的角度来看`FAILSAFE`代码触发入口,以及对应的应对策略。_开源飞控解锁

运维工作反思总结_运维工作汇报不足-程序员宅基地

文章浏览阅读3.3k次。软件项目的生命周期分为六个阶段:项目前期、项目启动、项目蓝图、项目实施、项目验收、项目运维。其中项目运维是项目中的重要环节。针对本次客户反馈工作进行反思总结。_运维工作汇报不足

Linux系统中的日志服务管理_linux系统日志服务-程序员宅基地

文章浏览阅读1.1k次。目录1.日志介绍1.1 什么是日志1.2 Linux系统使用的两种系统日志服务1.3 ELK2.rsyslog的管理2.1 系统日志术语1.2 实验1.日志介绍1.1 什么是日志网络设备、系统及服务程序等,在运作时都会产生一个叫log的事件记录;每一行日志都记载着日期、时间、使用者及动作等相关操作的描述日志记录的内容包括: 历史事件:时间,地点,人物,事件 日志级别:事件的关键性程度,Loglevel 1.2 Linux系统使用的两种系统日_linux系统日志服务

推荐文章

热门文章

相关标签