哪些编程语言适合新手测试人员学习?

软件测试 自动化测试 学习 语言
2022-01-24 18:52:15

我正在寻找一种编程语言,推荐给考虑自学软件测试的朋友。我有一个朋友对学习软件测试很感兴趣,我坚信今天的测试人员如果不想在几年后达到玻璃天花板(或者成为超级明星的探索性测试人员...... .但不是每个人都想要成为超级明星的压力

我不能看自己的经历,因为我获得了面向开发人员的 4 年 CSE 学位,而且我的教育还不够轻松。我想要一些相对容易学习的东西,这将使测试人员在开发良好、可维护的自动化方面获得最大的收益。

我知道 Ruby 被用于几个测试工具——Watir 和 Cucumber——而与 Selenium、WatiN 或 Watir 一起工作的东西会很好。开发人员在本地最喜欢的两种语言似乎是 Java 和 C#,她将在本地工作。无论她学到什么,无论是书籍、在线教程还是在线社区,都需要为编程新手提供良好的自学资源。学习不太昂贵的东西可能是首选(“免费 IDE 可用,并且有很好的免费教程和信息可供学习”是理想的)。此外,更难编写坏代码的东西会很好,因为我希望她能够避免脆弱、无法维护的测试。她学习的积极性很高,所以非常有用的语言需要 6 个月的努力才能获得可用的技能水平,这比她可以在一个月内使用的稍微有用的语言更可取。同时,她花在学习编程上的任何时间都是她可以花时间练习探索性测试或学习其他出色的测试技能的时间——所以学习的难易程度确实很重要。

另外 - 我确实意识到编程只是成为一名优秀测试人员的一小部分。我只是更好地自学了其余的测试技能,因为我自学了这些领域,并且可以传递对我有用的东西或我希望我知道的东西。我不希望任何人认为我相信你可以通过学习编程来学习成为一名优秀的测试人员。相反,自从我以程序员的身份开始测试以来,我只是没有很好地掌握作为测试人员开始编程的最简单方法。

4个回答

我有点相反的经历:我先学了一些编码,然后成为了一名测试员。我的建议是任何编程/编码经验都对测试有益。任何能让你更好地理解应用程序在你面前做什么的方式,你就能更好地测试它。另外,特定的工具和语言在使用和流行中来来去去:从长远来看,学习基础知识会很好地老化。

编程语言有各种形式和大小,但有一些主要的共同点(通常),所以看到更多是好的。另外,如果她愿意学习,那么面向对象编程、Web 和命令脚本、编程风格和代码重用等更大的想法总体上会有所帮助。一定要看看像 Python 或 Perl 这样的脚本语言:它们对于日常测试任务来说是不可或缺的。

至于具体建议,Python 是一门不错的入门语言。它易于使用且独立于平台,从长远来看非常棒。它还有一些成熟的测试工具(nose、unittest)和大量的其他库和工具(用于 HTML 处理的 BeautifulSoup、Selenium 工具)。它还有一个很好的帮助社区和简单的语法。出于类似的原因,我也听说过关于 Ruby 的好消息,也许测试工具(尤其是 Watir)更成熟。我最近学习了一点 C#,它也很好。

我不认为任何特定语言比任何其他语言更好或更差,尽管我会说(根据经验)从 Java 或任何其他“无指针”语言到确实有指针的语言并不是一种愉快的体验。

除此之外 - 自动化和编码的重要部分是识别代码需要解决的问题,并能够以可以通过一系列逻辑步骤处理的方式表达解决方案。

面向对象和数据驱动是处理驱动步骤的数据的好方法,但核心是找到自动化必须与之交互的位以及逻辑处理。

我在这里的建议是选择得到大量支持和广泛应用的东西,确保学习逻辑结构(if-else、case 语句、各种循环类型等等),而且它不会影响过去的目前最实践的语言是什么。

我以这种方式学习编程,而且我在学习新语言时从来没有遇到过困难(我首先学习了 Java,然后学习了带有 HTML 的 Javascript、各种其他脚本语言、带有 ASP.NET 的 VBScript,我目前正在使用脚本风格德尔福)

我会推荐一种稍微不同的方法。我建议不要一开始就专注于特定语言,而是专注于编程概念。

一些好书包括Carlo Ghezzi的Programming Langugae Concepts或 Elizabeth Drake 的Prelude to Programming: Concepts and Design(另一本很棒的书是Charles Petzold的《C Sharp 的关键编程》 。它使用 C# 来教授编程概念。)

如果有人学习了基本操作的语义,以及数据类型、控制结构、程序设计和数据结构的基础知识,那么学习一种特定的语言就会被简化为学习该语言的语法。

你不会通过简单地学习如何用另一种语言重复单词来学习思考或合理化想法。

我喜欢使用 Ruby 编写日常脚本:适用于团队、测试人员和你 作者 Brian Marick

它教授 Ruby,但也展示了如何使用它来帮助测试 - 因此,与其阅读理论和进行练习,不如有机会实际使用一些代码。