高效学习工具三步曲

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

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


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


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


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

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

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

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


往期推荐:

测试质量保障的影响因素

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

测试用例设计的故事

测试人员如何甩锅

我建星球啦,你想加入么


相关文章
|
传感器
时隔这么长时间,我把常用的功能整理好了,再来感受VueUse工具库的优雅吧~
时隔这么长时间,我把常用的功能整理好了,再来感受VueUse工具库的优雅吧~
时隔这么长时间,我把常用的功能整理好了,再来感受VueUse工具库的优雅吧~
|
6月前
|
开发者 图形学 API
从零起步,深度揭秘:运用Unity引擎及网络编程技术,一步步搭建属于你的实时多人在线对战游戏平台——详尽指南与实战代码解析,带你轻松掌握网络化游戏开发的核心要领与最佳实践路径
【8月更文挑战第31天】构建实时多人对战平台是技术与创意的结合。本文使用成熟的Unity游戏开发引擎,从零开始指导读者搭建简单的实时对战平台。内容涵盖网络架构设计、Unity网络API应用及客户端与服务器通信。首先,创建新项目并选择适合多人游戏的模板,使用推荐的网络传输层。接着,定义基本玩法,如2D多人射击游戏,创建角色预制件并添加Rigidbody2D组件。然后,引入网络身份组件以同步对象状态。通过示例代码展示玩家控制逻辑,包括移动和发射子弹功能。最后,设置服务器端逻辑,处理客户端连接和断开。本文帮助读者掌握构建Unity多人对战平台的核心知识,为进一步开发打下基础。
226 0
|
程序员
我的收藏:第四章:八十种在线工具
我的收藏:第四章:八十种在线工具
167 0
我的收藏:第四章:八十种在线工具
|
机器学习/深度学习 TensorFlow 算法框架/工具
【机器学习PAI实践十一】机器学习PAI为你自动写歌词,妈妈再也不用担心我的freestyle了(提供数据、代码
背景 最近互联网上出现一个热词就是“freestyle”,源于一个比拼rap的综艺节目。在节目中需要大量考验选手的freestyle能力,freestyle指的是rapper即兴的根据一段主题讲一串rap。freestyle除了考验一个人rap的技巧,其实我觉得最难的是如何在短时间内在脑海中浮现出有韵律的歌词。 PAI平台是阿里云人工智能平台,在上面可以通过最简单的拖拉
2420 0
如何做好游戏陪玩源码的功能优化,这三步缺一不可
如何做好游戏陪玩源码的功能优化,这三步缺一不可
|
4月前
|
敏捷开发 数据可视化 算法
瀑布模型大揭秘:如何用分段式开发轻松搞定软件项目?
瀑布模型是软件开发中最早的线性开发方法,由Winston W. Royce于1970年提出。该模型将项目分为需求分析、系统设计、实现、集成与测试、部署和维护六个阶段,每个阶段自上而下依次进行。尽管近年来敏捷开发备受推崇,但瀑布模型在需求明确、流程复杂的项目中仍具重要价值。本文将详细介绍瀑布模型的概念、主要阶段及步骤,并探讨如何使用项目管理工具如板栗看板,帮助团队高效协作。
74 0
|
Web App开发 安全 Unix
高效率的工作工具(持续更新...)
高效率的工作工具(持续更新...)
266 0
高效率的工作工具(持续更新...)
|
人工智能 供应链 算法
机器人在线“偷懒”怎么办?阿里研究出了这两套算法
随着互联网和电子商务的发展以及全球化的不断加速,中国产业持续升级,人工智能与机器人集群逐步被应用于制造业与物流供应链产业中。机器人集群的主要目的是与人协同合作,将人从沉重的重体力搬运任务中解放出来,专注于更精细的操作当中。由于在工业界的广泛应用与进一步智能化生产的思考,机器人集群调度成为了多智能体系统(Multi-agent System)学术研究中的一个新兴研究方向,其核心问题是如何调度机器人执行合适的任务并规划高效的路径,使得系统整体效率最优。 文末福利:七道典型算法笔试模拟题精解。
1327 0
机器人在线“偷懒”怎么办?阿里研究出了这两套算法

热门文章

最新文章