我不太明白测试员的概念。我刚毕业,在加入职场之前,我想我应该和测试人员一起编程,并使用TDD,他们将编写测试,我将通过测试或类似的东西。然而,事实并非如此。显然,我所见过的人都不知道如何编码。他们中的一些人知道如何使用脚本语言的基础知识,但这几乎就是全部。
所以,从本质上讲,当我完成代码时,我会编写测试(单元、集成等)。然后把我的代码放进去。我告诉测试人员它是什么以及它所做的,然后测试它的功能,并批准或请求进一步讨论。我真的看不出这有什么用。我希望我能告诉他们我编码了什么,他们只会写测试。
我还见过一些优秀的软件开发人员是科技公司(谷歌、微软等)的测试人员。为什么这些开发人员想成为测试人员?他们的开发人员技能真的被使用了吗?如果是的话,怎么做?
很抱歉,我真的对这个测试者的概念感到困惑(是的,它不是在大学里教的)。我也读过Are programmers bad testers?这个问题,但是它提到程序员参与了手工测试。虽然我毫不怀疑测试人员很擅长测试一个项目,但我发现他们没有必要测试一些功能(即这个按钮向xyz端点提交一个post请求并发送这些值)。
发布于 2014-09-22 12:52:42
“测试人员”一词适用于所有从事略有不同工作的各种职业。测试人员的共同点是他们
一些测试人员是:
传统上,测试人员不需要编程知识,任何需要它的测试(例如单元测试或集成测试)都属于程序员的范围,只有当您不需要编程工具与被测试的系统交互时,测试人员才会出现。
有了测试自动化,测试人员可能会深入到代码中,但他们不太可能开始与程序员一起工作,因为这会过多地损害他们对需求的独立看法。这种独立的观点是重要的,因为它将带来毫无根据的假设和不明确或不明确的要求更早地被揭露。
发布于 2014-09-22 12:57:34
我真的看不出这有什么用。我希望我能告诉他们我编码了什么,他们只会写测试。
那可不是你所生活的世界。此外,并不是所有的事情都可以在自动化测试中完成。此外,“手动测试人员”通常比开发人员拥有更好的领域知识。听他们的话,你可能会学到一些关于为什么你的系统有你要实现的需求的东西。
我还见过一些优秀的软件开发人员是科技公司(谷歌、微软等)的测试人员。为什么这些开发人员想成为测试人员?他们的开发人员技能真的被使用了吗?如果是的话,怎么做?
他们通常有“软件工程师在测试”或类似的职称。是的,他们的开发人员技能被用于编写测试,就像您在编写应用程序时一样。为大规模系统建立测试基础结构本身就会导致复杂的测试系统。
发布于 2014-09-23 02:27:34
我认为这里的问题是,您混淆了特定的测试子集“单元测试”和被普遍接受为“测试”的大得多的测试集。
单元测试通常由编程团队自己完成。它可以是手动的,但通常使用自动化测试框架(如Junit )。
一般来说,测试团队并不关心单元测试,唯一的工作就是测试系统是否符合规范。他们不需要知道它是如何构建的,哪些语言框架是使用etc.etc的。以确定它是否有效。
除了单元测试之外,测试分为几类:
几乎不可能在不引入bug的情况下编写代码。更糟糕的是,正确指定模块几乎是不可能的。
所以,除非你的名字是“比尔喜悦”,否则你将在编码时引入bug。即使您的代码精确地用于规范完成的模块,也可能是错误的。
我所认识的所有优秀程序员都相信程序中充满了未被发现的bug,并知道在那些心里知道他们有多小心,他们就会做错事。边缘情况可能是正确编码的噩梦(如果循环执行n次或n-1次)。接口规范可以是完整的和模棱两可的;您可以读取文档,但是您真的不知道调用API时会发生什么。
测试是软件开发过程的基础,如果50%的项目时间没有用于各种类型的测试,那么代码在部署后很快就会失败。失败可能是微不足道的,可能是令人尴尬的,也可能是灾难性的。
所以要学会爱你的测试员!当他们发现窃听器时要高兴,他们刚刚救了你的命!
https://softwareengineering.stackexchange.com/questions/256940
复制相似问题