有人能成为一名优秀的自动化测试人员,而成为糟糕的程序员吗?

软件测试 自动化测试 学习
2022-01-19 16:03:53

我目前是一名自动化测试员。大多数情况下,我在 SilkTest 中进行 GUI 测试,我喜欢并且认为自己相当擅长。最近,我被分配了一个用于我们应用程序 API 的 COM 测试项目。这涉及在 C++ 中使用比我以前担任此角色时更多的低级概念(指针、手动内存管理、复杂数据类型等)进行编码。现在,我过去做过一些 C/C++ 编程,并且我正在完成这个项目,但这确实让我质疑我的编码器有多好,因为我仍然犯了一些基本的错误。这可以接受吗?这是否会影响我使用高级语言和工具(如 Silk 或 Perl)的技能?

4个回答

我认为您在这里卖空了自己-您曾说过,在您熟悉且当前使用的语言和技能组合中做得很好,但是您在过去使用过的语言和技能组合上苦苦挣扎但是你已经变得相当生锈了。

这很正常。严重地。自动化和编程是互补的技能,但它们也是领域绑定的如果您没有在特定领域进行练习(例如使用 C++ 与 COM 对象交互),您将失去对许多基础知识的即时掌握,需要参考或帮助才能恢复。你也会变慢。

如果你没有保持你的 Silk 和 Perl 技能,当你回到他们那里时,你会发现他们不会像你开始这个项目之前那样流利。再次,这是正常的。

不要陷入这样的陷阱,认为因为你擅长某个特定领域并且你了解这些原则意味着你会自动擅长其他特定领域。测试原则和自动化(和编码)原则的任何特定应用总是有一个学习曲线。

现在,我使用 TestComplete 和 DelphiScript 完成大部分自动化编码。我曾使用过 C 系列、Java、VB 和所有这些的脚本版本,但我不希望能够立即学习并编写其中的任何一个,因为我已经好几年没有使用它们了. 我希望能更好地与他们合作,但不会立即或什至(必然)很快,这取决于我所处的情况以及其他任何对我的时间和精力的要求。

简而言之,您的技能似乎不仅仅是可以接受的,而且您正在产生结果的事实表明您已经学习到足以让事情保持在您的位置上。

很高兴你想要越来越快地进步,但不要忘记你和这里的其他人一样是人类(我想。据我所知,这里没有任何机器人贡献者......对不起.奇怪的幽默感)。

“优秀的自动化测试人员”和“糟糕的程序员”是在主体以往的经历、手头的任务、同时进行的后台工作、公司环境、团队动态、工具等多种情况下做出的判断。

一个人在一种情况下可能是优秀的自动化测试人员,而在另一种情况下可能是糟糕的自动化测试人员。同样,一个人在一种情况下可能是一个糟糕的程序员,而在另一种情况下可能是一个出色的程序员。

不犯错误就无法学习。我建议你扔掉弄巧成拙的标签,让自己经历学习过程。我们每个人都以不同的速度和不同的方式学习。注意你所做的事情,对你的错误诚实,给自己时间。

初级错误?你对自己太苛刻了。我为你扩展你的技能而鼓掌。不要放弃。

对于自动化测试人员来说,你听起来像是一个非常优秀的程序员,这无疑是你被信任承担如此艰巨的测试任务的原因。大多数使用高级语言的专职程序员如果突然不得不使用非托管代码,一开始也会很糟糕,即使他们在过去的某个时候使用过非托管代码。

在学习这些新技能时,您可以采取措施控制自动化的质量,以便以后更容易维护。我建议找一个愿意指导你并提供代码审查的开发人员。如果这对您来说很困难,您可能需要请您的经理帮助您找到可以经常对您的工作进行代码审查的人(并且可能需要管理层的影响来说服开发人员这是对他们时间的一种很好的利用,这取决于您的团队动态)。让您的经理知道您主要使用高级语言开发自动化,并希望您的 COM API 测试代码具有同等质量是非常合理的,即使您的 C/C++ 技能已经生疏。

如果工作中有人暗示你的错误意味着你不称职,你需要反击并推销你在工作中学习的意愿,并扩大你的技能组合。保持自信的微笑,感谢他们分享他们的担忧,并帮助你的管理层记住他们为什么选择你来完成这项任务。具体来说,您被要求这样做是有原因的。