信息技术有限公司是一家专门从事软件测试需要学什么、开发、培养和建立中国人才大数据中心的科技

开发一2113个好的软40%以上的时间鼡在5261测试上,所以软件测试需要学什么工4102程师非常重要,现在从事1653程序员的人有很多做测试工程师的人少点,工作压力不太大看到这里夶家会问:“测试工程师需要什么技能或者具有什么素质才是合格的?”与开发人员相比,测试人员不但需要一技之长还需要掌握诸如操莋系统、数据库、网络等多方面的知识。小编从优就业专业老师那里了解到:一个有竞争力的软件测试需要学什么人员要具有下面三个方媔的素质:

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

现在软件测试需要学什么已经成为一个很有潜力的专业。要想成为一名优秀的测试工程师首先应该具有扎实的专业基础,这也是夲书的编写目的之一因此,测试工程师应该努力学习测试专业知识告别简单的“点击”之类的测试工作,让测试工作以自己的专业知識为依托

测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法还包括基础的测試流程管理、缺陷管理、自动化测试技术等知识。

“测试人员是否需要编程?”可以说是测试人员最常提出的问题之一实际上,由于在我國开发人员待遇普遍高于测试人员因此能写代码的几乎都去做开发了,而很多人则是因为做不了开发或者不能从事其它工作才“被迫”從事测试工作最终的结果则是很多测试人员只能从事相对简单的功能测试,能力强一点的则可以借助测试工具进行简单的自动化测试(主偠录制、修改、回放测试脚本)

软件编程技能实际应该是测试人员的必备技能之一,在微软很多测试人员都拥有多年的开发经验。因此测试人员要想得到较好的职业发展,必须能够编写程序只有能给编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较夶的测试工作

此外,对软件测试需要学什么人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上因此测试人员要具备一定的算法设计能力。依据作者的经验测试工程师至少应該掌握Java、C#、C++之类的一门语言以及相应的开发工具。

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

与开发人员相比测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各種系统平台进行分析与调优因此测试人员需要掌握更多网络、操作系统、数据库等知识。

在网络方面测试人员应该掌握基本的网络协議以及网络工作原理,尤其要掌握一些网络环境的配置这些都是测试工作中经常遇到的知识。

操作系统和中间件方面应该掌握基本的使用以及***、配置等。例如很多应用系统都是基于Unix、linux来运行的这就要求测试人员掌握基本的操作命令以及相关的工具软件。而WebLogic、Websphere等中間件的***、配置很多时候也需要掌握一些

数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库因此不但要掌握基本嘚***、配置,还要掌握SQL测试人员至少应该掌握Mysql、MS Sqlserver、Oracle等常见数据库的使用。

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

软件测试需要学什么工程师-IT就业新亮点

国外大多数软件公司1个软件开发笁程师就需要辅有2个软件测试需要学什么工程师。目前软件测试需要学什么自动化技术在我国则刚刚被少数业内专家所认知,而这方面嘚专业技术人员在国内更是凤毛麟角根据对近期网络招聘IT人才情况的了解,许多正在招聘软件测试需要学什么工程师的企业很少能够在招聘会上顺利招到合适的人才

随着中国IT行业的发展,产品的质量控制与质量管理正逐渐成为企业生存与发展的核心从软件、硬件到系統集成,几乎每个中大型IT企业的产品在发布前都需要大量的质量控制、测试和文档工作而这些工作必须依靠拥有娴熟技术的专业软件人財来完成。而软件测试需要学什么工程师就是其中之一

据了解,由于软件测试需要学什么工程师处于重要岗位所以必须具有电子、电機类相关专业知识背景,并且还应有两年以上的实际操作经验他们应熟悉中国和国际软件测试需要学什么标准,熟练掌握和操作国际流荇的系列软件测试需要学什么工具能够承担比较复杂的软件分析、测试、品质管理等任务,并能独立担任测试、品质管理部门的负责人一般情况,软件测试需要学什么工程师可分为测试工程师、高级测试工程师和资深测试工程师三个等级

在具体工作过程中,测试工程師的工作是利用测试工具按照测试方案和流程对产品进行功能和性能测试甚至根据需要编写不同的测试工具,设计和维护测试系统对測试方案可能出现的问题进行分析和评估。对软件测试需要学什么工程师而言必须具有高度的工作责任心和自信心。任何严格的测试必須是一种实事求是的测试因为它关系到一个产品的质量问题,而测试工程师则是产品出货前的把关人所以,没有专业的技术水准是无法胜任这项工作的同时,由于测试工作一般由多个测试工程师共同完成并且测试部门一般要与其他部门的人员进行较多的沟通,所以偠求测试工程师不但要有较强的技术能力而且要有较强的沟通能力

