1.6测试工作的产出问题
软件测试是软件工程领域的一个分支。软件测试工作的性质决定着它总是处于软件开发工作的“对立面”。关于测试工作的产出,业界人士有着不同的看法。先不论对错,这些看法或多或少会对已从事或打算从事软件测试工作的人产生一些认识上的影响。Carl向作者分享了他作为面试官的一次经历,在那场面试中,他引导应聘者正确地认识测试工作的产出问题。
Carl:有些人认为,代码是开发人员编写的,即便是测试人员发现的bug,也是开发人员编写的,而且bug的修复也是开发人员通过修改代码进行的。就产品而言,根本看不到测试人员的任何踪迹。你怎么看待这番言论?
应聘者:代码是开发人员编写的,bug也确实是开发人员的输出,测试人员只是发现它,但这一点已足够重要。开发人员为什么没有在代码设计时发现bug呢?因为人都会犯错误,开发人员也一样。其实我认为,开发人员与测试人员在工作中存在一种互补关系。二者的共同目标是及时发现并解决bug,提高软件质量。
Carl:很好,理解到位。那么,你认为测试工作的产出包括哪些内容?
应聘者:对于用户使用的产品,测试工作的产出好像没有看得到、摸得着的。
Carl:尽管测试人员的输出没有直接体现在产品上,但对产品是否有间接影响呢?
应聘者:间接影响肯定有,如测试人员将bug反馈给开发人员,从而提高产品的质量。感谢面试官的提示,面试官可否谈一下自己的看法呢?
Carl:从项目角度来看,测试工作的产出包括测试计划、测试方案、测试用例、测试代码、bug、测试报告和开发的测试工具等。这些产出都是为了更多、更快地在研发内部发现bug。从测试本身来看,能够提升测试工作的质量和效率的输出都是测试工作的产出。测试工作的产出是指能够给项目或组织带来反馈的所有输出。测试工作的产出出现在产品的整个开发链路中,除服务于软件项目以外,还包括对测试人员的培养和对团队的整体赋能等。
应聘者:领教了,感谢面试官的指点。
这里,作者给出一般的测试工作的产出,如图1-6所示。
测试工作的产出在不同业务领域有所不同。图1-6以测试的输出为出发点,从全局角度给出测试工作的产出,读者可根据自己所在企业的实际情况进行补充或缩减。测试工作的产出与测试人员的成就感的关系,不同的人有不同的感受。接下来,作者谈一下测试人员的成就感。
图1-6 测试工作的产出