高效学习工具三步曲

简介: 高效学习工具三步曲

640.jpg

在日常工作中,不免需要学习各类工具。关于工具的学习,笔者简单分为三类:


为了解决当下某个具体的内容而学习。这类的学习,更多的就是面向搜索引擎学习,有不懂的,就通过关键字来查询相关资料,快速解决问题。


想要系统性地学习某个知识体系或者工具。这类学习需要有系统性和技巧,笔者会结合自己的实践,详细展开来聊。


还有一种,就是兴趣驱动,没有那么大的功利性,根据自己的兴趣爱好来学习。这类学习会是持续且高效的。


01


对于工作上遇到的问题,第一类学习方法可以快速解决当下的问题。但不能仅停留在第一类,因为那样的知识是不成体系的,很容易在之后的一段时间内被遗忘。当我们需要系统性的学习某一类知识或者工具时,需要有一定的方法。笔者总结如下图所示。

 

640.png


02


不论是工具还是技能,都是为了解决某一类特定问题而存在的,所以在学习这类知识之前,首先需要了解它能解决什么问题,为什么需要掌握它。


比如,我们学习Jmeter工具,是为了解决压力生成的问题。它既解决不了业务建模的问题,也解决不了监控的问题。所以,当有人使用Jmeter来解决接口问题时,我就会感到非常的奇怪,虽然Jmeter能解决一些接口的问题,但那不是Jmeter的核心功能啊。


还有会经常有人问到Jmeter的哪些插件比较好用,比如一些监控工具如何集成到结果报告中。这样做监控的数据不一定准确,还会有一定程度上影响到TPS等相关真正需要被关注的指标,得不偿失。


所以,了解一款工具或者知识点的背景及解决场景,非常的重要,不要把好的工具,用在错误的场景中。


03


接下来,就要弄清楚这些工具或者知识点背后的原理是什么,它们是通过什么方式来解决问题的。这样会让我们更好地去理解和使用这些工具或者知识点。


继续以Jmeter为例,当我们知道了它是为了解决压力生成的问题后。我们就需要去了解Jmeter是如何发送请求的,底层的实现逻辑本质上是线程池+HttpClient的组合使用。那么你就能清楚地知道它的适用场景是什么了。常见的Http请求压测它都能胜任。


但是HttpClient的缺点,Jmeter都会有,比如每次发起http请求都会new httpClient,会打开许多套接字,比你实际的需求多许多,这极大地增加了负载机的负载,而且,这些套接字实际上不会被using语句关闭。相反,它们是在应用程序停止使用它们几分钟之后才会关闭。所以在Windows环境下,端口的占用一直是Jmeter很大的痛点。


所以,在实际的执行过程中,我们会在Windows环境下编写、调试Jmeter脚本,但是在实际的压力测试过程中,一定会把它丢到linux环境中,用非GUI模式去运行。


04


理论的东西理解了之后,接下来就是不断地实践和尝试。只有理论没有实践,就是无根之萍,并不能解决实际问题,但也不能忽视理论。


继续以Jmeter为例,它有那么多的元件需要我们去了解,结合不同实际场景去做组合。需要你通过Json提取器来获取需要关联的内容,需要学会通过BeanShell元件来做定制化的参数处理,需要知道通过各类Manager来控制请求头信息,等等。


这些能力只能通过不断地练习来提升熟练度。你不能每次写脚本的时候都去现查。这样你的效率就太低了。很多人说我没有环境来做练习啊,公司也没要求我们做性能测试。


其实,练习工具最好的环境就是你的被测系统啊。用Jmeter写写脚本,总可以的啊。不但能练习脚本能力,还能好加熟悉系统,还能和开发多沟通,一举多得。


知识体系也是一样的。比如中间件的学习。最好也是能够结合当下你们的被测系统,去了解这些中间件到底是怎么被开发使用并解决实际场景问题的。


05


通过更多的练习和思考,你就会更明白它的原理和优缺点。在后续的其他场景中,你就会有更有针对性地选择。如果只是一味地为了使用工具而学习工具,效果并不会太好。


