[ 测试思考 ] 效率提升测试工具开发的思考

本文针对测试部效率提升测试工具开发、管理、维护暴露出来的问题的一些思考以及一些个人改进观点。

写在前面

本文提到的效率提升测试工具不是指的部门中固有的自动化测试工具,这里提到的测试工具统一指测试人员在工作之余自主开发用于期望替代重复、繁琐、耗时的手工操作的测试工具,开发的目的是希望提升测试工作效率。不是针对专业工具开发部门团队的测试工具。

测试工具管理暴露的问题

总体来说,测试内部发布的用于效率提升的测试工具整体质量不高,工具功能、性能、易用性、可维护性质量都不高。大部分测试工具通常都是谁开发的谁用的比较顺手,工具推广度不高。并没有真正让部门其他测试人员效率得到提升。针对这些问题简单调研了一下身边的同事原因,主要以下几个问题。

1、工具不知道从哪里可以获取。这是测试部工具管理的问题。没有统一的发布路径、测试人员不知道当前测试部都有哪些测试工具可以用,不知道从哪里可以获取到

2、工具不会用。测试人员拿到工具不知道怎么使用。对一些相对复杂功能的测试工具没有使用指导书、没有联机帮助。甚至有一些工具开发的菜单、标签、工具名称起的都很含糊。不知道这个工具是要干嘛的。这些通常都是测试人员在开发工具时不考虑工具的易用性问题导致其他测试人员很难上手使用。举个例子,测试工具开发人员用 Python开发了一个windows平台工具但是并没有编译成可执行的.exe程序发布,其他人很难用,首先可能要下载python程序、其他要下载程序依赖的各种类库。用个工具这么麻烦很多人就不想用了。。

3、工具不好用、经常出现问题。测试工具开发在实现工具时可能只针对某一个具体的场景、某一个具体的业务版本进行开发导致工具并不具备推广性。另外,一些工具交互太多甚至使用时有一些依赖外部条件需要设置程序才能正常执行等等都是导致不好用、没人用的原因。

4、工具很难维护(可维护性问题)。工具开发人员技能不一、能力高低有区别、对编码规范的遵循程度也不一样。实现工具开发的语言多样化,主流的开发语言Python、Java等还好,如果是AutoIt、vbs等这些比较少用的语言开发的工具后期维护就很麻烦甚至就没人维护了。另外,测试人员毕竟没有对编码规范有很好的理解,代码怎么写的都有、几千行代码注释几乎为0,也没有开发文档说明,维护起来特别困难。

5、工具需求开发随意、发布路径不统一、工具发布格式不规范。这也是管理的问题。工具没有统一的管理就会衍生出很多额外的问题。比如前文提到的不知道从哪里获取工具、工具没有指导书,我没有编码能力但是我识别出了工作中的短板需要开发工具可以把需求提交给谁。。等等。。这里,不是一定要强制某些工具不能开发,某些工具可以开发。从测试部整体角度来说,将工作量聚焦测试部topN效率短板提升的工具开发肯定是必要的。。

工具开发改进几点意见

上面暴露的问题在我呆过的很多产品都遇到过,并不是个例。针对这些问题的解决方法,谈一下个人观点。

1、工具统一管理。测试部内部发布工具开发规范、统一工具发布路径、工具发布格式(工具名称+版本号、工具主要功能、工具作者、工具维护历史、工具开发IDE等)。建议使用主流编程语言开发(Python、Java等),内部强调编程规范等。

2、工具开发提高易用性。一是减少交互而是方便交互。减少交互主要是指没有必要的输入或者可以固化的输入就集成到软件中,需要依赖的步骤也可以直接在工具中实现。方便交互主要是指在windows系统使用时尽量提供界面化形式的交互窗口。windows上使用的程序培养的习惯是这样。对于linux下,命令行交互没有问题,但是每一步的输入提示描述尽量简单清晰。尽量可以达到傻瓜式的使用。实现的时候就从这个角度考虑。你不期望你给别人工具还要教他怎么用吧。。

3、提高工具可用性。这是功能的问题。通常这些效率提升工具都是个人在工作之余花时间实现的,要求面面俱到也是很困难,但是尽量还是要保证主场景在绝大多数情况下运行正常,可以正常输出预期结果。不能换一个测试版本工具就出问题就好了,别人可能就不想用了。对于工具的完善可以在下一次迭代优化。这是每一个工具开发人员都是应该思考的问题。。你也不期望自己发布的工具别人一用就出问题。。对自己的形象也不好。。是吧

4、提高工具可维护性。要求不高,就是多加一些注释,代码自己觉得可读性还可以。函数/类尽量划分的合理。至少保证自己过半年一年再回来看自己的代码还能快速读懂修改就差不多了。。

5、工具定期宣传。定期挑选一些好用的、具有一定普遍性的工具进行推广。酒香也怕巷子深,每个工具开发作者也希望自己的劳动成果可以真正的让其他人受益,让自己的付出得到别人的认可。

6、编码技能交流。测试人员整体编码技能还是相对较弱,工具的开发主要还是集中在一小部分人身上。可以将这部分人员统一集中起来多交流、探讨。也可以在测试内部推一些编码基础培训课程或者是一些基础文章,可以帮助有兴趣提升编码能力的测试人员。

小结

工具开发管理维护使用暴露出的问题挺多的,其实没有啥。毕竟都是测试人员在业余时间开发的。做出来了总比没做出来好,做出来的东西只要稍加引导就可以不断迭代优化改进。不可取的是没有改进意识,容忍低效、重复、繁琐的手工执行工作,这样对自己没有什么好处。。

限于时间,匆匆写完,有些观点可能表达不到位,针对这些问题,有兴趣可以交流。。

原文地址:https://www.cnblogs.com/linyfeng/p/11610780.html

