时间过得真的很快,至今我已在软件行业摸爬滚打了7年了。是该根据自己的经历好好总结梳理一下,为自己以后的职业发展提供借鉴,为新入行的测试人提供参考。

  我刚毕业时在一家央企的财务部做一些财务用的小软件,当时自己计划和操作整个的软件生命周期。通过这个时期的工作我深深的体会到了什么是终用户,一个软件做到什么程度在用户方才算是一个合格的软件产品。用户对软件的要求其实很简单:用简单的操作完成需要实现的功能,对任何的错误或不当操作反馈准确易懂的提示信息。当时常听到的一句话是“我要你做成这样好。”现在回想起来,真的是那样。

  06年我到了杭州,开始从事软件测试行业,并且一直做的现在。期间做过普通的软件测试工程师,TeamLeader,高级测试工程师,现在在一家小软件公司做测试经理。这么多年的工作经历让我深深意识到,软件质量保证工作真的是一个软件公司中应该被重视的工作。因为高质量的软件是一个公司发展和壮大的基本因素。诚然有些公司是准备有一定市场后要卖出去,有些公司是依靠人脉关系销售软件,有些公司因为起步早而在某一行业处于近乎垄断的地位等等。但是中国现在已经加入WTO,外国的很多软件公司已经进入中国,并且以后还会有更多的公司进入中国市场。我们可以问问自己:为什么和一般的同类软件的销售价格会相差十几倍至几十倍?

  我认为高质量的软件产品是一个软件团队所有成员都负责任的完成自己任务以后的必然产物。

  首先说说团队,这其中涉及的需求人员、设计人员、开发人员、测试人员都应该真切的视自己为团队的必不可少的力量,都应该为了项目或产品的成功竭尽所能的去工作,只有团队真正的拧成一股绳的时候才具备了产出高质量软件的基本条件。这是我要说的第一点:团队认同感、归属感。

  高质量的需求调研文档是软件成功必不可少的条件,但是不同的人对同一句话的理解往往会有差异,因为立场不同。所以想要保证需求的质量,需求人员必须把自己置身到用户的立场去感受、去调研、去理解目标用户反馈的信息。对于不确认的信息要想尽办法搞清楚。所以需求调研人员好是行业专家。需求文档整理出来后,必须经过客户方代表和公司设计、开发、测试的共同评审才能终定稿,并终进入软件设计流程。这是我要说的第二点:软件需求必须用“心”去做,并且监督评审必须到位。

  接下来进入了软件的生产流程,在设计阶段,设计人员是主角,开发人员、测试人员、需求人员要可以及时获得设计文档。设计人员必须在实现需求的情况下,站在用户的立场上去设计功能,实现好的用户体验。在设计评审时,开发、测试、需求要从用户的角度去评判设计,根据需求从用户的角度去评审设计,这真的很重要。问题如果能在设计阶段发掘出来会极大的减少资源的浪费,缩短产品或项目周期。这是我要说的第三点:设计要注重用户体验,同时监督评审也必须到位。

  软件进入开发测试流程后,实际的开发人员应该站在用户的角度上去开发每一个功能,如果有比设计更好的实现方法,应及时和设计、测试、需求人员沟通,共同确认是否更改设计。每一个功能完成后,必须进行完整的自测,然后及时送测给测试人员,测试人员也要在用户的角度进行测试,发现问题或建议及时反馈、沟通和处理。还有很重要的一点,测试必须要有测试用例。测试开始前,测使用例必须经过评审,当然评审粒度根据公司资源确定。这是我要说的第四点:开发是软件的制造者,测试是软件质量的保证者,两者相辅相成,荣辱与共。

  高质量的软件是一个软件团队共同努力的结果,任意一个环节出问题都可能造成团队的灾难。团队必须要想办法、尽全力将自己的团队凝结在一起,使大家具有团队荣誉感和使命感。软件生命周期的各个阶段都有工作重点,团队领导必须把握好。团队领导不能轻视任何一个环节的工作,否则高质量的软件只能是一句空话。古人说“三人行,必有我师焉”。任何一个团队,所有人的力量都发挥出来肯定比所谓几个精英累死累活搞出来的结果要好。人们说的“兵熊熊一个,将熊熊一窝”也是说团队领导的重要性。

  呵呵,总结完了。后再说一下自己的看法:高质量的软件是软件团队共同努力的结果,用户体验是软件质量很重要的方面,软件的需求、设计、开发和测试都应该是从用户的角度出发去工作。