同时,在学习这些知识的过程中,一定要想办法和你已知的知识点建立链接。把知识点串起来,把知识形成网络,这样才能碰撞出新的火花,也能把知识点记忆得更加牢固。单点的知识很容易被遗忘。


小结下,学习工具三部曲:

想明白:为什么要学习这个工具,能解决什么问题;

懂原理:去了解工具的优缺点是什么,怎么去运用它

多练习:多用,多练,多思考,唯手熟尔。


往期推荐:

测试质量保障的影响因素

测试如何构建快速反馈的能力

测试用例设计的故事

测试人员如何甩锅

我建星球啦,你想加入么


相关文章
|
6月前
|
前端开发 JavaScript Java
用Python实现高效数据记录!Web自动化技术助你告别重复劳动!
用Python实现高效数据记录!Web自动化技术助你告别重复劳动!
|
存储 前端开发 JavaScript
潮玩宇宙大逃杀无聊猿卷轴模式系统开发详细规则丨步骤需求丨方案项目丨技术架构丨源码功能
确定游戏类型和规则:明确无聊猿卷轴模式游戏类型和游戏规则,包括敌人类型、地图设计、任务类型、战斗机制等。
|
3月前
|
JSON 数据格式
【Axure高手秘籍】掌握这招,让你的原型设计效率飙升!——元件库导入与使用教程及主流资源下载全解析
【8月更文挑战第20天】Axure RP是界面设计与交互原型制作的强大工具。掌握元件库能显著提升设计效率。元件库包含预设UI元素如按钮、表单等,可直接拖放构建布局。在Axure RP中,通过“元件”选项下的“库”可访问并导入新元件库。导入后,轻松拖放元件至画布调整,甚至自定义样式和交互。利用脚本还能模拟真实交互效果,如按钮点击反馈。推荐资源包括Axure Marketplace、UIZilla等,助力高效设计。
82 0
|
3月前
|
机器学习/深度学习 Ubuntu 数据挖掘
揭秘:Ubuntu系统下部署Anaconda环境及Python语言的终极指南!跟随这一步步神秘流程,解锁编程大师的秘密武器!
【8月更文挑战第19天】在Ubuntu中部署Anaconda环境与Python相当直观。首先需从官网下载Linux版安装包。接着,在终端依次执行命令:添加Anaconda清华镜像源至软件源列表,更新软件包信息,然后安装Anaconda。安装后可通过`anaconda --version`验证。使用`anaconda create -n myenv python=3.8`创建名为“myenv”的环境并指定Python 3.8版本。
246 0
|
6月前
|
JavaScript C++ Shell
原型制作与图解——墨刀工具
原型制作与图解——墨刀工具
155 0
原型制作与图解——墨刀工具
|
XML 存储 编解码
包体积优化 · 方法论 · 揭开包体积优化神秘面纱
包体积优化 · 方法论 · 揭开包体积优化神秘面纱
244 0
包体积优化 · 方法论 · 揭开包体积优化神秘面纱
|
传感器
时隔这么长时间,我把常用的功能整理好了,再来感受VueUse工具库的优雅吧~
时隔这么长时间,我把常用的功能整理好了,再来感受VueUse工具库的优雅吧~
时隔这么长时间,我把常用的功能整理好了,再来感受VueUse工具库的优雅吧~
|
人工智能 边缘计算 监控
|
存储 Python
热饭的测开成果盘点第二十二期:wqrfnium自动维护库
本期介绍的是一个组件,身为python的第三方库,已经被pypi收录,且国内镜像源也早已复制。也就是说可以通过pip install 来下载。这个组件包括:wqrfnium 和 wqrfnium_app 。他们都是基于python/selenium/appium的一个可以自动维护ui元素,抵抗ui元素定位变化的组件。
热饭的测开成果盘点第二十二期:wqrfnium自动维护库
|
弹性计算 编解码 人工智能
游戏打包过程枯燥且工作繁琐,如何提升打包效率?看鲸旗游戏的新思路
为了简化业务流程,实现高性能和成本优化,鲸旗游戏最终选择使用阿里云 Serverless 函数编排与函数计算的方式来执行打包操作,完美解决痛点。
3097 5
游戏打包过程枯燥且工作繁琐,如何提升打包效率?看鲸旗游戏的新思路