戏说软件测试

  我刚入行的时候,软件测试人员在国内还是一个比较新的工种,没有太多资料可以参阅,最好的资料就是公司内部领导或者比你早进公司的老人的言传身教。(抱歉,文章一开始就老气横秋)
  最近几年随着互联网公司的走红,随着码农增多,相应的测试人员也越来越多,网上相关的测试资料页越来越多,只要资料足够,大家花一天就绝对可以了解关于测试的方法、流程、技巧、规范等内容,一跃成为专家了。
  不过我觉得测试归根到底还是一项技术活,而不是文档活,更不是吹牛活。
  测试这个工种的前景
  如果把产品研发看成一条河,不得不承认,测试人员是处于这条河的下游。上游有立项sir,接下来到产品汪,再到开发汪,再到测试汪,肯定有人立即跳出来责问我,你把需求测试、白盒测试放哪了?扪心自问,需求分析之前,白盒测试之前不都是别人先做好了东西才给你看的吗?当然,我不否认有的牛逼测试人士一开始就参与产品设计、架构设计等(我不会说我曾经这样干过哦),但是有几个产品汪开发汪愿意一开始就让测试汪在自己面前指指点点的。小样,我还需要你来review代码了?so(牛逼技术文档一般都有英文单词的),大多数时候测试汪只能等对方完成得差不多时才能进入这条河,你说是不是?但是,各位同仁不必心灰意冷,有句话叫“存在即是合理的”,测试这项工作既然存在了这么久,在可以看见的将来也不可能会消失,所以我们不用担心自己的前景,但是,必须担心自己的“钱景”!升职加薪不是人人都有,涨薪靠老板,涨本领靠自己,如何提升自己的能力呢?
  测试这个工种已经十分细化了,通过努力,你可以成为牛逼的集成测试,或者牛逼的自动化测试、性能测试、安全测试,甚至是现在新兴的大数据测试、移动测试专家,无论是哪种测试,以下几点将是你成为测试高手的必备秘籍。
  1、对测试基本方法要熟悉到炉火纯青,测试工具方法千变万化,万变不离其宗。
  2、具备你所在产品的面向的用户思维,不但要考虑到用户的各种使用场景,还要具备各种用户的视角,例如小白用户的使用习惯,例如高级用户的思维等等。(有点像人格分裂吧,呵呵)
  3、具备技术能力,根据不同岗位,测试要掌握的技术是不同的,例如系统安全,windows基础知识,工具使用,系统设计,系统分析等等,尤其是编码,独立完成从编码到编译实施这个过程,这将令你熟悉开发者思维,更能让你和开发汪“打成一片”。未来的测试肯定要往开发方向靠的,手工测试很多内容将会被灰度发布中的社会化测试所替代。
  以上所有技能,必须都要时时刻刻紧记结合工作运用,否则都是浪费时间。
  刚才说了很多种测试,是不是有的测试就比其他测试牛逼呢?非也,只要做到极致,每种测试都是同等牛逼的,只要你把秘籍练好了,你就能转换成任意的测试人员。是不是有的测试可以被另一种测试替代呢?非也,每种测试都有缺陷和优点,都是不可替代的,还是那句话“存在的就是合理的”。
  不过话说回来,有些事情不是你努力了就有回报,原因是因为你努力的方向不对,所以我们也要偶尔关注行业的方向,关注同行们在研究什么,尽管同行们和我们做的不一定是一回事,因为测试的对象实在太多,不过了解多一些,对于自己的职业发展总是有好处的。 
  后记:大家可以看到我通篇都是说测试,而不是qa,有的观点认为qa的概念比测试更大,比如更重视流程、更重视质量,甚至有的观点认为“qa是通过改进开发流程来保证软件质量,而tester是通过测试软件产品来保证软件质量”,这种观点委实不对,这里的qa应该叫过程改进人员,隶属运维部。如果是指qa需要参与到整个软件研发流程中,那我觉得现代的软件测试人员工作已经包含qa的所有工作,前几年不就有一本书叫做《全程软件测试实践》吗?我没看过,估计也就是说这么个回事吧,测试目的也是为了保证质量,而流程则不能一概而论,这个东西有时候真的需要从上而下推动,一只巴掌拍不响的,如果整个研发过程足够成熟那测试人员参与到流程中是很自然而然的事。

posted @ 2015-11-20 19:14  肥狐  阅读(507)  评论(1)    收藏  举报