一、行业现状

随着行业的发展和技术的进步,软件测试岗位的要求正不断提高。过去三年里,纯粹的功能测试岗位已不再是理想选择,因为现在几乎所有的测试职位都要求掌握自动化测试,包括接口自动化、UI 自动化、性能测试等,并且需要具备编程能力,尤其是熟练掌握测试领域最常用的语言——Python。

Python 作为测试领域最常用的语言,已经成为了找到测试工作的标准。大多数小公司和团队都将 Python 作为其自动化测试的首选语言,因为它相对其他编程语言入门简单,并且有许多测试相关的第三方库可供使用,从而使得测试工作更加方便高效。

然而,为了在寻找更好的测试岗位时处于有利地位,除了精通 Python 外,还需要掌握其他编程语言和框架,例如 Java、Go、Vue 等,同时也需要能够编写工具、搭建框架和平台的能力。虽然 Java 的学习成本相对较高,但 Go 作为一门新兴的编程语言,学习成本较低,并且与 Python 有许多共同之处,因此逐渐成为测试领域的另一个热门选择。随着时间的推移,预计 Go 在测试框架的开发和维护中将会得到越来越广泛的应用,其生态系统也会日益完善。

目前已有一些测试框架开始采用 Go 进行开发,比如HttpRunner的 4.x 版本。相较于 Python 版本,Go 版本的功能更加强大,支持多协议、性能测试以及 App UI 自动化等。与 Python 版本相比,Go 版本不需要将 JSON/YAML 文件转换成 Python 文件再进行执行,从而使得执行效率更高,资源消耗更少。对于平台接入方面,Go 也更加简便。

在日益竞争激烈的测试岗位市场中,保持对 Python 的熟练掌握是必不可少的,同时学习和掌握其他语言和框架,如 Go 等,将为你在职业生涯中开创更加成功的道路提供有力支持。

在过往的面试经历中,对第三方库的源码了解的重要性逐渐显现。作为一个测试工程师,仅停留在使用层面上可能会限制你的发展。通过深入阅读源码、理解其结构、重要组成部分和关键模块,你可以提升对工具的理解和应用能力。当你遇到问题、bug 或者功能无法满足需求时,通过对源码的掌握,你可以进行二次开发,实现定制化需求,不再束手无策。

二、如何学习

对于接口自动化测试工具而言,它支持的协议种类如 HTTP、WebSocket、RPC 等,以及对 App UI 自动化和性能测试的支持,虽然已经相当丰富,但可能仍不足以满足日常工作中的所有需求。如果你掌握了二次开发技巧,增加新的协议如 gRPC、MQTT 等也将变得轻而易举。

我已经完成了测试平台的开发并成功接入了hrp,通过对项目结构和关键模块的深入了解,对hrp的源码也有了相当的熟悉程度。通过分享我的经验,将帮助更多使用者快速修复 bug、满足功能需求,甚至打造出优秀的自定义工具。

在这个系列中,讲解 Go 在hrp中的应用、测试平台接入hrp的实现方法、hrp源码解读等内容将帮助更多人理解这个工具的背后机制和原理。此外,准备以MQTT作为二次开发的协议,这将进一步展示你在二次开发方面的技能和应用,主要包含一下 4 点

  1. 理解 HttpRunner 的工作原理:你需要深入理解 HttpRunner 的整体架构和各个组件的功能,以及它们之间的关系。这包括了解 HttpRunner 如何解析测试用例,如何执行 HTTP 请求,以及如何处理响应和生成测试报告等。
  2. 理解 HttpRunner 的源代码:你需要阅读并理解 HttpRunner 的源代码,包括 hrpHttpRunner 目录下的代码。这将帮助你了解 HttpRunner 的具体实现方式,以及如何扩展或修改其功能。
  3. 扩展 HttpRunner 的功能:一旦你对 HttpRunner 的工作原理和源代码有了足够的理解,你就可以开始进行二次开发了。你可以添加新的功能,例如支持新的 HTTP 方法或测试类型,或者改进现有的功能,例如提高测试性能或改进测试报告的格式。
  4. 测试你的修改:在进行二次开发时,你需要确保你的修改没有引入新的错误。这意味着你需要编写测试用例来验证你的修改,并且需要在每次修改后都运行这些测试用例。

三、新手建议

作为一个新手,这里有一些步骤可以帮助你更好地理解 hrp 目录下的源代码:

  1. 理解 Go 语言:首先,你需要对 Go 语言有基础的了解,包括语法、数据类型、函数、包的概念以及如何编写和运行 Go 程序。如果你已经熟悉其他编程语言,你可能会发现 Go 语言相对简单易学。
  2. 浏览整个项目结构:然后,你应该大致浏览一下 hrp 目录的结构,了解其中的每个文件和子目录的用途。例如,.go 文件是 Go 的源代码文件,pkg 目录通常包含公共的库代码,tests 目录包含测试代码等。
  3. 阅读主要的 .go 文件:在理解了项目的大致结构后,你可以开始阅读一些主要的 .go 文件,例如 main.gocmd 目录下的主执行文件。这将帮助你理解程序的主要工作流程。
  4. 深入理解关键模块:然后,你应该选择一些关键的模块或函数,深入理解它们的工作原理和实现方式。你可以从 README.md 或代码注释中获取一些线索。
  5. 运行并调试代码:最好的学习代码的方式就是实际运行并调试它。你可以尝试在本地环境中运行代码,看看它是如何工作的。同时,使用一个好的 IDE 和调试工具可以帮助你更好地理解代码。
  6. 阅读和写测试:查看 tests 目录下的测试代码可以帮助你理解功能的预期行为,同时也可以作为学习如何编写良好测试的例子。写测试也是理解代码的好方法,因为这需要你理解函数的输入、输出和副作用。
  7. 重构和编写新代码:一旦你对代码有了足够的理解,你就可以尝试修改它,例如重构一些代码或添加新的功能。这不仅可以提高你的编程技巧,也可以让你更深入地理解代码。

以上就是一些熟悉 hrp 目录下源码的步骤,希望对你有所帮助。


↙↙↙阅读原文可查看相关链接,并与作者交流