^_^如果我不改变,我就会被淘汰^_^

发布新日志

  • 转:测试工程师基本素质

    2008-08-04 13:24:57

    51Testing软件测试网ov b,Y}:Y C
    很多年轻或者刚刚从事测试工作的工程师,经常会问:“测试工程师需要什么技能或者具有什么素质才是合格的?”与开发人员相比,测试人员不但需要一技之长,还需要掌握诸如操作系统、数据库、网络等多方面的知识。

    根据作者多年的经验,一个有竞争力的测试人员要具有下面三个方面的素质:

    (1)计算机专业技能

    计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间和持久竞争力的测试工程师,计算机专业技能则是必不可少的。计算机专业技能主要包含三个方面:

     测试专业技能

    现在软件测试已经成为一个很有潜力的专业。要想成为一名优秀的测试工程师,首先应该具有扎实的专业基础,这也是本书的编写目的之一。因此,测试工程师应该努力学习测试专业知识,告别简单的“点击”之类的测试工作,让测试工作以自己的专业知识为依托。
    I UqmXs7i+}+M25571测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试功能测试、集成测试、系统测试性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。

     软件编程技能

    “测试人员是否需要会编程?”可以说是测试人员最常提出的问题之一。实际上,由于在我国开发人员待遇普遍高于测试人员,因此能写代码的几乎都去做开发了,而很多人则是因为做不了开发或者不能从事其它工作才“被迫”从事测试工作。最终的结果则是很多测试人员只能从事相对简单的功能测试,能力强一点的则可以借助测试工具进行简单的自动化测试(主要录制、修改、回放测试脚本)。51Testing软件测试网q)\8rHfq(}
    软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能给编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据作者的经验,测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。

     网络、操作系统、数据库、中间件等知识:

    与开发人员相比,测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻。由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等知识。51Testing软件测试网 l\-PN8fO.C4f&J
    在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知识。
    +DM G;X+|25571操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于Unix、linux来运行的,这就要求测试人员掌握基本的操作命令以及相关的工具软件。而WebLogic、Websphere等中间件的安装、配置很多时候也需要掌握一些。51Testing软件测试网4acC&m T$^${"\
    数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置,还要掌握SQL。测试人员至少应该掌握Mysql、MS Sqlserver、Oracle等常见数据库的使用。

    作为一名测试人员,尽管不能精通所有的知识,但要想做好测试工作,应该尽可能地去学习更多的与测试工作相关的知识。

    (2)行业知识

    行业主要指测试人员所在企业涉及的行业领域,例如很多IT企业从事石油、电信、银行、电子政务、电子商务等行业领域的产品开发。行业知识即业务知识,是测试人员做好测试工作的又一个前提条件,只有深入地了解了产品的业务流程,才可以判断出开发人员实现的产品功能是否正确。51Testing软件测试网9wF D4?8q6Q
    很多时候,软件运行起来没有异常,但是功能不一定正确。只有掌握了相关的行业知识,才可以判断出用户的业务需求是否得到了实现。行业知识与工作经验有一定关系,通过时间即可以完成积累。

    (3)个人素养

    作为一名优秀的测试工程师,首先要对测试工作有兴趣:测试工作很多时候都是显得有些枯燥的,因此热爱测试工作,才更容易做好测试工作。因此,除了具有前面的专业技能和行业知识外,测试人员应该具有一些基本的个人素养,即下面的“五心”。

    专心:主要指测试人员在执行测试任务的时候要专心,不可一心二用。经验表明,高度集中精神不但能够提高效率,还能发现更多的软件缺陷,业绩最棒的往往是团队中做事精力最集中的那些成员。

    细心:主要指执行测试工作时候要细心,认真执行测试,不可以忽略一些细节。某些缺陷如果不细心很难发现,例如一些界面的样式、文字等。

    耐心:很多测试工作有时候显得非常枯燥,需要很大的耐心才可以做好。如果比较浮躁,就不会做到“专心”和“细心”,这将让很多软件缺陷从你眼前逃过。

    责任心:责任心是做好工作必备的素质之一,测试工程师更应该将其发扬光大。如果测试中没有尽到责任,甚至敷衍了事,这将会把测试工作交给用户来完成,很可能引起非常严重的后果。

    自信心:自信心是现在多数测试工程师都缺少的一项素质,尤其在面对需要编写测试代码等工作的时候,往往认为自己做不到。要想获得更好的职业发展,测试工程师们应该努力学习,建立能“解决一切测试问题”的信心。

    “五心”只是做好测试工作的基本要求,测试人员应该具有的素质还很多。例如测试人员不但要具有团队合作精神,而且应该学会宽容待人,学会去理解“开发人员”,同时要尊重开发人员的劳动成果——开发出来的产品。

  • 【转】一个好的测试工程师应该具备的素质

    2008-08-04 13:24:57

    人是测试工作中最有价值也是最重要的资源,没有一个合格的、积极的测试小组,测试就不可能实现。然而,在软件开发产业中有一种非常普遍习惯,那就是让那些经验最少的新手、没有效率的开发者或不适合干其他工作的人去做测试工作。这绝对是一种目光短浅的行为,对一个系统进行有效的测试所需要的技能绝对不比进行软件开发需要的少,事实上,测试者将获得极其广泛的经验,他们将遇到许多开发者不可能遇到的问题。

      、沟通能力

      一名理想的测试者必须能够同测试涉及到的所有人进行沟通,具有与技术(开发者)和非技术人员(客户,管理人员)的交流能力。既要可以和用户谈得来,又能同开发人员说得上话,不幸的是这两类人没有共同语言。和用户谈话的重点必须放在系统可以正确地处理什么和不可以处理什么上。而和开发者谈相同的信息时,就必须将这些活重新组织以另一种方式表达出来,测试小组的成员必须能够同等地同用户和开发者沟通。

      、移情能力

      和系统开发有关的所有人员都处在一种既关心又担心的状态之中。用户担心将来使用一个不符合自己要求的系统,开发者则担心由于系统要求不正确而使他不得不重新开发整个系统,管理部门则担心这个系统突然崩溃而使它的声誉受损。测试者必须和每一类人打交道,因此需要测试小组的成员对他们每个人都具有足够的理解和同情,具备了这种能力可以将测试人员与相关人员之间的冲突和对抗减少到最低程度。

      、技术能力

      就总体言,开发人员对那些不懂技术的人持一种轻视的态度。一旦测试小组的某个成员作出了一个错误的断定,那么他们的可信度就会立刻被传扬了出去。一个测试者必须既明白被测软件系统的概念又要会使用工程中的那些工具。要做到这一点需要有几年以上的编程经验,前期的开发经验可以帮助对软件开发过程有较深入的理解,从开发人员的角度正确的评价测试者,简化自动测试工具编程的学习曲线。

      、自信心

      开发者指责测试者出了错是常有的事,测试者必须对自己的观点有足够的自信心。如果容许别人对自己指东指西,就不能完成什么更多的事情了。

      、外交能力

      当你告诉某人他出了错时,就必须使用一些外交方法。机智老练和外交手法有助于维护与开发人员的协作关系,测试者在告诉开发者他的软件有错误时,也同样需要一定的外交手腕。如果采取的方法过于强硬,对测试者来说,在以后和开发部门的合作方面就相当于赢了战争却输了战役

      、幽默感

      在遇到狡辩的情况下,一个幽默的批评将是很有帮助的。

      、很强的记忆力

      一个理想的测试者应该有能力将以前曾经遇到过的类似的错误从记忆深处挖掘出来,这一能力在测试过程中的价值是无法衡量的。因为许多新出现的问题和我们已经发现的问题相差无几。

      、耐心

      一些质量保证工作需要难以置信的耐心。有时你需要花费惊人的时间去分离、识别和分派一个错误。这个工作是那些坐不住的人无法完成的。

      、怀疑精神

      可以预料,开发者会尽他们最大的努力将所有的错误解释过去。测式者必须听每个人的说明,但他必须保持怀疑直到他自己看过以后。

      、自我督促

      干测试工作很容易使你变得懒散。只有那些具有自我督促能力的人才能够使自己每天正常地工作。

      11、洞察力

      一个好的测试工程师具有测试是为了破坏的观点,捕获用户观点的能力,强烈的质量追求,对细节的关注能力。应用的高风险区的判断能力以便将有限的测试针对重点环节。
  • 关于个人职业的发展方向

    2008-08-04 13:24:57

      最近很多刚刚毕业的同事,都问我这个问题,个人职业的发展方向,到底怎么做,才能尽快成为一个领导者!问的我很晕,因为我不能很准确的回答这个问题!
  • 软件评测师工程师考试经验分享

    2008-03-05 14:47:14

    07年的软件评测师考试报名又开始了,最近很多测试朋友也很关注,并对软件评测考试充满了好奇,论坛上也有一些讨论和交流。由于本人去年幸运的通过了软件评测师考试,因此将一些心得分享给大家,同时欢迎参加过考试的朋友也来谈谈经。

      一些说明

      计算机技术与软件专业资格(水平)考试分为初级、中级、高级,其中软件评测师属于中级。软件考试每年有两次,但评测师只有上半年才有。通过了这个考试,相当于中级职称。软测的考试年龄只有两岁,2005年5月第一次进入考试范围,可以说它是新生的充满活力的生命,成长空间很大。很多测试人员都不知道有这个水平考试的存在。据说前两年考试通过率都比较低,10%不到。

      软件评测师考试意义

      现在考证是个趋势,但说实在的,软考证书个人现在不觉得有什么实际用处,可能大多数软件公司并不会因为你获得了软件评测师资格或是中级职称就升工资(少数公司福利好的可能会有),也许在找工作的时候会有点帮助吧。

      倒是备考过程中的学习意义比较大,毕竟很多基础的知识的记忆都不是很牢固,回过头去巩固学习别有一番体会,也会触发更多工作方法的灵感。即使通不过自己的知识也增长了!

      另外,如果能通过自己努力,在10%通过率下顺利通过,也是很有成就感的啊 ,咔咔。

      备考经验

      备考的复习资料主要有考试大纲、指定教材软件评测师教程、以及一些试题及答案分析。我觉得评测师教程不错,条理很清晰,阅读起来比较容易理解,我现在还一直作为手册来用。个人建议在考试前至少两个月就要开始复习备考了并做好学习计划,因为一开始还是比较难以进入良好的学习状态,同时需要复习的内容也很多很细需要一定的时间去理解消化,如果备考时间不足临时抱佛脚就不太好了。当然个人情况不一如果你原来基础就很好那也不需要。另外一些章节后面的习题也要做一下并弄懂解答原理,因为有一些考试试题就是类似的。

      把考前的心态调整好比较重要。不要理解为去应付考试,这样很消极对备考不好,我们可理解为平时难得有机会这么系统的去学习,借助考试的机会好好的复习一把。这样的会就比较容易找到动力了。同时最好不要有侥幸心理。

      考试分上午题和下午题。上午题主要是考基础理论,考的范围很广很细,这要求备考时准备充分一下,考试内容大部分都来自教程;下午题考实战的,需要理论加实际工作经验了,但大部分还是书本上有的。比如去年考的安装测试要点、单元测试路径、圈复杂度计算、性能测试等。

      我的体会是只要备考充分加上一些工作经验还是比较好过的,也有人说去年的试题比较简单,不知道是不是。

      软件评测师和测试工程师的区别

      从字面理解上,评测就是测试+评价,以测为主,测完后再加上评价。个人理解,软件评测师只是一个考试的名称、资格的名称,而对应到实际工作中,仍然是测试工程师。并且,好像国外也没有评测师这一叫法?中国特色?

      获取证书之后

      通过了考试获取证书之后必须每3年到教育办公室(名字记不清了)进行登记,登记时需要出示继续教育证明。意思是通过考试之后每n(n>=1)年还要参加继续教育才行。这个比较麻烦。另外软件评测师只是中级职称,之后我们就要继续向高级职称的考试(信息系统项目管理师、系统分析师、系统架构设计师)挑战了,呵呵

  • 突然对软件测试感到迷茫

    2007-12-13 11:26:55

       不经意间,我做了软件测试工程师,从当初的Java的代码测试,到目前的完全手动的手机测试,经历了3年多近4年的的软件测试工作,突然间感觉很迷茫? ,每天面对那些所谓的“bug”,很是郁闷ing,尤其是因为一个bug要和开发辩论好久也未有结果的时候!

    http://bbs.51testing.com/thread-108644-1-1.html

Open Toolbar