因此,在企业内部软件测试需要学什么工程师基本处于“双高”地位,即地位高、待遇高有的人月薪可高达8000元。可以说他们的职业前景非常广阔从近期的企业人才需求和薪金水平来看,软件测试需要學什么工程师的年工资有逐年上升的明显迹象测试工程师这个职位必将成为IT就业的新亮点。

期中(末)试题 第一套 一、简答題(20分) 1、企业在进行人力资源规划时应考虑哪些内部和外部的因素(10分) 2、职工培训的两种主要学习方式的主要区别是什么?(10分) ②、案例分析(80分) 案例一 仙袂时装公司 位于省城的飞鹏集团股份有限公司成立才5年但掌握公司70%股权的董事长贾济富却早在15年前就毅嘫从原来工作的国营仪表厂停薪留职,下海干起个体户来了他先凭手艺开个小修理店,后来就改行搞服装贩运走南闯北,惨淡经营漸渐发了起来。于是他开始涉足饮食业、娱乐业、物资运输俨然成了省城知名民营企业家。这时他反而犯起愁来发觉自己初中学历的底子,越来越不足应付这种大场面了 一次偶然机会,他邂逅了如今集团公司的总经理戴明旺老戴并无从商经历,但因在大学教企业管悝有关理论造诣不浅。两人见面相见恨晚,老贾马上设坛拜相请戴老师出任公司的总经理。两人优势互补相得益彰,业务越办越紅火他们甚至办起计算机公司,进入高科技产业在组建了集团公司后,他们开始做起房地产生意来四年多前,公司在省城市中心商業街买下一块黄金地段的地皮并着手在那儿盖起一幢七层的大楼来。其间虽因宏观形势波动筹资等方面屡遇波折,但如今大楼已建成只等内部装修了。贾、戴个人商量很久决定利用此楼,进军时装销售业在做此战略决策前,他们曾组织过周密调查发现不仅省城居民,就是邻近中小市、县的居民如今都改变观念,追求起时髦来了市场是确实存在的。 有好心的朋友提醒贾、戴两人要三思而行洇为这商业街上已有两三家大型国营百货商店,它们牌老店大实力雄厚,都有服装部实在是可怕对手。但贾、戴二人做了调查后认为並不足虑因为近年来,这些大商场纷纷改用“联营”形式来经营而联营的伙伴都是本地服装制造商所委托的独家代理商,他们尽量把掱头产品售出脱手于是便参与多家商场联营,卖的却是委托方所生产的同几种服装这些服装靠规模经济创造优势,以大批量生产来降低成本因而式样较固定,品种也有限它们根本不是时装,只是一般服装至于大商场本身,如今实际上已不从事商业而是靠实质上昰租让店面的“联营”,坐地收租成了“物业管理”专业户,并不太关心市场经营过去的商业经验,或已忘却或已过时,所以实质仩并不是在时装业中的竞争者 但竞争者是有的,那就是那些数量众多的服装个体散户他们的时装摊散布大街小巷,选购方便经营灵活,可讨价还价又满脸堆笑,态度殷勤可是据贾、戴二人的分析,自己也有巨大优势:位于中心区店面大,装潢好有气派,使顾愙一见信任感油然而生。但贾、戴二人认为自己更大优势是在成本上。因为个体户总是坐飞机南下广、深采购一批新款时装后马上飛回来,直到售完又再度南下;来去匆匆,信息不全加之飞来飞去,成本颇昂而自己相对店大财粗,可派人长驻南方易于得时装風气之先,又便于与最佳供应商建立良好关系;一批新货购到先用航空发回约四分之一,立即上架抢占先机余货改由铁路发运,待首批航运新装即将脱销陆运货物接踵送到,由于免了飞机往返成本就低了。但贾、戴二人认为最大优势应在本店的服务态度应是发自内惢的热情诚恳、货真价实上个体户虽也可做到笑脸相迎,但谁都知道他们实际上是盯住自己的钱包我们虽是民营企业,但却处于社会主义国家中我们难道不能培养出一种真心实意为顾***务的精神来么?他俩认为别人或当认为这是不实际的空想,但我们偏要去尝试一下在民营商场中倡导这种精神与企业文化,由此来指导相应的经营战略与组织结构的设计 决策既定,企业被命名为“仙袂时装公司”采取较精练的结构形式;按商场营业面积与班次需要,台面上设800名营业员编入不同商品柜台小组,由27名“商品主任”分别直接领导1~2个尛组这些主任则分别由11名“部长助理”领导,他们各把一个口或负责一个层面与这些“直线”系统的助理们同级的是11位“职能”助理,各掌管一定职能部门助理们的顶头上司是五位“部长”,分管经营、企管、计划、财务及工程与事业部长们直接听命于公司领导班孓,其中除贾董事长与戴总经理及一位总会计师外还设三个副总经理职位,分别主持经营、行政与人事以及后勤、采购与公关三“大块”后者由贾董事长兼任。 在公司的文化、战略与结构确定后就剩下应实行怎样的人力资源战略,以保证所聘选的各级人员的德才能真囸体现既定的文化与战略800名营业员决定全部从应届职业高中毕业生中招考选出,他们虽无实践经验但较单纯,反应快学习认真。这批营业员很快招到开始组织岗前培训,请来资深教师传授商业技能与规范并由贾、戴二人亲自宣讲公司宗旨与文化。 但关键还在如何選出德才兼备的各级管理人员他们是决定一切的。董事会研究决定公开在本地报纸上招聘,应聘者可在申请表

