测试打工人如何学习

简介: 处在职场中的测试人不知如何学习?不妨看看这篇。

转载请注明出处❤️

作者:测试蔡坨坨

原文链接:caituotuo.top/d60e24e6.html


你好,我是测试蔡坨坨。

最近陆续收到一些小伙伴的私信,除了技术相关的问题之外,提到比较多的还有学习方法,很多小伙伴在这方面都比较困惑,比如:“学习什么能够迅速成长?”、“如何高效学习?”、“学习了某项技能后要怎么用?”等等。

还有一些在职的小伙伴还是比较努力的,每天都会投入一两个小时用于学习,但是自我感觉并没有明显的成长。因此,本篇就来聊一聊“测试人如何学习”这个话题。

1 为何学习

众所周知,如今是一个知识爆炸的时代,知识更新快。在互联网行业,这种情况更加明显。具备较强的学习能力也是我们能够在某个岗位上持续成长的必要条件之一。

对于职场打工人来说,关于技能和工具的学习大致可以分为以下几类:

  • 为解决工作中遇到的某个具体问题而学习。对于此类学习,更多的是面向搜索引擎,例如百度、谷歌、必应等,通过检索关键字来查找相关资料,进而快速解决问题。这类学习方法可以快速解决当下的问题,但是如果仅仅停留在解决当下问题的层面,那样的知识不成体系,很容易在之后的一段时间内被遗忘。
  • 企业中推行某个新工具,要求员工进行学习,此类学习属于任务驱动学习,许多员工更热衷于自己熟悉的工具,不愿尝试新工具,这也是一个新工具在企业中推行困难的原因之一。
  • 想要系统性的学习某项技能或某个工具,此类学习需要有一定的系统性和技巧。
  • 兴趣驱动学习,根据自己的兴趣学习某项技能,20世纪最伟大的物理学家爱因斯坦曾说过“兴趣是最好的老师”,因此这类学习会是持续且高效的。

学习的首要步骤就是想明白“为什么学”、“能解决什么问题”。

无论是技能还是工具,都是为了解决某一类特定的问题而存在,所以首先要了解它能解决什么问题,为什么要掌握它。

比如:

我们学习Postman这个工具,是为了进行接口功能测试,检测接口是否正确。

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

我们学习Python+Requests+Pytest+Allure框架,是为了实现接口自动化测试,提高测试效率,将重复繁琐的工作交由程序自动执行。

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

2 如何学习

2.1 由点及面

大部分初入职场的测试新人,一般的学习方式都是先了解测试行业常用的技能或工具,比如Jmeter、Selenium,然后在网上搜索相关技术文档、视频,或购买相关书籍,紧接着跟随资料开始学习,理论部分学得很是顺利,但是到了实践应用却不知从何下手。

遇到这个问题最大的原因是学习习惯没有从“学生思维”转变为“职场人思维”。

职场打工人和学生时代学习方式的区别:

  • 学校中的学习方式是理论先于实践,而职场上的学习方式则是实践先于理论。
  • 学校中学习的理论是为了培养我们的认知,而职场中的认知是实践积累到一定程度后一点就透的东西。
  • 学生时代学习会有固定的场所,一般是学校,而打工人已经脱离了这个最佳的学习环境,主要地方是公司和家中。
  • 职场打工人没有那么多时间来学习,不像学生时代,可以有专门的时间去看那些十几个小时的视频教程,职场人只能每天挤出一点时间学习,因此需要有系统的规划,才能连成一个整体,不易变成碎片化。

基于以上区别,什么才是比较好的学习方式呢?

推荐一种由点及面的学习方式。

不要把学习当做一件刻意的事情,比如看到大家都在讨论自动化测试,于是不管三七二十一,工作上用不用得到,先买本书看看,这样做的弊端就是要么枯燥无味坚持不下去,要么过目就忘,白白浪费时间。

知识的积累一定是贯穿在日常的工作细节中。

以接口测试举例,可以接触到的知识点有DNS域名解析、请求方式和http状态码、Cookie和Session、JSON和XML格式等。我们须注意平时这些技术细节的积累,再通过单个知识点去做进一步的牵引,比如Cookie和Session可以联系到接口自动化测试时的鉴权问题,即先调用登录接口获取Cookie,供后续接口的使用。

许多人在第一步就错了,没有注重这种“点”的积累,而是反过来一开始就做规划式的学习,结果就是效率低效果差,学完之后不知如何应用。

有了这些知识点,再将知识点相联结、相印证,思考知识点背后的普适性规律与原则,把新知识融入到自身的知识体系结构,如臂指使。

2.2 懂原理

搞清楚工具或知识点背后的原理,理解它是通过什么方式解决问题的。

学会从工具的使用中提取思考点,而非工具人。

