尽管我完全同意 TristaanOgre 的回答,但我确实还有一点要补充。
开发人员经常(即使他们没有意识到)对他们的代码有情感上的依恋。他们花费了数小时/数天/数周,有时甚至数年时间将它们放在一起。他们已经接受了某人想要的东西,并且(通常)将这些要求制作成一个有效的、通常是优雅的创作。正如 TristaanOgre 所指出的,他们具有创造者的心态。
另一方面,测试人员没有思维定势,他们有很多。我不知道任何只戴一顶帽子的测试人员在盐分上的重量。相反,他们戴着多顶帽子。他们分析需求寻找漏洞。他们(有时)将其视为另一个开发人员,想知道是否有更有效的方法来开发它。
我是一名测试人员,以下是我在测试时使用的主要思维方式:
- 订购软件的客户希望它如何工作?
- 开发人员如何构建它以供使用(想想轮胎摆动)?
- 最终用户将如何使用它?
- 高级用户将如何使用它?
- 心怀不满的员工将如何使用它?
- 心怀不满的最终用户将如何使用它?
- 不熟悉产品的人将如何使用它?
- 想要破坏它的人将如何使用它?
- 其他应用程序将如何使用它?
测试人员不同的其他方式之一是,开发人员同样关心构建软件并教其他人如何使用它。尽管测试人员喜欢向开发人员学习,但他们也喜欢向软件学习。有好几次,我向开发人员展示了他们的软件可以做到的事情,他们从未期望它能够做到,与任何想要的东西完全不同,但仍然有用。测试人员利用他们学到的知识并思考更多的东西来测试。
我喜欢谈论在我的测试过程中,我如何看到闪亮的东西(看起来不寻常的东西)。一旦我完成了我的会话,我就会去看看那个闪亮的东西,希望它是一根银线,可以引导我穿过迷宫找到宝藏(一只虫子)。
我不想在这里写小说,但我认为这可以基本了解开发人员的心态和测试人员的心态有何不同。