现实地说我得承认@pansz 的看法很有玳表性。我所知的很多公司的看法都是这样但这不是我认同的看法。水平差点可以做测试实际上就是把测试部门当作垃圾收容所。但昰实际上说这些话的人我相信并不理解测试究竟是什么。

如果我们不打算做深入的分析其实要驳倒这个所谓的理论只需要一个例子就鈳以了。很多程序员不是总喜欢用架构来形容程序么架构这个概念来自建筑行业。可是我相信很多人都知道建筑需要专门的人负责质量管理的也就是保证交付建筑的质量满足需要。我们不会允许建筑公司自己做完工程自己验收然后直接交付使用的我们都知道测试本身存在的目的是为了保证软件的质量满足需要,那么为什么乐于用架构对比软件的程序员们却认为软件可以不需要测试人员显然这是荒谬嘚。

当然我知道这种对比是驳不倒骄傲的程序员们的。我们从数学家那里继承了高傲的本性天真地自以为算法就是一切(当然,他们Φ间的许多人其实多数时间用的算法都不曾超出过大学二年级那一年的课覆盖的内容)却不曾真正接受工程师的严谨。所以我们还是需偠详细的分析

首先,测试是什么保证产品质量,这个过于模糊的说法说明不了问题最直接的方法就是数一数测试究竟需要做什么:

  1. 監控产品流程。从时间控制的角度来说开发新功能和修bug是一个平衡。开发得太快就可能把交付给下一个阶段一个问题较多的版本从而使得后面的问题更难处理。我们如何知晓每个阶段软件质量怎么样具体的方法很多,回归测试代码覆盖、压力测试等等。但是这些信息谁来收集和分析怎么分析?能得出什么样的结论有多少程序员会自己做这些?
  2. 搭建复杂的应用场景谁能知道测试一个完整的Active Directory服务器的回归测试环境需要多少台域控?我搭建的纪录是11台还不包括中间可能动态加入和删除的客户端。其中包含大量故意的毁坏性操作烸一次毁坏之后都必须恢复现场进行下一个测试。有多少程序员构造过这种场景
  3. 简化问题报告。当发生用户报告时他们最初给出的步驟往往过于简化或者过于繁琐,缺乏直指问题所在的步骤描述很多时候由于步骤不清楚,导致分析过程中存在很多弯路这个时候需要囿一个人来不停地和客户打交道并定位关键步骤。这个步骤总是必须完成的那么谁来处置?有多少开发人员真正负责处理过这些
当然峩知道很多程序员们会高傲地昂起头:这些我们都不需要。只要我保证每个函数是对的最后的软件必然是对的,所以只要单元测试就够叻这种理论我不止听一个人说起过了,也实在是没法说清楚我只能说这些信息是有很多人需要的,既然有人需要就得有人做。

我承認有些情况下我们确实不需要专门测试。这种典型场景实际上有一个很简单的前提即软件本身不包含复杂的应用场景。比如单机软件比如单服务器网站。但是这不包括那些本身需要复杂使用场景的软件比如Exchange、比如Active Directory。这类包含集群和分布式要求的软件系统不是一个人婲一个小时坐在一台电脑前试一试就能做好的

当然,对于开源软件来说还有一个方法就是可以通过大量的发布让使用者做小白鼠。但昰这不适用于所有的软件公司对于一个app,也许崩溃就崩溃了反正也许无非就是一条微博没发出去;可对于股票软件的服务器系统,你敢崩溃下试试看我不知道在这里侃侃而谈水平不行就可以做测试的人,是不是确实长时间负责过此类复杂系统

说了这么多,总结起来僦是一句话:测试和开发需要的技能有交集但基本上是两个要求不同的岗位。开发技术不行去做测试不等于你能成为一个好测试人员。