比如Selenium的原理:运行代码,启动浏览器后,webdriver 会将浏览器绑定到特定的端口,作为 webdriver 的 remote server(远程服务端),而 client(客户端,也就是测试脚本,可以是 Python 或者 Java 代码)会借助 CommandExecutor 创建 sessionId,发送 http 请求给 remote server,remote server 收到 http 请求后,调用 webdriver 完成操作,并将 http 响应结果返回给 client。

本质上是调用http请求的过程,也就是说我们可以跳过代码脚本直接去调接口实现UI自动化(具体做法可参考「Postman 实现 UI 自动化测试」),但是这样做太麻烦了,于是Selenium对底层的接口进行了封装,我们再借助Selenium就能轻松实现UI自动化测试。

再比如Jmeter的底层逻辑本质上是 HttpClient+线程池 实现的,所以它可以做压测,解决压力生成的问题。因为底层使用HttpClient发送请求,所以HttpClient的缺点,Jmeter也会有,比如每次发请求都会new httpClient,就会有很多套接字,极大增加了负载,而这些套接字只有在应用程序停止之后才会关闭,因此在Windows环境下,端口占用一直是Jmeter的痛点。所以在实际使用中我们可以在Windows中进行Jmeter脚本的编写和调试,进行压测时再将其丢到Linux非GUI环境中执行。

3 多练习

最后就是不断实践和尝试,通过更多的练习和思考,体会其原理和优缺点,并形成自己的经验总结。

将所学技能在企业中落地,带来对应的效率和质量保障方面的提升。

相关文章
|
2月前
|
SQL 安全 测试技术
软件测试的艺术:从错误中学习,提升产品质量
本文将探讨软件测试的重要性和如何通过测试来提高产品质量。我们将从软件测试的基本概念入手,逐步深入到不同的测试方法、工具和技术。同时,我们还将讨论如何建立有效的测试策略以及如何处理测试过程中发现的问题。
|
19天前
|
安全 Java 数据库
shiro学习一:了解shiro,学习执行shiro的流程。使用springboot的测试模块学习shiro单应用(demo 6个)
这篇文章是关于Apache Shiro权限管理框架的详细学习指南,涵盖了Shiro的基本概念、认证与授权流程,并通过Spring Boot测试模块演示了Shiro在单应用环境下的使用,包括与IniRealm、JdbcRealm的集成以及自定义Realm的实现。
31 3
shiro学习一:了解shiro,学习执行shiro的流程。使用springboot的测试模块学习shiro单应用(demo 6个)
|
18天前
|
自然语言处理 机器人 Python
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
ChatPaper是一个基于文本生成技术的智能研究论文工具,能够根据用户输入进行智能回复和互动。它支持快速下载、阅读论文,并通过分析论文的关键信息帮助用户判断是否需要深入了解。用户可以通过命令行或网页界面操作,进行论文搜索、下载、总结等。
37 1
ChatGPT使用学习:ChatPaper安装到测试详细教程(一文包会)
|
1天前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
26天前
|
测试技术 开发者
vertx的学习总结6之动态代理类和测试
本文是Vert.x学习系列的第六部分,介绍了如何使用动态代理在事件总线上公开服务,以及如何进行Vert.x组件的异步测试,包括动态代理的创建和使用,以及JUnit 5和Vert.x测试工具的结合使用。
15 3
vertx的学习总结6之动态代理类和测试
|
26天前
|
测试技术
软件质量保护与测试(第2版)学习总结第十三章 集成测试
本文是《软件质量保护与测试》(第2版)第十三章的学习总结,介绍了集成测试的概念、主要任务、测试层次与原则,以及集成测试的不同策略,包括非渐增式集成和渐增式集成(自顶向下和自底向上),并通过图示详细解释了集成测试的过程。
46 1
软件质量保护与测试(第2版)学习总结第十三章 集成测试
|
26天前
|
测试技术
软件质量保护与测试(第2版)学习总结第十章 黑盒测试
本文是《软件质量保护与测试》(第2版)第十章的学习总结,介绍了黑盒测试的基本概念和方法,包括等价类划分、边界值分析和因果图法,并通过具体例子展示了如何设计测试用例来验证软件的功能性需求。
56 1
软件质量保护与测试(第2版)学习总结第十章 黑盒测试
|
26天前
|
人工智能 人机交互 数据库
软件质量保护与测试(第2版)学习总结第一章
本文是《软件质量保护与测试》(第2版)第一章的学习总结,概述了软件的特征、分类、软件工程的层次化技术、现代软件开发的变化,以及软件质量的概念和评价体系,包括黑盒、白盒和灰盒测试方法。
30 1
软件质量保护与测试(第2版)学习总结第一章
|
18天前
|
分布式计算 Hadoop 大数据
大数据体系知识学习(一):PySpark和Hadoop环境的搭建与测试
这篇文章是关于大数据体系知识学习的,主要介绍了Apache Spark的基本概念、特点、组件,以及如何安装配置Java、PySpark和Hadoop环境。文章还提供了详细的安装步骤和测试代码,帮助读者搭建和测试大数据环境。
34 1
|
18天前
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
40 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法