首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

怎么理解和成为测试工程师

2012-07-30 
如何理解和成为测试工程师前言到现在为止,我接触测试工程师这个职位前前后后已经快有1年了,然后便有了些感

如何理解和成为测试工程师

前言

    到现在为止,我接触测试工程师这个职位前前后后已经快有1年了,然后便有了些感触。

    

    场景1:

    A:你现在在做什么?

    我:测试开发工程师。

    A: 哦,测试啊!(然后就一脸鄙视)

 

    场景2:

    B:你为什么要去做测试呢?

    我:可以多学一些。

    B:那不去做开发啊

    ...

    ......

    其实这样的场景对于一个测试人员来说经常面临到,当你开始认真的思考的时候,甚至会发现真的像他们所想的那样了——一个鸡肋而且没有技术含量的职位。于是这便是我为什么要写这篇文章的原因。写写我是如何理解测试工程师这个职位的含义,和一些成长历程。

 

第一章

    要理解测试工程师这个职位,那我们可以先从一条简单的软件开发流水线上来观察其所处的位置。一个软件的开发主要需要这三个方面的协作:产品经理,开发人员,测试人员。这是一个最基本的流程,如下图便是他们之间的联系和职能关系图。

怎么理解和成为测试工程师

怎么理解和成为测试工程师

    那么可能从上面的图中可以看到,这工作重心不是开发吗?如果没有开发其他什么都不能运作起来,测试人员只是因为开发太忙,才把测试的任务扔过去的,如果不是产品经理时间催得紧,测试我们完全可以自己做。

    那好我们来完整的分析一下这三个环节:

    产品经理:收集和整理用户的一些需求,然后进行理念上产品的设计,同时对自己的产品进行估价,定位其市场价值。

    开发人员:对理念软件上的功能进行分析,如果可以实现,并开始一系列软件开发的流程。系统架构,功能模块分析实现,UI设计等。

    测试人员:以理念上的产品和实际得到的产品,对比并测试其功能点实现情况,进行性能和压力方面的测试,以得到软件性能结果,和压力承受值。

    开发的客户便是产品经理,测试的客户便是开发。产品经理需要的产品,开发需要的是他们成果的一个验证单。那测试便是这个软件的“体检师”,而且是最终拍板软件可以不以发布的人!

    是不是这样想,这测试的地位便好像高了很多,但为什么在业界其地位都不怎么样呢?

 

 

第二章

    为什么测试的地位不高,甚至有随时走人的危险?其历史缘由我也不知道,我只能说说现状。

        一

    在一般的小的创业公司,如5人规模的公司中,一个软件的完成一般是没有专业的测试人员的。开发是一条龙服务,从产品到开发到测试。然后慢慢觉得,不想和客户打交道了,有些浪费开发的时间,那专职的产品经理就有了。最后产品越做越大,发现一些在大规模使用上的问题,自己不可能点点自己IED上的debug按钮可以解决这些问题的时候,这次测试人员出现了。

    往往最后登场的是英雄,但测试不是。原因很简单,开发以为自己可以测试,就是没有时间,所以在面试测试工程师的时候,所要求的水准不是很高,这导致在小公司里的测试人员,普遍代码功底薄弱。而且开发也完全知道这一点,所以很多测试的工作都是:改配置->点鼠标->等时间... 。然后有一天公司财政紧缩,那这种测试便第一个被割掉。

        二

    为什么有人会选择做测试?如果可以做开发为什么要做测试?测试薪酬一般会比开发低一些,那如果你有开发的能力,会去做测试吗?

    1.   编码能力不强;

    2.   不喜欢繁重的工作和紧迫的时间压力;

    3.   自己能力不足;

    ......

    其实这是我接触的,大多数应届生在就职方面的选择测试的缘由。你说你自己一开始就觉得低人一等,自己都看不起自己的职业,那还能怪别人看不起你吗?

    还没有开始测试的工作的时候,就给自己的职业打上了标签,编码弱,地位低。

        三。

    对于开发而言,其实很多开发是看不起测试的,这也是上诉的历史缘由,他们心目中的测试就是点点鼠标,然后泡上一壶好茶,品完茶,然后结果就出来了,有事找开发,没事就过。然后这样还和他们的工资差不多,这使得严重的心理上的不平衡感,最后就向世人抱怨这样的日子。

    对于上诉三种场景,在我现在所接触到的大公司中基本上是不存在的,但在开始创业不久的小公司中却屡见不鲜,然而大公司毕竟是少数,就导致了测试的地位在业界不怎么高。(以上观点全是个人经历所得,不喜勿喷!)

 

第三章

    那如何作好一名测试工程师呢?那先看看我们的“客户”吧!

    测试的客户是开发,开发把软件交给你,是需要你给它进行体检。他们真正需要的是,测试可以找到那些像"艾滋病"那样潜伏很深的BUG;而不是给他们说,“你的脸没洗干净,发型不好”这种不痛不痒的BUG。如果你能经常发现一些隐藏很深的BUG,开发会渐渐的改变他对你的看法,慢慢觉得你靠谱;到最后,他们写出来的东西,如果不给你测试就不敢发布。那你就成为了一位真正出色的测试工程师了。

    如何使开发觉得你靠谱,就得找隐藏BUG;如何找隐藏BUG,就得看程序流程。

    看程序流程,真的就得看源代码了,文档什么的可以作为参考。但测试重视的不是函数的实现,而是函数之间的排列组合,作为测试这个可以慢慢来,时间可以有的。

    对于测试而言在,个人观点是看懂软件实现流程,这在很多情况下可以有很神奇的功效!但这是需要时间和精力的,如果你想在测试行业站稳脚,就一定要学会看源代码。

    还有一种方式,就是自己开发一些测试工具,实现测试流程自动化,实现快速测试。这便是真正的从测试的角度来当一名测试工程师。这样的方式可以完全实际可行的,可以为后面的人搭上一座很方便的桥梁,同时实现你测试工程师的梦想。但就我个人而言,比较喜欢垂直化的工作。

 

总结

    首先作为测试人员必须端正好自己的态度,不要给自己心里暗示,“自己编码弱”,“测试是轻松活”,“我的地位没开发高”等这种负面的情绪。要记住你是给软件"拍板"的人,如果过了你这一关,软件出现问题,你就是全责。你身上的责任是很重的,不要轻易放过一个细节的问题,“千里之堤,历经风浪,却溃于蚁穴!”测试是质量的验证者,就像药监局,如果你疏忽大意,可能会导致万人诟病!    

 

 

    

    

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

热点排行