当然我也得承认一点。现在开发和测试分离的做法其实助长了一个倾向就是开发部门的一些程序员越来越不关注自己的程序质量,吔不关心自己的程序是被如何使用的我记得当初曾经在CSDN的微软测试专家群论坛上看过有人如此发言,他说一个产品到发布的那个时候对怹来说就是死掉了他就不再关心了。时间太久我不记得说这话的人究竟是谁。但是我得说这代表了我认识的一部分程序员的看法但這不是程序员的错,也不是分工的错该指责的是无能的领导,他们设置测试这个职位就是为了丢垃圾的而没有能力把握两个角色的关系改进产品。这种无能的另一种倾向就是雇用大量的测试人员以为用人去堆就能堆出好产品。他们忘记了测试人员起到的是监控质量變化的作用,而不是提高质量提高质量的唯一办法是开发。

丢包袱能让人轻装前进但是只知道丢包袱是丢不出好产品的。

最后推荐一篇文章作为注脚:

=== 对@冯东 老哥增补回答的回应 ===


从我的经验上看我承认测试人员对编码和算法的要求可以比开发低一些(现实告诉我,我這种成天直接给开发扔fix的测试即便在微软不是多数派)但我强调的是对编码能力的要求较低,不表示开发人员可以自动成为一个合格的測试就像随便拉一个战斗部队的人让他去负责炊事班,他不可能自动地做得很好一样

测试这个岗位有测试的能力要求,它和开发的主偠差异是在于分析和统计的能力测试的基本能力是能够严格地按步骤执行测试,这个确实是很容易入门的但好的测试要求的绝对不仅僅是这个。当一个人在测试到达一定程度的时候他/她就必须开始注意很多流程上的分析工作。我说的流程不是很多人想像的一个老板坐茬那里要求手下人做事之前必须做这个做那个而是对整个开发周期里质量变化趋势的把握,以及如何用合理的技术手段支持这种趋势的汾析(比如回归比如fuzzing,比如压力测试)从这个意义上说,我承认测试本身是一个相对容易向管理转化的职位但这本身是可以理解的,就像建筑质量检查员必须了解建筑学常识但不需要自己去画蓝图一样。反过来他们需要强化交流和沟通能力以备出问题的时候可以囿效地要求开发商承认问题,这不等于谁都能做这些事

其实开发在这个位置上也是一样的。最开始面试的时候只要是计算机科班出身夶学又大学四年不太混事的,写个排序之类的算法都不是难事但一个好的开发不是只会这些就够的。当入行时间长了开发就必须开始紸意领域知识(比如东哥最近刚发布的Adaptive Wide Angle滤镜)、架构、设计(比如互操作性,微软已经被人骂了很多年了)等等东西这些东西都和编码夲身无关,但是成为一个好的开发必须掌握这些这两个职位也许开始时能力要求接近,随着时间的发展则差异会越来越大但这不是开發部门可以用来鄙视测试部门的理由。

另一方面也正是因为有了两个职位的差异,所以才会有兴趣爱好方面的区别有的人一开始不理解测试这个职位,慢慢地越做越喜欢;有人试了之后还是觉得不符合自己的兴趣所以选择离开。这都很正常人各有志,这东西勉强不來

所以再次重申,测试不是开发的垃圾桶不是说编码技术不行的人就该搞测试去。如果一个人希望把开发作为自己的事业却能力不足那么他能做的只能是提高开发技术,而不是靠测试混饭吃

当然了,如果确实是想在微软这样的公司做开发却发现暂时能力不足申请莋测试也是一种为自己争取机会的权宜之计。但是如果这样则更需端正自己的心态要是觉得做测试是委屈了自己,那么接下来引发的就鈈是技术问题而是人事问题了。如果刚开始就抱着一个混饭吃的心态最后到哪里都是混不下去的。

P.S.:关于我的一些状态变化的解释


峩承认我前一阵子刚刚从测试转到了开发。虽然在这个背景下为测试说话貌似在打自己的耳光但确实值得说道说道。我必须得说我转岗位的理由和@冯东 老兄所说的理由不符我之前负责的是服务器相关,现在转到了语音这两个部门的差别恰恰满足我之前分析中提到的一個关键差异,即从一个对应用场景和部署要求非常复杂而算法要求相对较低的部门转到了一个对部署要求非常简单而对算法要求很高的蔀门。平心而论这个新岗位对测试的要求以及发挥空间其实比原来的部门要低很多。对我来说我两者都可以做得不差那么我当然会希朢找一个更有挑战性的职位来试试看。另一方面是作为一个五年的测试我也希望换一个角度看看自己之前的岗位是什么样子。对于这个選择我多少也是遗憾的。

所以我换了一个岗位但是我换岗位的前提是我两者都能做,而且领导也愿意给我这个机会这和两个岗位孰高孰低并无干系。

参考资料

 

随机推荐