请选择行业
请选择职位
请选择省份
请选择城市

四年,我眼里的软件测试

时间: 2012-12-05 13:35   作者: hyholine   点击次数: 
 

  一位企业家在分享自己的成功之道时说:自己的成功在于先于他人一步。中国的软件业起步晚,相对美国晚了30年左右,而软件测试这个行业,则相对美国晚了15至20年左右的时间。坦白的讲,我们是输在起跑线了。至今,中国的软件产品还是难以走出国门,只能给老外做做外包,当外包不景气时,IT业立马出现动荡,一群IT民工在网络论坛哭爹骂娘。稍加思考,一个产品的失败,除了市场因素外,往往是质量不行,软件测试作为软件产品质量的控制环节,从当今的软件环境可以看出国内的软件测试业有多么的薄弱。自动化测试作为软件测试的衍生物,更是薄弱无力。

  软件测试从业人员的整体素质能力水平偏低,这个是普遍现象。国外的软件测试人员职业发展从测试员到测试经理或测试专家,平均需要10年以上的职业发展时间,而我们的速度显得快多了,干了6年测试当上测试经理的比比皆是,从这点至少从侧面反映软件测试行业的不成熟。反观自己,从毕业到现在,从事软件测试职业有四个多年头,期间也花了很多时间研究Web自动化测试技术,也开发出了一套自动化测试框架,但是,仍觉得悲催,因为框架是居于商业软件QTP之上开发的,意味着合法实施自动化的前提得花一大笔钱购买别人的产品,这样的框架充其量只能是花瓶,并没有掌握到自动化测试的核心技术。然而,有人会问,开源工具不好吗,例如Selenium之类。开源免费固然是好东西,但是开源也仅仅是代码开源,并不一定是技术开源,其次开源的工具往往需要更高的技术支撑,尽管如此,相比高昂的商业软件,我还是看好开源的自动化技术。希望将来的自动化测试技术领域能如同操作系统竞争一般,给最终的消费者带来福音。

  从理论上讲,软件公司的质管部门(QM)包括两块,一个是软件测试(QC),一个是品质保证(QA),二者之间职能互有交叉,但是关注点和介入的点不同,不同公司对角色的定位也不同,正常情况下,QC倾向关注产品的质量,QA倾向关注产品的研发过程。所以,QC部门的成员是不断的在测试产品,分析产品的质量是否达到发布要求。而QA部门的成员则是在不断地规范开发产品的过程,并在原有过程的基础上对过程进行改进提升。二者的职能在产品线上都极为重要,从不同的角度上保证了产品的质量。而实际的软件开发环境呢,本人呆过的第一家软件公司,别提QA,连QC部门都没有,完全一私人小作坊,开发人员根据市场人员的要求对软件进行定制,市场人员简单对产品进行测试下就交付给用户,用户则在一片骂声中对市场人员施压,最终的结果是产品一直缺乏市场竞争力,订单减少,份额下降,领导层分崩离析。而目前的公司,通过了CMMI3级认证,在国内软件业界也算是拿得出手。但是随着软件技术的发展,开发部门在原有增量迭代模式引入了敏捷开发的思想,QA部门缺乏对过程的改进,导致QC部门的测试技术仍然沿用旧有的测试模式,在敏捷迭代模式下,测试人员往往疲于奔波在分析评审需求、用例设计编写、系统测试的过程中,不良的效应是测试人员没有时间来提高测试技能,这对于部门的成长是不利的。当然,领导层不是不明白这个道理,往往是投鼠忌器,对于流程中任何一丝改动,往往牵连着生产线上的各个环节,谁都不乐意去承担带来的风险。其实,任何一种变革都牺牲部分人的利益为代价,如果变革是一帆风顺就不能叫变革,充其量算是改进。总之,这一切主要取决于领导层的魄力。

  测试人员的职业发展,相信许多人都关心,俗话说,女怕嫁错郎,男怕入错行。选择一个正确的行业对于个人的事业发展至关重要。凭心而论,软件测试这行并没有网络宣传中那么火,什么个刚毕业年薪10万啥的,那都不靠谱,拿极个别的案例说事那都是别有用心的阴谋家。软件测试人员在整个软件的产业链上薪资水平并不高,主要原因是测试的工作的技术含量普遍偏低和领导层对软件测试不重视。软件测试的主要工作是保证软件产品的质量,因此成果产出几乎没有,没有那个领导愿意拿着你的一堆测试用例说事,对吧,成果无法体现,薪资提升就得放缓。但是,其实也不能悲观,软件行业作为高技术行业的朝阳产业,软件测试仍然处于发展上升阶段,其重要性正在逐步被认可,而且,软件测试的技术也逐步在细化,越来越多的分支理论体系和测试技术也正在被系统化的推广。

  刚刚进入软件测试的人过了个一两年往往容易迷茫,因为经过一两年的黑盒测试,软件业务已经掌握差不多,日复一日的重复执行用例,内心难免浮躁,此时如果没有很好地规划职业发展,接下来就难以突破自己的瓶颈,此时,往往会分为两类人,一类人停滞不前,一类人快速成长为测试专家或测试管理者。所以,一旦发现自己迷茫了,潜意识应该发现自己的职业发展已经遇到瓶颈,应该重新树立新的职业目标,选择一个适合自己的职业目标努力冲刺,否则你就是那个停滞不前的小兵。

  测试人员的工作压力其实并不次于开发人员,良好的工作习惯有利于改善自身面临的工作压力。传统的职业素养要求做到五心:专心、细心、耐心、责任心、自信心,但是处在技术日新夜异的软件行业中,还要有上进心。如下总结个人对这六心的理解:

  专心:上班时间,领导会要求你专心完成工作,心无旁骛。如果你一边测试产品,一边干别的事情,测试效率能高吗,别人发现了一堆缺陷,你就提那么几个,组长一查,你小子负责的模块遗漏了一堆问题没发现,你以后就得不到重用,在部门里只能是老末。在一个团队里,谁做得好,谁做得差,很容易被发觉,如果你测试时,老拿着手机办自己的事,一旦出了问题,领导一定会找你的茬。

  细心:做测试就是找bug的!这句话虽然有失水准,但是我们确实大部分时间是在找bug,找需求文档的bug、找安装文档的bug、找用户手册的bug、找测试用例的bug、找产品的bug。有这么多的bug需要我们费心思去寻找,你说能不细心吗,bug往往不是掉在马路上的硬币,俯首可拾,往往需要我们结合需求和自己的经验积累进行综合分析,除了发现显性的bug,也要挖掘隐性的bug。如果你细心测试,一定能比别人发现更多的缺陷,自然,你的工作绩效就比别人好。

  耐心:为啥要耐心呢,其实,测试常常要奔波于不同部门确认问题、例如:你要到界面设计部确认界面问题、到产品部确认需求问题、到项目部确认功能问题。在这些个环节的沟通过程中,需要充分发挥沟通的技巧,沟通的前提在你尊重他人的劳动成果的前提下要有足够的耐心,特别的面对开发人员,因为开发人员似乎天生对测试人员就特排斥(特烦你们这些天天找茬的,哈哈),除了个别极品外,一般开发人员还是比较尊重测试人员。开发人员和你沟通往往会用他们的开发语言和你解释业务功能,如果你不懂,你就会蒙,蒙了就会一知半解地去处理问题,如果你多花点心思,耐心和他们再沟通沟通,把你的疑惑说得更清楚些,往往达到的效果更好。另外,为了能得到更好的沟通效果,平时主动多和各个部门的成员聊聊天,见面主动打个招呼,以后工作上的许多问题都能得到较好的协助。

  责任心:没有责任心的男人得不到女孩子的芳心!当然,在职场上,不论男女,没有责任心你必然得不到领导的“芳心”。责任和权力往往是并行的,你承担更大的责任,往往可以获得更大执行权力,所以用于去承担一些自己力所能及的责任吧,不要在意别人怎么看,勇于承担责任的人往往是被尊重的。如果你是一个新人,要积极地设身处地地站在负责人的角度上考虑问题,多为项目的质量提供你的看法和意见,慢慢地,你会与众不同!

  自信心:不要以为你做黑盒测试,没有技术含量,和开发人员对质问题就没有了底气,开发人员的认知不是衡量产品质量的标准,能衡量产品质量标准的是用需、软需,当你能确定需求功能描述时,请你硬起腰杆和开发人员斗到底吧。当然,对自己有自信,前提要建立在自己有足够能力的基础上,如果自己没有能力,又表现得很自信,别人会认为你是自大罢了。自信心往往可以表现出自己积极的职业形象,得到同事的认可。

  上进心:想在IT圈里保有生机,就一定要不断的学习,不能吃老本,像算命先生,拿本老黄历算一辈子命,IT人没有那福气。每天都要吸收一点新知识,积少成多,不要书到用时方恨少。做软件测试的学习有个特点,那就是博而不精,需要博览IT方面的新闻和技术,在博览的前提下会限制你学习的精通,但是无法精通不代表全部不精通,而是要在博览的前提下精通一两门技术,这样你在职场上才有竞争力。本人非科班出身入行软件测试,通过4年的努力,在测试理论和技术都不比别人差,靠的就是每日的积累和学习,抱有一颗上进心,可以让你在竞争激烈的职场上处于不败之地。

  眼见着就要离职,终于有理由找个借口让自己总结下这几年来在软件测试这行的认知,四年,对于一个软件测试行业而言,也仅仅是刚入了门槛的阶段,接下来还有许许多多的的路要走,许许多多的荆棘等待着跨越,愿自己在软件测试这条道上越走越宽阔!

版权声明:本文出自 hyholine 的51Testing软件测试博客:http://www.51testing.com/?281470

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

打印本页 | 加入收藏

上一篇:写简历,不是越“牛”越好     下一篇:成为一名测试开发很难

关闭  
主要城市: 北京 上海 杭州 广州 南京 武汉 长沙
全部城市: