软件测试工程师好学吗?
开发一个好的软件,40%以上的时间用在测试上,所以软件测试工程师非常重要,用我们的话来说很吃香。
现在从事程序员的人有很多,做测试工程师的人少点,工作压力不太大测试工程师应该具备的三项基本素质[1] 很多年轻或者刚刚从事测试工作的工程师,经常会问:“测试工程师需要什么技能或者具有什么素质才是合格的?”与开发人员相比,测试人员不但需要一技之长,还需要掌握诸如操作系统、数据库、网络等多方面的知识。
经过这几年的发展,国内IT公司的测试水平有了很大的提高,但是与此同时,很多测试工程师也迎来了个人的发展瓶颈:很多人从测试工程师做到了测试经理的职位,不知道下一步如何发展;或者每天机械地从事着功能测试工作。
根据作者多年的经验,一个有竞争力的测试人员要具有下面三个方面的素质:计算机专业技能计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。
尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。
计算机专业技能主要包含三个方面:测试专业技能现在软件测试已经成为一个很有潜力的专业。
要想成为一名优秀的测试工程师,首先应该具有扎实的专业基础,这也是本书的编写目的之一。
因此,测试工程师应该努力学习测试专业知识,告别简单的“点击”之类的测试工作,让测试工作以自己的专业知识为依托。
测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。
测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。
请问如何成为一个高级软件测试工程师?
1.起码有三年以上的软件开发经验现在许多软件企业招收一些刚刚毕业的大学生或者非计算机专业的人员作为自己公司软件测试工程师,这是非常错误的,也是对软件测试不负责任的表现。
虽然他们可以发现软件中的一些错误,但是对于软件中的一些关键,致命,危险的错误他们是很难发现的。
大家都知道,软件工程中有个模型叫瀑布模型,这是最基本的软件模型,这个模型又叫碗状模型,因为开发位于碗的最底部,左上方依次为建模,需求分析,设计;右上方依次为测试,部署,维护。
这就是说明软件开发是一切软件活动的基础,同时也是软件测试的基础。
一个人只有经历过一定年限的软件开发工作,才可以积累丰富的经验,知道在软件中哪些地方容易出错而那些地方不容易,这给以后的软件测试工作带来非常宝贵的经验。
2.有逆向思维的能力我曾经接触过一些软件测试工程师,他们干了一段时间软件测试工作后返回去又开始去做开发工作了,问他们为啥?答案是软件测试工作太难了,开发是顺向思维,而测试是逆向思维,老要找一些稀奇古怪的思路去操作软件。
软件的使用者千差万别,软件在使用过程中遇到的各种现象也是千差万别的,所以要求软件测试工程师需要具有一些逆向思维的能力,想别人所不想,测别人所不测,这样才可以找到更多的软件中的错误。
这是作为一名优秀的软件测试工程师最基本的素质。
3.善于同软件开发人员沟通沟通是当今软件项目中需要掌握的最关键技术之一。
软件测试人员要善于同软件开发人员沟通,软件测试人员与开发人员搞好关系,使测试人员不成为开发人员的眼中钉,这对于提高整个软件项目质量是十分重要的。
沟通主要包括:讨论软件的需求,设计:通过这样的沟通,你可以更好的了解所测试的软件系统,以至于尽可能少的测试出软件中不是错误的“错误”,从而降低给软件开发人员带来的压力。
报告好的测试结果:作为一个测试人员,发现错误往往是测试人员最愿意而且引以自豪的结果,但是一味地给开发人员报告软件错误,会给他们造成厌恶感,降低整个软件的质量和开发进度。
所以作为一名软件测试工程师,当你测试的模块没有严重的错误或者错误很少的时候,你不妨跑到开发人员那里告诉他们这个好消息,这会给你带来意想不到的结果。
讨论一些与工作无关的事情:作为一个测试人员经常和开发人员讨论一些与工作无关的事情,比如大家可以谈谈新闻,趣事,家庭…这样可以加强相互间的默契程度,许多统计表明,这样可以更好的提高软件工作质量。
4.善于同领导沟通测试人员往往是领导的眼和耳,领导根据测试人员的测试结果可以了解公司的产品质量,从而调整其他的工作。
领导工作一般比较繁忙,所以作为一名优秀的测试人员要学会把测试结果进行总结,最好以图表的形势给领导看。
5.掌握一些自动化测试工具测试工作往往是比较繁琐,枯燥无味的工作,测试人员长期处于重复的手工工作,会降低测试效率,并且对于测试质量也往往是不利的;况且许多测试不使用测试工具是不可以进行的,比如性能测试,压力测试等等。
目前市场上有许多测试工具供你使用,你可以根据自己的需要选择一些测试工具来辅助你的测试。
但是要记住一点,不是说有了测试工具就不要人工测试了,测试工具不是万能的。
6.善于学习的能力软件测试技术随着时间的变化也在做一些提高和改进,作为一名优秀的测试人员要善于利用书籍,网站,论坛,交流等各种途径不断提高自己的软件测试水平。
7.提高自己的表达能力软件测试人员当发现软件中存在缺陷的时候,往往要书写缺陷报告,缺陷报告要写得详尽清楚,使开发人员能够尽快定位错误,修改错误,所以作为一名优秀的测试人员提高自己的写作能力是非常必要的。
8.了解业务知识更好的了解你说测试软件的业务知识是非常重要的,对业务知识了解得越深入,越能够找出更深入,更关键,更隐蔽的软件错误。
所以作为一名优秀的软件测试工程师,要多向该领域专家,同行学习,提高自己的业务知识水平。
以上仅为个人的一些经验所谈,希望大家都能够成为一名优秀的软件测试工程师。
软件测试工程师要比软件开发师差很多吗?
软件测试工程师和软件开发师各有优势和特点。
软件测试工程师(Software Testing Engineer)指理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),测试软件是否具有稳定性(Robustness),写出相应的测试规范和测试用例的专门工作人员。
简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时发现软件问题并及时督促更正,确保产品的正常运作。
软件开发工程师是从事软件开发相关工作的人员的统称。
软件开发工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)、.NET平台技术、C#、C/S B/S程序开发,还有诸多如JAVA SCRIPT、AJAX、HIBERNATE、SPRING、J2EE、WEB SERVICE、STRUTS等前沿技术。
软件测试工程师和硬件测试工程师哪个好?
麻烦楼上的不要用不专业的态度来回答问题 什么叫软件测试好于硬件? 什么叫电脑城维修的就是硬件工程师? 首先回答下,硬件测试比较好点,因为软件的升级是随着硬件的升级而动的,专业的硬件测试工程师要懂得很多专业知识甚至包括所有的软件知识,一个软件测试工程师可以做好自己的工作但是不一定做好硬件工作,黑盒白盒测试就是最典型的,硬件测试你所学的知识:模拟/数字电路设计/会写代码,自动控制原理/懂的操作系统内核,以及计算机组成原理,还有测试方面的专业知识必不可少!这些是最最基本的,摆脱不要以为电脑成维修人员都懂的这些,他们充其量知道哪里坏了,帮你焊接/换零件等等,对于CPU和存储器的电路设计和编程他们是不专业的! 我不是做测试的,说起来容易误导你,但是起码专业知识我还是了解的。
LZ想了解,可以请教专业的测试工程师,希望对你有帮助
华为软件测试工程师待遇
不同级别的测试工程师薪资差异很大:高级测试工程师:高级测试工程师年薪约8-12万元左右。
他们不但需要掌握测试与开发技术,而且对所测试软件对口的行业非常了解,能够对测试方案可能出现的问题能够进行分析和评估。
中级测试工程师:中级测试工程师的年薪约在5-8万元左右。
他们要能够编写测试方案,测试文档、与项目组一起制定测试阶段的工作计划。
能够在项目中合理利用测试工具来完成测试任务。
初级测试工程师:初级测试工程师的年薪约在3-5万元左右。
他们的工作通常是按照测试方案和流程对产品进行功能测试,检查产品是否有缺陷。
我刚刚毕业,选择了软件测试工程师这个职位,很想把测试做好,但就...
新人的话可以这样做:1.先做好基本的功能测试,包括测试计划,测试设计,测试用例编写执行,缺陷跟踪管理等2.然后可以考虑自动化测试,包括功能自动化,接口测试,性能测试等等3.进一步可以考虑测试工具开发,提示测试工作效率,或者改进公司的测试策略,开发一些新的测试框架等等这样一路做下来,lz你会发现你进步了很多,这也是一个全能型测试工程师必备的,lz加油~
做一名软件测试工程师究竟是怎样一种体验
1、技术副总裁。
不管软件测试是一个独立的部门,还是归属于研发序列,软件测试工程师能汇报到的最大的领导就是技术副总裁了。
技术副总裁也是技术领域工资最高的人了,虽然基本上不会写代码了,但是也不影响技术副总裁的技术地位。
技术副总裁的一生是传奇的一生,总结起来技术副总裁基本上就干了两件事情:(1)在当上技术副总裁之前,想尽一切办法当上技术副总裁。
(2)当上技术副总裁之后,施展各种技能稳住自己的位置。
有真才实干的技术副总裁,洋洋洒洒指点江山领着兄弟们打下一片江山。
徒有虚名者,就虚避实从不落地也能混个三五载。
如果,你想去一个公司做软件测试工程师,请在最后的面试中留心将来可能成为最高统帅的技术副总裁。
如果不合适就别去了。
2、产品经理。
测试工程师应该会和很多产品经理配合。
一个负责任有担当的产品经理会让测试工程师的工作轻松很多。
产品经理会自称产品狗,其实是一种明着谦虚,暗着要统治一切的感觉。
如果和产品经理发生争执的时候,他们会用:“产品经理不讲对错,只讲利弊”,这种偷梁换柱的方式把你带入他们的领域或者节奏,最后把你拿下。
当然,这种产品经理在国内已经算是优秀的产品经理了。
3、开发工程师。
开发工程师懂技术,核心生产力。
站在世界技术领域内,国内开发工程师应该是相对而言差距最小的岗位。
个人非常崇拜coding能力非常强的人,当然开发工程师也没有什么好黑的。
所以,想从事软件测试工程师的同学们,尤其是男生,尽量做开发吧。
中国的软件从10多年前才真正的开始发展。
在除了软件测试的各种岗位上都发展的非常的迅猛。
老牌的开发工程师和产品经理依旧抢手,并且越来越表现的不可或缺。
和测试工程师同期发展的运维工程师(SA)和设计师也有了长足的进步。
唯独软件测试工程师再近10年的发展历程中停滞不前。
被所有的岗位超越。
再来说说SA,SA应该是比软件测试工程师更晚被引进的。
SA和软件测试工程师一样,很多成果都需要依赖开发工程师的成果。
但是为什么SA能比软件测试工程师发展的好很多呢?这就引出了软件测试工程师尴尬的两点:一、真的不重要。
SA掌握着一个互联网公司的线上服务的健康程度。
规模越大,SA责任越大。
测试工程师呢?一直自己说自己很重要,但是真的没有体现出有多重要。
二、SA的工作更聚焦,更容易深入。
SA只保证线上服务的健康,健康也能有几个有限的技术指标来描述清楚,所以,功能内容非常的明确。
但是测试工程师呢?恨不得什么都管,把所有的内容都纳入了所谓的质量体系,但是真的什么都没有管好。
测试工程师的尴尬远远不止以上两点。
每次定季度任务或者年度任务的时候都会非常尴尬。
自己都说不清楚,上个季度干了什么,下个季度想干什么。
要是在摊上数据考核,直接死得心都有了。
怎么说呢?以bug考核,是绝对不正确的。
bug数量多或者少都不能说明测试工程师的工作是更好了,还是更差了。
现阶段软件测试工程师的发展前景如何?测试人员薪水最高能达到多少 ...
你好,软件测试工程师有很多种呢,通信类有设备商测试软件,运营商测试软件,还有手机嵌入式软件测试.....其他行业也有各种软件测试,我不太懂其它的,所以简单讲下通信类的吧。
通信类的设备商和运营商等都有自己的专用软件,这些软件通俗讲就是人类和设备交流的平台,不讲那么复杂了,一般软件从研发到应用,都要经过测试阶段,测试工程师就这样诞生了,初级的一般就是物理使用阶段,发现问题反馈,基本待遇2500-3000,如果还在本岗位有1-2年的工作经验,待遇会到4000左右,不过这就是初级的门槛了,如果还是同样的岗位这个就是上限。
测试工程师中高级待遇就会高些,他们主要负责软件在研发阶段出现的程序编辑问题,会反复编辑和完善,这个需要很高的编程基础和工作经验,起薪待遇6000以上,根据工作经验提升,最后进入研发阶段,待遇从8000-15000不等,如果基础较好,从初级到高级需要5-8年的时间。
这些就是我了解的,希望能帮到你~
软件测试工程师应该学些什么方面的知识?
软件测试工程师应该学习知识:(1)软件开发技术很多人认为,干吗要学习软件开发啊,那还不如直接去学什么JAVA、C++、C#了。
要知道,在以后的软件测试工作中,你就会发现软件开发与软件测试之间是什么样的关系了。
没有软件开发,就没有软件测试,有了软件测试,软件开发出的软件产品才能够达到用户满意的地步,他们之间是相互依赖关系。
有了更多的软件开发知识,就会更好地能理解软件产品,就知道在哪个环节开发人员容易犯错误,知道在哪个逻辑结构、哪个接口或函数,甚至是从内存的管理机制上都可以找出问题。
软件开发所用的程序设计语言有很多种,所以要精通其中一门,其他能看懂代码,会对你的测试工作有更好的帮助,另外也会帮助开发人员进行快速缺陷定位。
而且在软件测试工作中,要编写一些辅助测试的小工具,都需要有软件开发基础。
象测试过程管理工具、测试用例管理工具、缺陷跟踪工具、性能检测工具等等。
不要老是认为软件开发难,什么事都是从不会到会,从不精通到精通,都需要一个过程。
没有人一生下来就什么都会的,都需要自己的不断努力才能成功。
(2)网络技术软件是从字符界面产品发展到图形界面产品,从单机版到网络版(C/S结构和B/S结构),经历了一个漫长的过程。
计算机网络的出现,改变了现实社会中人们的相互沟通方式,把一个小小的地球变成了一个地球村。
所以,目前所有的软件产品都从传统的单机模式向网络模式转变,网络技术就更加关键。
目前网络的发展,使得网络速度进一步提高。
目前,家庭网速达到1M~2Mbps,企业达到4Mbps,据说要到2012年家庭的网络速度要达到20Mbps。
那么网络硬件从传统的电缆到目前的光纤技术、无线通信技术。
从目前的发展速度,三网(电信网、电视网、计算机网络)合并是迟早的事情。
网络硬件协议的测试,也是网络设备生产商要做的工作。
(3)数据库技术现在的数据信息是海量的。
在目前的软件产品中,底层架构中就需要有数据库进行数据存储,那么对数据的增删改查的操作是软件测试人员必须要必备的技能。
数据库测试也是测试技术的一种。
(4)测试与质量保证技术精通软件测试理论,熟悉软件测试流程,理解软件测试的哲学思想,掌握软件测试每个阶段的文档编写技巧,掌握软件测试的策略与各种测试方法,掌握测试用例的设计方法。
掌握单元测试、集成测试、确认测试、系统测试、验收测试等每个阶段的测试技术。
软件质量保证知识、测试项目管理、测试团队建设知识也是必须要具备的。
掌握软件测试自动化工具,理解软件测试自动化测试框架,能够学会如何进行测试项目管理、回归测试以及性能测试,能够把性能缺陷进行定位。
软件测试还是一个崭新的学科,还没有形成一个独有的知识体系,还需要我们不断的研究与实践。
(5)行业知识目前软件测试涉及的行业是多种多样的,从金融产品到电信、游戏、汽车、杀毒、网站、企业管理、学校教育、本地化产品等等,各行各业的软件产品都需要大量的测试,所以相关行业知识的储备也是必须的。
(6)职场规范职场礼仪是必须的,你是否适合某个企业,能否融入这个企业,基本的职场规范是要学习的。
必要、有效的沟通也是软件测试人员所必须掌握的技巧。