测试:对结果进行把关
张成功项目管理记
根据张成功所在公司的项目管理流程的规定,单元测试和集成测试由项目开发小组自行负责完成,系统测试由软件测试部所派出的测试人员完成。
为了保证代码质量,开发经理习开花在编码人员完成模块编码之后,会组织进行重点代码走查,重点代码走查由具有丰富经验的编码人员完成,他们所采用的“重点代码走查表”如下(见表6- 7)。
张成功项目组单元测试工作采用自动化测试工具辅助完成。由于张成功负责的这个项目采用的是Java开发语言,程序员们采用了Parasoft公司推出的Jtest1作为自动化白盒测试工具。
集成测试和系统测试在张成功所在的公司里没有本质区别,都是采用手工测试的方式进行,它们所采用的测试用例模板也一样,两者只是开发测试用例的人员以及执行测试的人员上不同。所以关于集成测试工作,此处略。
根据项目管理计划和项目的实际进展情况,测试负责人艾策饰带领两个测试人员小D和小E,对项目组提交并经配置管理员打好配置基线且已发布的系统进行系统测试(见图6- 8)。
之前说过,艾策饰只负责系统测试工作,单元测试和模块集成测试由项目开发小组自行负责完成。在“用户需求说明书”通过评审之后,艾策饰就组织测试工程师编写系统测试用例,执行系统测试时则严格按预先开发出来的测试用例执行(见表6- 8)。
每轮测试完成后,艾策饰都会按公司模板要求编制“系统测试报告”(见表6- 9)。
张成功所在的公司要求:没有通过测试的系统是不能被发布到用户现场的,这也是对用户负责的具体体现。
由于测试人员在不少开发人员的心目中被认为是给自己“挑刺”、“找茬”的,因此,在很多公司,开发人员和测试人员之间的矛盾也不少见。张成功所在的公司也不例外。
这不,有一天,测试工程师小D和开发人员之间就BUG问题到底要不要修复发生了激烈冲突。艾策饰知道本冲突的产生既有开发人员的问题也有测试工程师小D的问题。艾策饰感觉到测试工程师小D对自己的工作职责理解得不到位,为了给下属纠偏,艾策饰利用一个私下的机会找到测试工程师小D,和他意味深长地沟通了一个优秀的软件测试人员所需要具备的五项非技术素质。
素质一:保持良好的工作态度。
良好的工作态度是做好一切事情的基础。因为,一个工作态度恶劣的人是很难得到别人的配合和认可的。
测试工作虽然是QC(质量控制),但我个人认为,测试人员需要将自己的工作定位为服务类型的工作而不仅仅是行使“控制”的权利(特别是在软件开发和管理还不规范的情况下)。有了良好的工作态度,我们表现出来的行为往往就会更加适合项目的实际需要,也才能真正为提高产品的质量发挥应有的作用;否则即使你拥有超强的技术能力,工作起来也会“举步维艰”。
素质二:真心付出。
一颗真心付出的心,它能让你的工作被别人所认可(虽然你的工作业绩不一定很出众)。
测试工作相对开发工作来说,成绩的“可见性”要小一些,因此成就感也会小一些。另外,测试工作是一项比较枯燥的工作,它需要测试人员认认真真、一丝不苟地去重复那些已经测试过一遍甚至是多遍的功能模块。
如果测试人员没有一个良好的心态去真心付出,而是采用应付的做法的话,自然也就无法提高测试效率和测试质量,甚至让开发人员反感,进而影响到后续测试工作的正常开展。
素质三:尽早参与项目,做好前期准备。
“有备”才能“无患”。
有太多的项目,往往留给测试人员做测试的时间都非常紧张,如果我们缺乏充分的准备而是“临阵磨枪”,则往往会“手忙脚乱”,因而也无法达到预期的测试效率和测试质量。为了提高测试效率和测试质量,测试人员应尽早参与项目、做好前期准备。
前期准备包括熟悉需求、了解产品特性、准备测试数据、熟悉开发团队成员等方面。
测试人员一定要提前规划好自己的时间,让自己早熟悉、多熟悉项目各方面的情况。实践经验表明,测试人员越早介入项目,后续测试工作就会越有序和顺利,测试效率和测试质量也就会越高。
素质四:积极配合开发人员工作,努力赢得开发人员支持
测试工作是一定需要开发人员配合的,这也许就是部分测试人员感觉自己很难控制测试效率和测试质量的原因所在。
如何才能赢得开发人员的支持?作为测试人员,我们绝不能消极等待或一味地埋怨开发人员的不理解和不重视。我们首先需要正视自己、改进自己,通过自身的不断努力让开发人员真正体会到测试的价值;同时也需要理解并配合开发人员的工作,因为开发人员面对的压力甚至比测试人员更大;这样才能赢得开发人员的支持。
互相配合、互相促进;良性循环的结果是,彼此感情加深了、配合默契了,工作效率和工作质量也就自然提高了。
素质五:加强沟通和信息收集
我碰到过不少这样的案例:测试人员测试了一段时间之后,才发现用户的需求已经变更了,而测试时参考的还是原来的需求。导致这种情况的原因很明显是缺乏沟通。
出现类似这样的情况,有些测试人员比较喜欢把责任归咎于需求分析人员或项目经理没能将变更之后的需求及时告知测试人员(当然项目经理和需求分析人员是有责任的)。但要避免这类问题,我们测试人员是完全可以做到的,我们只需在测试前和项目组相关人员及时沟通就可以了。
当然,为了有利于测试工作,测试人员平时也需要主动和开发团队沟通项目的进度、项目存在的问题、项目的需求变更等情况。总之,与团队成员沟通得越充分、对项目的信息收集和把握得越及时、越准确,我们的测试工作才可能做得越好,才可能提高测试效率和测试质量,否则辛辛苦苦可能做的只是“无用功”。
自那以后,测试工程师小D不断地反思和改进着自己的工作,年终还被评为了优秀员工,而当初和他发生冲突的那位开发工程师,在他的工作态度感召下,也意识到了自己的问题,后来两人成为了很好的朋友。
本节内容精要
在项目建设过程中,项目组的开发人员进行模块单元测试和集成测试,对重要模块进行重点代码走查。
测试机经理艾策饰负责系统测试工作,他组织测试人员编写“系统测试用例”和执行系统测试,测试完成后编制“系统测试报告”。
测试工程师小D和开发人员之间产生了矛盾;艾策饰和小D分享了优秀软件测试人员所需要具备的五项非技术素质让小D有了很大的改变。
(1)保持良好的工作态度。
(2)真心付出。
(3)尽早参与项目,做好前期准备。/em>
(4)积极配合开发人员工作,努力赢得开发人员支持。
(5)加强沟通和信息收集。