高效学习工具三步曲

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

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


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


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


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

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

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

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


往期推荐:

测试质量保障的影响因素

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

测试用例设计的故事

测试人员如何甩锅

我建星球啦,你想加入么


目录
打赏
0
0
0
0
6
分享
相关文章
我的收藏:第四章:八十种在线工具
我的收藏:第四章:八十种在线工具
167 0
我的收藏:第四章:八十种在线工具
游戏打包过程枯燥且工作繁琐,如何提升打包效率?看鲸旗游戏的新思路
为了简化业务流程,实现高性能和成本优化,鲸旗游戏最终选择使用阿里云 Serverless 函数编排与函数计算的方式来执行打包操作,完美解决痛点。
3128 17
游戏打包过程枯燥且工作繁琐,如何提升打包效率?看鲸旗游戏的新思路
近乎快速上手:如此强大的软件仅需10步即可学会
强大的产品往往功能全而不乱,功能丰富却操作简单。我们相信,近乎SNS就是这样一款强大的社区建站产品。
瀑布模型大揭秘:如何用分段式开发轻松搞定软件项目?
瀑布模型是软件开发中最早的线性开发方法,由Winston W. Royce于1970年提出。该模型将项目分为需求分析、系统设计、实现、集成与测试、部署和维护六个阶段,每个阶段自上而下依次进行。尽管近年来敏捷开发备受推崇,但瀑布模型在需求明确、流程复杂的项目中仍具重要价值。本文将详细介绍瀑布模型的概念、主要阶段及步骤,并探讨如何使用项目管理工具如板栗看板,帮助团队高效协作。
77 0
《系统分析与设计方法及实践》一第2章 软件分析与设计过程及其模型
本节书摘来华章计算机《系统分析与设计方法及实践》一书中的第2章 ,第2.1节,窦万峰 主编 宋效东 史玉梅 李东振 赵菁 等参编更多章节内容可以访问云栖社区“华章计算机”公众号查看。
1044 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等