在软件测试中再次迷茫! 最近随着项目接近尾声,一个个CREW都陆续exit了,我们的工作量也越来越小了。以前总是抱怨工作量太大,没有时间学自己的东西,没有时间去提高自己。可如今,时间有了却不能静下心来认真地学,更痛苦的是面对如此多的测试方面的资料,却不知该从哪儿开始。再次陷入了迷茫之中。以前就听说,测试会使人懒散,没想到如今自己也变为了懒散之人。从内心里说,我很喜欢写代码,尽管写的代码质量不高,可我就是喜欢,似乎只有写代码才能让我完全集中精神,甚至可以让我忘记时间。我不知道这是否说明我真的就适合做开发而不是测试。但是考虑到做开发需要掌握很多很深层次的知识,而我掌握的都是一些很肤浅的东西,而且遇到难题解决问题的能力还不够强,所以感觉不适合干开发。最初是打算干几年开发,然后转测试,去年换工作时当有SDET的工作给我时,我考虑了一下,最终还是选择了走测试这条路,只是最初还信以为真,以为SDET真的是也会做点开发,可实际上完全就是STE。开始干这行转眼已经半年多了,一直以来都在努力让自己喜欢上测试这行,可这么长时间了,似乎学到的东西及其有限。考虑到自己还是喜欢写代码,而如今又已经步入了测试这个行业,所以想结合二者,打算往白盒测试方面发展。也不知道我的考虑是否合理。看到网站上的测试方面的东西,太泛太杂,面对如此之多的测试资料,可我不知从哪儿开始,真的很迷茫!我到底该怎么办?难道真的就这样在这里得过且过,虚度时光?时间已经不容我这么虚度了!以上是我的一个朋友发给我的一个他的个人感受,我觉得软件测试不是这样的,它应该是这样的。 为了更好地服务于客户和规避操作风险,近年来软件测试工作越来越受到重视。尽管软件测试的作用与传统工业的产品质量检验目标一致,但自上世纪60年代以来,软件测试理论在整个IT中发展相对缓慢。软件测试工具尽管在管理能力、易用性方面有了很大提高,在实际应用中仍旧不能从根本上提高软件测试生产率。 在对软件测试的要求和期望越来越高,而软件测试的方法和工具没有长足发展的情况下,全面提升测试团队和测试人员的能力,就成为了进行有效测试并尽可能提高测试效率的重要基础。 一、关于能力的浅析 测试团队的能力由个人能力和团队能力两个方面构成,两者相辅相成。为了有效提高能力,首先对个人能力和团队能力进行一些浅显的分析。 1.个人能力 (1)个人能力的概念 中国大百科全书《心理学分册》说,能力是“作为掌握和运用知识技能的条件并决定活动效率的一种个性心理特征”。通俗地说,我们可以认为个人能力是达到优异绩效所需的知识、技能和素质的组合,这里的素质包含了大百科全书所说的个性心理特征,是比较难以量化衡量的。 (2)个人能力培养现状浅析 ●对知识的培训 软件测试工作来说,所需专业知识可分为基础工作知识和专门工作知识两类。基础工作知识包括软件测试的基本技术和方法、软件测试的文档规范等在专业内通用的知识,一般可使用专门教材进行培训。这些培训可以由内部专家完成,也可以由外部专家完成。相对来说,学习的成果也比较容易客观衡量。 专门工作知识是在更小的范围、特定的时间内适用的知识。很多知识往往是处于经验的积累阶段,且具有时效性。例如对于开发中的应用系统的认识和了解,在目前业界文档编制、评审和版本管理的状况下,一般只能通过“师父带进门,修行在个人”的方法进行培训。在这样的情况下,如果测试人员有比较深厚的IT和业务经验,将缩短专门工作知识培训的周期,提高培训的效率。如果测试人员是新学生,则培训的难度较大。 ●对技能的培训 技能在很多场合也被称为“动手能力”,对于软件测试来说,技能的培训也很复杂。对于原来具有业务背景和软件开发、维护背景的人员来说,在软件测试工作中,肯定会优先使用已经掌握的技能,这样能够使得测试工作比较快地上手。了解业务、了解技术实际上是对被测对象不同角度的了解,是软件测试技能的重要组成部分,只有结合了专业的软件测试技能,才能够实现全面、协调、可持续的软件测试效果。仅仅从技术和业务角度进行测试,则往往在测试的彻底性、测试的效率和回归测试等等方面难以达到银行业软件测试发展的要求。 根据目前我国IT人员和金融财会人员学历教育情况,本科生的技能与银行业软件测试的实际需要相比显薄弱。研究生在学历教育期间会有不同程度的培训,但是由于我国银行IT系统及其使用状况的复杂与庞大,学生较少有机会在类似的环境中接受相应技能的培训。 以往对技能的培训,往往与专业工作知识培训采取相同的做法。很多情况下,专业工作知识与技能的培训是交织在一起的。实际上,很多人是通过自己的领悟了解到了工作的方法,但也形成了对于技能只能意会、不能言传的状况。 ●对素质的培训 素质可以通过多个方面展现,例如演绎思维、归纳思维、进取精神、人才培养意识和能力、灵活性、主动性、人际理解能力、人际影响能力、合作能力等。归根到底,就是一个人的世界观、价值观和处事哲学、基本习惯在各个方面的展现。实际上,素质对于高质量地完成软件测试工作,往往比知识和技能占据了更重要的位置。