①测试和发现软件中存在的软件缺陷;
②测试工作需要贯穿整个软件的生命周期;
③ 测试用例报告形成:测试人员为了更好更有效地进行测试,保证测试工作质量,需要在执行测试工作之前首先需要设计测试用例,形成测试用例报告。
④测试计划制定:测试过程中,为了更好地组织与实施测试工作,测试负责人需要制定测试计划,包括有测试资源、测试进度、测试策略、测试方法、测试工具、测试风险等。
⑤ 缺陷报告编写及提交:测试人员将发现的缺陷编写成正式的缺陷报告,提交给开发人员进行缺陷的确认和修复。
⑥软件质量分析:在测试完成后,测试人员需要根据测试结果来分析软件质量,包括缺陷率、缺陷分布、缺陷修复趋势等。给出软件各种质量特性包括有功能性、可靠性、易用性、安全性、时间与资源特性等的具体度量。最后给出一个软件是否可以发布或提交用户使用的结论。
可以说:
软件测试工程师具体工作有: 1、使用各种测试技术和方法来测试和发现软件中存在的软件缺陷; 2、测试工作需要贯穿整个软件开发生命周期; 3、测试人员将发现的缺陷编写成正式的缺陷报告,提交给开发人员进行缺陷的确认和修复等。
软件测试工程师主要是负责理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),决定软件是否具有稳定性(Robustness),写出相应的测试规范和测试案例。简单的说,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时纠错及时更正,确保产品的正常运作。
作为一个测试人员的角色定位,以及刚入门需要
了解的相关知识和心态方面的问题。说实话,感
觉到很为难,有时候有些事情做起来感觉并不是
很难,但是要把它转化为文字的形式表达出来对
我来说确实比较为难的。但是我还是很愿意去用
一支拙笔来慢慢描述我对测试人员定位的一个理
解:
当一个人在一个漫长而坎坷的道路上走过之
后,我相信他一定会有自己沉淀下来的东西。前段
时间参加华东测试交流会时,听到海松大哥解析测试
人员如何定位自己的角色的时候就感触很深,感觉自己
还有很多值得钻研的地方,在测试领域,自己的很多认识
还是很肤浅的。随着公司规模逐渐扩大,测试人员也由以前的几个人发展到现在的几十人。队伍的壮大是显而易见的。然而很多刚进入门的同仁却开始慢慢对做测试流露出迷茫的眼神,问其原因,很简单,做测试学不到东西,整天就鼠标点点,键盘敲敲,很难学到真正的东西。听了之后不由得露出理解的笑容,想当年我也是从这样的境遇走过来的。刚进入公司的时候就让做测试,经历了同样的鼠标点点,键盘敲敲的经历。然而正是这样的一些成长经历让我在平淡中明白了很多道理,并且慢慢从因为工作而做测试转化为因为兴趣爱好而继续做测试工作。做测试不仅仅是表面看到的这种敲敲点点现象的延续,还有更深层次的内涵,只是我们很多人还没到达这个境界而已,所以看起来很枯燥。(我也没达到这个境界,不过我知道自己做的工作并不是很枯燥的,呵呵)。
刚开始做测试的朋友很多都在做黑盒测试,而黑盒测试往往对代码编写能力要求不是很高,这样给刚入门的人就造成了一个测试人员不需要太多知识的误解。然而,做测试往往需要很广泛的知识。不仅仅只是专业上的,而且要了解很多开发人员不了解的东西,在一个系统里面开发人员可以只了解客户需求,而我们的测试人员需要了解整个全局的东西。呵呵,感觉有点统筹全局的成就感。不过有时候相对于开发人员来说也的确是这样的。开发人员可以不用太多了解用户的需求,而我们却需要能够准确捕获用户的观点,对很多细节需要非常注意。往往很多人在初入测试行业的时候非常热衷于测试工具的学习以及使用,其实这并不是一个很系统的认知。知识的学习也是分阶段的。测试这两个字很表面来看很简单,只是给程序挑错误,找出bug来,但是在整个软件开发过程中我们该如何把测试跟开发结合起来有效地进行都需要经过实践来证明。而这些不是工具所能完成的。
我们对整个测试流程方面的东西需要了解得很多很多,而工具只是需要了解的其中一部分而且是比较小的一部分知识而已。你所了解的不仅仅只是测试的表面,你需要了解测试的流程,你需要了解如何用一个好的测试计划来规划我们的测试时间、测试范围(有些公司把测试范围的设计归纳在测试需求里面,但是很多公司都是在测试计划里面),需要了解如何用一个好的测试用例来覆盖整个测试范围之内的测试实施。了解如何保证所测试出来的bug是开发人员的问题而不是因为自己了解不够导致出现的问题。Bug分析报告之内如何总结问题都是我们需要注意到的知识。对自己的测试时间也需要进行详细规划,尽量多地考虑进去各种可能。这样才可以尽量减少相关的风险。
测试里面的知识学习可以分为以下三个阶段来进行(这个阶段只是自己的一种个人见解):
第一个阶段我们必须要让做测试的人明白测试在整个软件工程里面的重要性,了解测试的相关基础知识,并且在了解这些知识的过程中逐渐挖掘出他对测试的兴趣。兴趣爱好是很好的从事一项工作的一个重要条件。让一个对测试丝毫不懂而且不感兴趣的人去直接去做测试,你不觉得是在耽误别人的青春吗?
第二个阶段我们必须对测试的流程的管理工作通过实际的软件测试有个非常明确的认识。因为很多时候工作都是在团队相互协调的情况下进行的,所以对于整个软件开发流程以及开发流程当中的测试流程都需要很熟悉,这样才可以更好的配合工作。当我们这些都很熟悉并且在工作当中应用很流畅的时候,我们就可以对测试工具进行相对应的学习。诚然,现在很多公司在招聘测试人员的时候总是要求了解自动化测试工具,实际上据了解,很多公司并不能真正用自动化测试。所以不要一进门就想着学习自动化测试工具,很多知识在你了解了其他知识之后学习效果跟用途可能会更好。在了解测试相关流程的同时我们必须扩充我们的其他相关知识,包括对我们的产品的客户的需求的了解要比开发人员了解更全面,更深入。这样才能保证我们的流程,我们的测试按照客观的正确的方向前进,而不至于被开发人员的思想所牵引。呵呵。我喜欢做事主动而不是被动的去执行。
到第三个阶段我们可以跟区分专业一样走自己喜欢的途径:一方面可以继续深入提高自己的测试的专业技能并且能够真正从事自动化测试,成为技术领域里面的专家。另一方面我们可以慢慢趋于测试管理方面。上次在交流会上,海松大哥对测试人员的发展阶段跟发展路径规划曾作出一个很形象的比喻来,我画了一个粗略的流程,大家可以看看下面的发展图:(自下向上的发展趋势)(当然并不是每个人都在这个曲线发展之内)
从这个图形我们大家也可以粗略的看出,对于初级测试工程师,这是两个不同的发展方向,但是最终还是发展为一个终点(PM)。从一个初级测试工程师晋升到一个高级测试工程师比较快,但是从一个初级测试工程师发展到一个Team Leader所需要的时间相对比较长。而从一个高级测试工程师发展到一个资深测试工程师花费时间更长一点,到达资深测试工程师之后就可以很容易做到测试主管了,以后可以发展到PM。当然从初级测试人员到高级、资深测试人员在上面的图中并不是表述为“曲线发展过程”的,很多时候行业经验、行业知识的累积等都很重要。而这点只有深入发展的人才会发现其重要性的。很多随着时间的推移和经验的增长,一些沉淀下来的东西不是表现在字面上,别人就可以理解并领悟的。所以要有信心的同时我们做事还必须有耐心,罗马非一日建成。相信明天就要紧紧把握今天。
我们很多人在测试的时候感觉到不爽的另外一个比较大众化的原因,可能就是对测试不感兴趣的同时知识层次不够。(建议接触测试一年之后还对此不感兴趣的朋友找找自己的原因,实在找不出来就早点看看别的比较好发展的行业吧。)。因为自己知识层次的不够,这样往往感觉自己找出的bug在开发人员那里得不到很好的重视,感觉自己的劳动成果没有得到相应的尊重一样。一个测试人员在跟开发人员打交道的时候往往会产生这么一个现象,随着开发的进行,测试人员提交的bug越来越不被开发人员重视了,这里面除了开发人员比较忙碌的缘故之外,另外一个不容忽视的原因就是我们测试人员自身的知识不够层次,很多时候因为我们不了解需求,不了解相关专业知识而误认为正确的东西是bug。任何一个领域里面的人我想都应该有这样的想法并且比较反对这个想法:那就是外行对内行进行不正确的指点,这相当于对别人劳动成果的一种不负责任的否定。所以我们一定要加强我们自身的专业知识的学习。这个时候大家可能会问,那么一个真正的测试人员应该具备哪些知识呢?我想在除了相关专业知识之外还有一些比较共性的知识需要我们大家了解,专业知识因为行业的不同所以有很多的不同之处,这儿不详细介绍了,我从大众化的方面来阐述下面几个需要我们注意的地方,这也是作为一个测试人员应该具备的基本素质:
1、我们需要具备很好的沟通能力:沟通是人类相互进步的一个重要标志,用在我们这个行业里面沟通也比较适用。我们的沟通往往不仅是跟开发人员的沟通,有时候也会跟我们的客户进行沟通的。这是两种不同类型的人,他们关心问题的侧重点也不同。所以我们沟通时候需要掌握一定的技巧,这样才能从客户那儿得到比较准确的需求。有时候我们的工作会被开发人员认为是“破坏”性的工作,这样就会引起我们跟开发人员的冲突,所以当我们发现一个bug之后如何跟开发人员沟通也是一门艺术。很多时候我们不仅仅是把bug写出来,也要很好地说给开发人员知道。从而达到我们彼此想要的一种结果。
2、我们需要具备很好的自信心:很多时候开发人员会经常认为测试人员的开发相关知识不如自己,所以会有一种轻视的态度,这个时候我们除了补充我们的专业知识之外还需要有很强的自信心。呵呵。如果允许他对我们说这说那,那么我认为我们的工作还没开展就已经处在十分不利的地步了,我们将会被他们牵着鼻子走。这种现象很正常。而我却属于那种很讨厌被别人牵着鼻子走的人。所以我知道我们一定要很专业才能让别人尊重自己的劳动成果并听取自己的见解。当然这种自信心也是建立在心平气和下的沟通,不是完全对立的。
3、我们需要保持一种怀疑的精神:(这点我很擅长,我经常怀疑那些跟我擦肩而过的PLMM对我放电。所以总是。。。。。。,呵呵,结果最近医务室大夫说我患了神经质。亏大了)我们会经常碰到这样一种情况,我们往往发现的bug交给开发人员时他们总是尽他们最大的努力解释每个他们认为不是bug的bug。我们在倾听他们解释的同时必须要怀疑他们的观点直到我们自己确认过之后。
4、我们需要耐心和很好的记忆力:有时候往往一个bug需要我们很耐心的花费时间、精力去投入在上面,而且当我们再找到有些类似的bug的时候,要能从脑子里面找出来这些bug,这就需要我们有很好的记忆力。其实如果不具备这些条件了那么相关的文档就是我们最好的查询资料。我就是属于这种类型的,很多时候总是翻阅以前的文档。但是这样也有一个好处,那就是在不断的查询过程中我们对文档的修改,使文档日臻完善,当然这种完善也是相对的。
5、我们需要一颗安静的心:因为浮躁的人是找不出隐藏在深处的bug的,(所以我们的开发人员总是喜欢让我测试他们的东西,因为我汇报的bug很少,这样他们的绩效就表现得很好啊。所以我总是挨批啊。不过现在学乖了,呵呵。)所以当我们测试的时候我们应该保持内心的平静,这样我们才会保持很好的洞察力来找到那些隐藏很深的bug。而且也会抓到相关的重点的。这点是很重要的。否则你的测试跟流水账做也没什么区别,根据业务流程,根据用户需求,根据开发人员的思路一路跑下去,发现一些皮毛的bug。这不是一个好的测试人员应该做的。我们在平静当中才能保持自己的观点不被别人左右。
6、我们还需要能够承受压力并排遣压力:无须质疑,我们的工作承受着一定的压力,当然这样说有点片面,不过大体上应该是这样的。所以我们经常承受着一定的压力,客户在催促,开发人员在delay,风箱里面的老鼠两头受气。所以我们要能够承受压力,包括外界的、工作上的压力。并且不要把因为压力而导致的不好的情绪带到工作当中。学会排遣这些压力,保持一颗轻松的,平静的心,然后全身心投入到我们的工作。
上面的只是根据实际的一些经验以及曾经看过的一些朋友的见解总结而来的,还有很多其他方面的知识,但是我实在没有时间了,呵呵,很抱歉。以后有时候还可以继续补充。只是想强调一点:测试在中国的发展前景是非常好的,而这点从这几年无论测试人员和测试环境的变化还是客户对产品质量的要求越来越高都可以看出的。
还是上面说的那句老话:相信明天,就要把握今天!
软件测试,在专业上区分工作,分黑盒和白盒测试两种,白盒测试一般在一些大的软件工程项目里面使用得到,要求的技术层次相对较高,基本上是半个以上研发人员的技术水平要求。(具体两者区分可以自行百度)这里具体说说软件测试中,两种测试工种的工作内容。
白盒测试, 往往要直接接触程序的 源代码 ,所以白盒测试人员任职的一个很重要的条件就是读懂对应开发语言,最好是半个以上的开发人员。
黑盒测试, 则没有要能读懂程序 源代码 要求(当然有软件开发这方面知识的更佳), 黑盒测试 人员的要求往往更侧重测试人员对软件测试理论和对应行业了解。
扩展资料
软件测试工程师可发展为软件架构师,系统架构师,首席技术官,产品总监乃至CEO,职业晋升空间非常大。
同时,由于移动互联网已经与百姓生活息息相关,创业机会将远高于其他任何行业,创业门槛也相对较低。
1负责公司软件产品的黑盒测试,具体又细分为软件新增功能的测试、软件bug纠正后的测试以及新版本发布前的测试。
2负责测试计划、测试用例及测试报告等文档的编写
3负责bug识别、归类、跟踪到解决的整个过程并以记录形式提交备查
4使用ACT等负载测试工具进行压力测试
开发一个好的软件,40%以上的时间用在测试上,所以软件测试工程师非常重要,用我们的话来说很吃香。现在从事程序员的人有很多,做测试工程师的人少点,工作压力不太大
测试工程师应该具备的三项基本素质[1] 很多年轻或者刚刚从事测试工作的工程师,经常会问:“测试工程师需要什么技能或者具有什么素质才是合格的?”与开发人员相比,测试人员不但需要一技之长,还需要掌握诸如 *** 作系统、数据库、网络等多方面的知识。
经过这几年的发展,国内IT公司的测试水平有了很大的提高,但是与此同时,很多测试工程师也迎来了个人的发展瓶颈:很多人从测试工程师做到了测试经理的职位,不知道下一步如何发展;或者每天机械地从事着功能测试工作。
根据作者多年的经验,一个有竞争力的测试人员要具有下面三个方面的素质:
计算机专业技能
计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。计算机专业技能主要包含三个方面:
测试专业技能
现在软件测试已经成为一个很有潜力的专业。要想成为一名优秀的测试工程师,首先应该具有扎实的专业基础,这也是本书的编写目的之一。因此,测试工程师应该努力学习测试专业知识,告别简单的“点击”之类的测试工作,让测试工作以自己的专业知识为依托。
测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。
软件编程技能
“测试人员是否需要编程?”可以说是测试人员最常提出的问题之一。实际上,由于在我国开发人员待遇普遍高于测试人员,因此能写代码的几乎都去做开发了,而很多人则是因为做不了开发或者不能从事其它工作才“被迫”从事测试工作。最终的结果则是很多测试人员只能从事相对简单的功能测试,能力强一点的则可以借助测试工具进行简单的自动化测试(主要录制、修改、回放测试脚本)。
软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能给编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。
此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据作者的经验,测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。
网络、 *** 作系统、数据库、中间件等知识:
与开发人员相比,测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻。由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、 *** 作系统、数据库等知识。
在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知识。
*** 作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于Unix、linux来运行的,这就要求测试人员掌握基本的 *** 作命令以及相关的工具软件。而WebLogic、Websphere等中间件的安装、配置很多时候也需要掌握一些。
数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置,还要掌握SQL。测试人员至少应该掌握Mysql、MS Sqlserver、Oracle等常见数据库的使用。
作为一名测试人员,尽管不能精通所有的知识,但要想做好测试工作,应该尽可能地去学习更多的与测试工作相关的知识
以上就是关于软件测试工程师工作内容是什么全部的内容,包括:软件测试工程师工作内容是什么、怎么和孩子介绍软件测试工程师的工作、我想问一下,软件测试员到底是做什么的,主要有哪些技术要求等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)