本文来自公号一位妹子的投稿
大家好,我是黎婷,一位来自广西南宁的测试妹子,工作 5 年,借着原作者平台,今天给大家分享一下近期在学习《自动化测试实战宝典》一书过程中的一些感想、学习心得,希望对大家有所帮助。
1. 来自大多数测试人员的困惑
在当前整个软件行业的高速发展中,作为测试人员如何在这个急速浪潮中站稳脚跟,想必大多数人都知道需要学习更多的知识与技能,巩固并加强自身能力,才能保证自己不被淘汰。
然而目前相当多行业内的测试人员基本都会面临这种困惑:大体的方向是确定了,但是具体学什么,怎么学,落实到地的方案却比较少有人能想明白。
2. 自己的经历
想到自己当初在第一家公司离职选择跳槽的时候,也是带着这样的迷茫进入了一家境外电商公司,初入这家公司时,正值质量管理部门大力推广要求各种自动化测试工具使用的风潮中,基于对 KPI 的追求,于是开始着手查找当下各种流行的框架工具,为了 KPI 为了所谓的数据好看使用工具而学习测试工具,前期也是投入较多的时间,成果也是有的,但是很快也就放弃了使用:时间投入高,产出低,还不如手工测试。
然而随着公司业务的快速发展,产品迭代频繁,重复性的回归工作慢慢的占据很大一部分工作时间,加班处理工作已经成了常态,鉴于这种处境,又开始重拾了测试框架与工具,这回的目的很明确:在能保障产品质量的同时也要提高自己的工作效率,这些观点在最近学习的书上提到关于自动化测试的意义点也是不谋而合的。
因此在这种状况下开始主动学习工具和框架时,也多了份思考:如何利用这个框架的特点和优势契合到实际工作的使用,能够刚好解决工作中的痛点。带着这个目的去学习工具使用工具,搞起的自动化,成效也是有很明显的提升,从测试环境的回归测试效率提升,以及后续线上核心功能的持续监控落地,都给自己实际工作带来很大的推动促进作用,自己也有更多时间投入到更有价值的专项测试中,而不是疲于日常的重复性工作不得发展。
继续带着这份思考,本人最近花了一两个星期大体研读了《自动化测试实战宝典 Robot Framework+Python》一书,基本成功快速地掌握了用 Robot Framework 工具进行接口自动化测试。
在这次学习的过程中,不仅仅能掌握到技术方面的知识,同时发觉它不只是一本工具书,更是一本有着完整且与时俱进的测试理论体系知识的书籍,书中成熟的思想理论加循序渐进的实战讲解,让我从一个之前只闻 RF 名不识其真实面目的 RF 小白,到现在只通过一两周时间就能快速掌握 RF 进行自动化测试。当然,在这么短的时间内,很难一下子消化完这么丰富的知识点,在接下来的测试工作学习中,希望能在本书的指引下,更深入学习 RF 框架来推动自己的工作更高效、高质量的交付。
3. 学习后的几点心得
接下来想分享自己在学习该书籍过程中的几点心得:
心得之一:作者在书中接口测试项目实战章节中讲到的一个点:
做好接口测试除了在 ‘术’ 上融合工程化的最佳实践,武装方式方法,在 ‘道’ 上更需要有一个正确的认知和决心。正确的认知和决心更加强调的是团队成员之间的目标是否一致,大家是不是真心认同这件事,而不是被迫地或者碍于领导下达的任务指标才去做。所有流于形式或者并非发自内心而被迫做的事情,最后收效往往都是甚微的,即便给你的是一把 ‘屠龙刀’,也发挥不出应有的作用。只有大家有意识地从心出发,主动寻求改变、追求质量和高效率、精益求精,再结合合适的工程实践,才能做到 ‘道’ 和 ‘术’ 的双重兼顾。”
对于笔者提到的这个点,跟读者我的实际工作遇到的情况也是非常契合的。
在自己之前的公司中,也多多少少接触到各种测试工具和框架,在工作之初去学习这类工具框架的时候,与其说初始的目的是为以后长远的职业发展学习一项或多项技能巩固能力,更不如说是基于领导的各种任务要求而 “心不甘情不愿” 的去学习,在抱着这种想法去学习的技能,不仅不深入而且成果甚微,更是浪费了很多时间,最后甚至磨灭了继续学习下去的念头。
直到工作生涯中后期,才开始有意识自发的通过学习一些工具和技术,来真正地解决实际工作中的问题,在这个过程中领悟到学习的技术知识确切能给自己的工作带来 “收大于支” 的成果时,不仅工作能力得到提升,内心也认可了技术带来的改变,让 “屠龙宝刀” 发挥其最大化作用,也真正契合了笔者提到的 “道” 和术的双重兼顾。
当内心开始认可了这项东西时,会发现学习技术的路上原来如此有趣而引人入胜。利用自己所学,发挥其最大用处,会将自己的学习带入一个良性的循环中,让自己不只是在日常工作中得到效益,长远来讲,何尝不是对将来的职业生涯铺垫稳固的基石呢。
心得之二:谈谈学习过程中解决问题发思路。
在学习接口测试实战项目时,在一些基础环境配置、导入三方库、接口认证鉴权等方面都遇到了阻碍。在解决这些问题的过程中,分享下我对于学习过程中遇到问题解决问题的一个思路。
- 首先自己在学习一些新技术时,心态都会放得比较平,因为面对新东西新技术,会遇到问题是在所难免的,一帆风顺的状况基本不存在,所以一定要拥有一份积极的心态,而不是遇到问题就开始心烦气躁,不仅不利于解决问题,还很容易丧失继续学习下去的信心。
- 其次就是解决问题的方法了,这次学习的 RF 框架,提供了详细且比较全面的日志信息,要学会通过具体报错信息定位问题产生的原因。通过确定问题关键字在网络上各大技术论坛社区平台进行搜索查找,对搜索到的结果也需要学会进行筛选总结,总结出搜索出来的解决方法的规律去解决问题,多次尝试,不怕试错,问题在这个阶段 80% 都能得到解决。而不太建议一遇到问题就去找他人协助解决,首先沟通是有成本的,其次也会占用他人宝贵的时间。
- 如果尝试多次自己解决还是无果,接下来才是找能帮助自己解决问题可能性比较大的小伙伴,因为漫无目的的请教也是浪费双方时间的行为。有其他小伙伴的协助,也很难有不能解决的问题了。最后解决问题之后的记录总结也是很重要,作为学习的沉淀,可以在下次遇到同样问题能快速解决,也可以给后续遇到同样问题的小伙伴提供帮助。
总的来说,在这次学习 RF 接口测试中,自己所在部门的小伙伴都很热心给予了很大的支持帮助,自己也才能在这么短的时间掌握该项技能。大家能在百忙之中抽出时间给予协助是非常可贵的,作为请教者,在今后的学习中,也要提供给他人力所能及的协助。毕竟,学习是相互的,大家汇集起来的知识泉源才能壮大,也能更好推动大家一起发展。
4. 谈一谈 RF 框架可以优化的几个点
从 RF 框架本身来谈,它的优势是绝对占主导的,接下来谈一谈在使用 RF 框架中个人觉得还可以优化的几点:
- RIDE 编辑器性能有待提高,在加载现有的测试部的接口脚本,左侧目录树经常出现卡顿,会一定程度影响脚本编写效率。解决办法之一可以尝试用其他编辑器如 pycharm 等替代。
希望可以支持通过抓包工具抓取到接口数据进行转化,自动生成符合脚本编写格式的关键字,可以进一步提高编写脚本的效率。如 httprunner 的 har2case 命令可以很方便的将 har 文件转换成对应框架支持的脚本书写规范。当然对于这块优化点,也是有解决办法的:可以通过自己写工具去转换抓到的 har 文件,而目前自己所在团队也已经有大佬实现拓展了该工具。
robot framework 的编辑器 RIDE 目前对 Python3 的兼容性还不是特别好,主要是扩展库的语法有比较多不兼容。当然 RF 框架本身一直是支持 Python3 的,若习惯使用如 pycharm 这些编辑器来编写脚本,这块不足也不存在了。但如果是习惯使用 RIDE 编辑器的话,对于当前主流使用的 Python3 维护兼容性成本还是比较高。
总得来说,本次的学习实战时间还是比较短暂,而本书提供的技术及知识理论是非常丰富的,在接下来的学习中,还需要继续精读细读,慢慢消化,利用好这把 “屠龙宝刀” 加强自己的 “战斗值”。