软件测试:开发的第一步?

软件测试 职业发展
2022-01-28 22:26:54

自上个月以来,我一直在为 QA 测试 Ubuntu 每日构建。我对学习开发还没有太大的信心,因为遇到一堆代码我感觉不熟悉。但是有一天我想写代码和开发软件。

到目前为止,我认为 QA 工作是主动测试、通过邮件列表进行通信和报告错误。

质量保证测试在哪些方面是开发的第一步?

谢谢你的时间。

4个回答

我是一名自学成才的程序员,拥有 14 年的 QA 经验(其中大部分是作为测试软件开发人员)。我在 QA 方面的经验帮助我加深了对设计、许多不同的核心/基础技术(html、http、tcp、msaa 等)的理解,并锻炼了我的分析和批判性思维能力,所有这些都帮助我为成为一名开发人员做好了准备。

一旦我开始编写代码(从一些简单的工具、网站/服务和自动化开始),还有很多东西要学。我的 QA 经验很不错,但在大多数情况下,它只是间接地有益于我学习编写代码的能力。在 QA 中取得成功并不一定与在开发中取得成功相关,我看到优秀的测试人员被迫担任不喜欢它并且不擅长它的开发角色。我还看到优秀的测试人员变成了优秀的开发人员,甚至一些不那么优秀的测试人员也变成了优秀的开发人员。

我选择继续担任 QA 角色(测试中的软件开发工程师)。我大部分时间都在执行开发任务(规范、模拟、编写代码、单元测试等)。许多大公司(微软、谷歌等)只雇佣可以编写代码的 QA 资源。我的薪水与开发人员的薪水相当。我喜欢项目的广度以及我在这个角色中从事的各种工作。通常,开发人员会在一个专业上获得很多深度。

我的观点是编写代码很棒,您可以选择是否继续担任 QA 角色并继续编写代码。您还可以转入开发角色或从事自己的项目,做让您开心的事情。请记住,成为一名优秀的开发人员的道路是漫长的。学习编程语言的基础知识与学习编程语言的所有细节与使用适当的算法和设计模式编写可维护、高性能、安全的代码之间存在巨大差异。从现在起 30 年后你的职业生涯结束时,你仍然会学习新事物。

在我工作过的地方,测试并不是开发的第一步。

事实上,当我面试候选人时,我会试探他们是否是这样看待 QA/测试的。如果他们认为这是发展的一步,我通常不会雇用他们。

为你的职业生涯制定一个涉及不止一种工作的计划并没有错。但是,即使您想成为一名开发人员,也需要认真对待您的 QA 工作。一旦您因为编写测试计划并不能帮助您成为开发人员而在测试计划上半心半意地工作,那么您就会走到岔路口:要么说服某人很快雇用您作为开发人员,要么冒着被从你的 QA 工作中解雇。

QA 和开发之间有很多重叠之处。例如,这两项工作都由能够清晰地亲自和书面交流的人很好地胜任,与他们并不总是同意的人一起富有成效地工作,学习如何使用一个重要的软件的各个方面,学习如何将软件组合在一起,并解决可能具有多个故障点的技术问题。如果您在 QA 中展示了这些技能,那么您将更容易转向开发。

当然,在 QA 和开发之间有一些中间地带,即测试自动化。可以编写自动化测试的测试人员是有价值的测试人员。另一方面,除了编写自动化测试之外拒绝做任何事情的测试人员将更难找到(和保住)工作。

在与新的大学毕业生(新生)谈论开始他们的职业生涯时,我举了两个例子,其中开始测试可能是一个好主意:

  • 我认识的最好的开发人员都非常擅长测试自己的代码。我问一位高级开发人员,为什么他要花这么多精力来达到 100% 的单元测试覆盖率。他回答说他想成为“那个人”,而不是“那个人”。开始您的测试职业生涯是学习测试方法的好方法,您可以在以后作为开发人员的职业生涯中应用这些方法。
  • 开始测试职业的另一个原因是明智的,与您的条目处于开发阶段相比,您通常会看到整个系统,或者至少是更广泛的功能视图。您测试 Ubuntu 日常构建的角色可能让您与操作系统的许多部分进行交互。如果您是作为开发人员开始的,您可能只关注一个狭窄的部分(例如,打印机驱动程序)。通常,从测试开始可以让您更广泛地了解产品。

最后,我看到的最能激发智力的活动之一是弄清楚如何编写测试软件的软件(而不是手动测试)。我建议您通过编写程序开始学习编程,以使您的测试更有效。您可能会在您面前找到您正在寻找的东西。

祝你好运!