时间: 2024-10-15 06:51:44

[ 测试思考 ] 效率提升测试工具开发的思考的相关文章

围绕效率提升,测试可以做什么?

大部分的研发经理心中,进度是第一位的,其次是成本,最后是质量,当然人员队伍最好稳定.天下武功,唯快不破:进度 > 成本 > 质量 > 人. 围绕效率提升,测试可以做什么?你脑海里跳出来的,应该是"自动化"或者"敏捷"吧,没错,自动化和敏捷都可以帮助提升研发效率,但是并不是只要做了都有这个作用. 下面来看看测试支持效率提升的不同段位. 一段:提升测试效率. 提升测试的效率,最有效的手段是制定测试策略.对,你没有看错,是测试策略而不是自动化! 测试策略

测试工作效率低思考和改进

引子 汇总统计了一下项目组近期测试项目实际工作量与基线工作量的对比,发现一个严重问题.就是工作效率特别低下.下面简单列举一下几个项目预期工作量和实际工作量以及时间耗费严重的地方.项目简要背景. 1.B版本测试.版本预期工作量15人天,实际耗费工作量在30人天.更为严重的是测试人员并没有因为测试周期延长和工作量投入加大而测试的更轻松,反而是测试期间晚上加班严重,参与测试人员测得还极其难受.有一个背景提前说明,该版本是从同测试部其他项目组第一次交接给我们项目组,另外参与B版本测试的测试人员对手上测试

如何提升测试质量,减少漏测

在测试过程中,我们需要一直在思考,如何保证产品的质量,降低漏测,给用户带来良好的使用感受,我们知道没有一个产品在外网是无bug,不同的人,使用习惯不同 会有很多意想不到的场景,那我们测试人员可以借助我们的知识储备.经验.方法去探索去测试模拟构造尽量多的用户使用场景,让产品在发到外网后,能给用户带来良好体验,我对于质量提升,以及降低漏测,有3个建议和思路: 1.过程 测试过程中的我们要有好的设计思路和测试点,掌握时间节点.及时汇报风险,在测试过程中积极主动跟进问题,压缩时间会降低我们的效率,我们可

阿里云移动研发平台 EMAS 助力银行业打造测试中台,提升发版效能

随着移动互联网的发展,手机银行凭借低成本.操作简单.不受时间空间约束等优势,正逐步替代传统的网银交易方式.越来越多的银行开始了“业务移动化”转型之路,“手机APP”已经成为企业价值传递和关系维护的关键纽带,客户争夺的主战场已转向移动端,事实上手机银行的用户比例早已超越了网银用户. 但是伴随着银行APP承载的业务需求日益增多.版本迭代速度不断加快,以“手工测试”为基础的测试体系,已很难满足业务对测试效率和质量的要求.APP 测试急需完成从“纯人工”到“人机协同”的范式转换. 一.银行 APP 的质

《精通移动app测试实战:技术、工具和案例》新书上市

本书是测试专家.性能测试专家.专业畅销书作者--于涌,多年实战经验的总结,涵盖主流的测试工具,包括众多的测试实例,涵盖单元测试.功能测试.性能测试.UI测试.手游测试.自动化测试.测试用例管理.持续集成等移动测试中用到的所有实战技术,是一本贴近实战的移动端测试参考大全.本书主要内容如下. 书中讲解了单元测试,介绍了JUnit框架.单元测试实施.创建基于Android的测试项目和应用JUnit对Android项目进行单元测试:讲解了Android 提供的一个通用的调试工具ADB,借助这个工具,可以

《精通移动app测试实战:技术、工具和案例》图书目录

图书相关链接: 京东网:http://item.jd.com/11891239.html 当当网:http://product.dangdang.com/23924601.html 亚马逊:https://www.amazon.cn/%E5%9B%BE%E4%B9%A6/dp/B01D10NSKE 互动网:http://product.china-pub.com/4931271 第1章  Android系统基础内容介绍.... 1 1.1 Android系统介绍... 2 1.2 Android

SWTBOK测试实践系列(6) -- 开发人员为什么不做静态分析?

场景 某年某月某日,产品环境的2000多封自动发出的Email让我们项目组许多人的邮箱爆了.追查下来根源是一个很不起眼的缺陷.我们的程序对一个布尔值做了if(XXX = true)的判断,可来自上游系统的这个值不光是有true和false,还有空.也就是说上游系统中使用的是一个大布尔,是有true, false,null三态的,  而我们程序使用的是小布尔,只有true和false两态. 掉在大小布尔这个坑里也不是头一回了.记忆中前两年我们也掉进来过.有执著的QA一枚,翻箱倒柜地找,终于找到了当

开发者测试(2)-采用精准测试工具对J2EE Guns开发框架进行测试

配置测试Guns Guns简介 Guns是一个近几年来基于SpringBoot的开源便利且较新的JavaEE项目开发框架,它整合了springmvc + shiro + mybatis-plus + beetl + flowable多项开源技术,致力于让Java后台开发更简洁快速 一,Guns的环境Guns 源码 Maven Eclipse-Photon JDK8 MySQL 安装环境 注:Eclipse和JDK的安装和安装包就用自己现有的就可以,星云测试将提供MySQL和Nodejs的安装包,

由 '' in 'abc' return True 引发的思考----Python 成员测试操作

最近遇到判断字典中是否存在空字符串'',这个很好判断,直接用:'' in ['a','b','c'],就可以直接判断出来:但是当我对字符串使用 "in" 方法进行判断的时候,发现:'' in 'abc' 仍然会返回True,对于这个问题,之前一直没有注意到过其中的原理,现在去进行探索总结一下: 首先,查看官方文档:https://docs.python.org/2/reference/expressions.html#not-in 文档在5.9.2中:Membership test o