"软件测试工程师"是具体做什么工作呢?

作者&投稿:鄞定 (若有异议请与网页底部的电邮联系)
软件测试工程师做什么工作?~

测试行业简介-什么是软件测试工程师

1.负责公司软件产品的黑盒测试,具体又细分为软件新增功能的测试、软件bug纠正后的测试以及新版本发布前的测试。
2.负责测试计划、测试用例及测试报告等文档的编写
3.负责bug识别、归类、跟踪到解决的整个过程并以记录形式提交备查
4.使用ACT等负载测试工具进行压力测试
开发一个好的软件,40%以上的时间用在测试上,所以软件测试工程师非常重要,用我们的话来说很吃香。现在从事程序员的人有很多,做测试工程师的人少点,工作压力不太大

测试工程师应该具备的三项基本素质[1] 很多年轻或者刚刚从事测试工作的工程师,经常会问:“测试工程师需要什么技能或者具有什么素质才是合格的?”与开发人员相比,测试人员不但需要一技之长,还需要掌握诸如操作系统、数据库、网络等多方面的知识。

经过这几年的发展,国内IT公司的测试水平有了很大的提高,但是与此同时,很多测试工程师也迎来了个人的发展瓶颈:很多人从测试工程师做到了测试经理的职位,不知道下一步如何发展;或者每天机械地从事着功能测试工作。

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

计算机专业技能

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

测试专业技能

现在软件测试已经成为一个很有潜力的专业。要想成为一名优秀的测试工程师,首先应该具有扎实的专业基础,这也是本书的编写目的之一。因此,测试工程师应该努力学习测试专业知识,告别简单的“点击”之类的测试工作,让测试工作以自己的专业知识为依托。
测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。
软件编程技能
“测试人员是否需要编程?”可以说是测试人员最常提出的问题之一。实际上,由于在我国开发人员待遇普遍高于测试人员,因此能写代码的几乎都去做开发了,而很多人则是因为做不了开发或者不能从事其它工作才“被迫”从事测试工作。最终的结果则是很多测试人员只能从事相对简单的功能测试,能力强一点的则可以借助测试工具进行简单的自动化测试(主要录制、修改、回放测试脚本)。
软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能给编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。

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

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

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

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

软件测试工程师(Software Testing Engineer)的主要工作职责是,理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),决定软件是否具有稳定性(Robustness),写出相应的测试规范和测试案例。简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时纠错及时更正,确保产品的正常运作。
软件测试工程师简单的说是软件开发过程中的质量检测者和保障者,负责软件质量的把关工作。那么软件测试工程师的工作内容有哪些呢?
1、测试人员为了更好更有效地进行测试,保证测试工作质量,需要在执行测试工作之前首先需要设计测试用例,形成测试用例报告。设计测试用例是保证测试质量的核心工作,很多测试技术都可以用来指导设计用例。为了提高测试用例的设计效率,BTEST培训课程专门开设了高效设计测试用例一门课来讲授各种设计用例的技术与方法。
2、使用各种测试技术和方法来测试和发现软件中存在的软件缺陷。测试技术主要分为黑盒测试和白盒测试两大类。其中黑盒测试技术主要有等价类划分法、边界值法、因果图法、状态图法、测试大纲法以及各类典型的软件故障模型等;白盒测试的主要技术有语句覆盖、分支覆盖、判定覆盖、基本路径覆盖等。
3、测试负责人在测试工作中,还需要根据实际情况不断改进测试过程,提高测试水平,进行测试队伍的建设等。
4、测试工作需要贯穿整个软件开发生命周期。完整的软件测试工作包括单元测试、集成测试、确认测试和系统测试工作。单元测试工作主要在编码阶段完成,由开发人员和软件测试工程师共同完成,其主要依据是详细测试。集成测试的主要工作测试软件模块之间的接口是否正确实现,基本依据是软件体系结构设计。确认测试和系统测试是在软件开发完成后,验证软件的功能与需求的一致性、验证软件在相应的硬件条件下的系统功能是否满足用户需求,其主要依据是用户需求。
5、为了提高工作效率或提高测试水平,测试工作需要引进自动化测试工具,测试人员需要学会使用自动化测试工具,编写测试脚本,进行性能测试等。
6、测试人员将发现的缺陷编写成正式的缺陷报告,提交给开发人员进行缺陷的确认和修复。缺陷报告编写最主要的要求是保证缺陷的重现。要求测试人员具有很好的文字表达能力和语言组织能力。
7、测试过程中,为了更好地组织与实施测试工作,测试负责人需要制定测试计划,包括有测试资源、测试进度、测试策略、测试方法、测试工具、测试风险等。
8、测试人员需要分析软件质量。在测试完成后,测试人员需要根据测试结果来分析软件质量,包括缺陷率、缺陷分布、缺陷修复趋势等。给出软件各种质量特性包括有功能性、可靠性、易用性、安全性、时间与资源特性等的具体度量。最后给出一个软件是否可以发布或提交用户使用的结论。
软件测试工作是对质量的把关,其中包含技术及管理等方面的工作,工作相对稳定,对年龄没有限制。而且随着项目经验的不断增长和对行业背景的深入了解,会越有经验越吃香。

  软件测试工程师主要职责是编写测试用例,按照产品要求测试功能点,发现并记录bug的。
  软件测试工程师(Software Testing Engineer)指理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),测试软件是否具有稳定性(Robustness),写出相应的测试规范和测试用例的专门工作人员。简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时发现软件问题并及时督促更正,确保产品的正常运作。
  按其级别和职位的不同,可分为三类:
  1、高级软件测试工程师,熟练掌握软件测试与开发技术,且对所测试软件对口行业非常了解,能够对可能出现的问题进行分析评估;
  2、中级软件测试工程师,编写软件测试方案、测试文档,与项目组一起制定软件测试阶段的工作计划,能够在项目运行中合理利用测试工具完成测试任务;
  3、初级软件测试工程师,其工作通常都是按照软件测试方案和流程对产品进行功能测验,检察产品是否有缺陷。

测试行业简介-什么是软件测试工程师



软件测试工程师的工作职责:
1、使用各种测试技术和方法来测试和发现软件中存在的软件缺陷。测试技术主要分为黑盒测试和白盒测试两大类。
其中黑盒测试技术主要有等价类划分法、边界值法、因果图法、状态图法、测试大纲法以及各类典型的软件故障模型等;白盒测试的主要技术有语句覆盖、分支覆盖、判定覆盖、基本路径覆盖等;
2、测试工作需要贯穿整个软件开发生命周期。完整的软件测试工作包括单元测试、集成测试、确认测试和系统测试工作。
单元测试工作主要在编码阶段完成,由开发人员和软件测试工程师共同完成,其主要依据是详细测试。集成测试的主要工作测试软件模块之间的接口是否正确实现,基本依据是软件体系结构设计。
确认测试和系统测试是在软件开发完成后,验证软件的功能与需求的一致性、验证软件在相应的硬件条件下的系统功能是否满足用户需求,其主要依据是用户需求。
3、测试人员将发现的缺陷编写成正式的缺陷报告,提交给开发人员进行缺陷的确认和修复。缺陷报告编写最主要的要求是保证缺陷的重现。要求测试人员具有很好的文字表达能力和语言组织能力。
4、测试人员需要分析软件质量。在测试完成后,测试人员需要根据测试结果来分析软件质量,包括缺陷率、缺陷分布、缺陷修复趋势等。
/iknow-pic.cdn.bcebos.com/b999a9014c086e06a50453ac0c087bf40bd1cbad"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/b999a9014c086e06a50453ac0c087bf40bd1cbad?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/b999a9014c086e06a50453ac0c087bf40bd1cbad"/>
给出软件各种质量特性包括有功能性、可靠性、易用性、安全性、时间与资源特性等的具体度量。最后给出一个软件是否可以发布或提交用户使用的结论。
5、测试过程中,为了更好地组织与实施测试工作,测试负责人需要制定测试计划,包括有测试资源、测试进度、测试策略、测试方法、测试工具、测试风险等。
6、测试人员为了更好更有效地进行测试,保证测试工作质量,需要在执行测试工作之前首先需要设计测试用例,形成测试用例报告。
设计测试用例是保证测试质量的核心工作,很多测试技术都可以用来指导设计用例。为了提高测试用例的设计效率,BTEST培训课程专门开设了高效设计测试用例一门课来讲授各种设计用例的技术与方法。
7、为了提高工作效率或提高测试水平,测试工作需要引进自动化测试工具,测试人员需要学会使用自动化测试工具,编写测试脚本,进行性能测试等。
8、测试负责人在测试工作中,还需要根据实际情况不断改进测试过程,提高测试水平,进行测试队伍的建设等。
参考资料来源:/baike.baidu.com/item/软件测试工程师/827831?fr=aladdin#3"target="_blank">百度百科-软件测试工程师

软件测试主要工作内容,包括两个方面验证(verification)和确认(validation)。
验证(verification)是保证软件正确地实现了一些特定功能的一系列活动, 即保证软件以正确的方式来做了这个事件。
1.确定软件生存周期中的一个给定阶段的产品是否达到前阶段确立的需求的过程。
2.程序正确性的形式证明,即采用形式理论证明程序符合设计规约规定的过程。
3.评审、审查、测试、检查、审计等各类活动,或对某些项处理、服务或文件等是否和规定的需求相一致进行判断和提出报告。
确认(validation)是一系列的活动和过程,目的是想证实在一个给定的外部环境中软件的逻辑正确性。即保证软件做了你所期望的事情。
1.静态确认,不在计算机上实际执行程序,通过人工或程序分析来证明软件的正确性。
2.动态确认,通过执行程序做分析,测试程序的动态行为,以证实软件是否存在问题。
其实,软件测试的对象不仅仅是程序测试,软件测试应该包括整个软件开发期间各个阶段所产生的文档,如需求规格说明、概要设计文档、详细设计文档,当然软件测试的主要对象还是源程序。


软件测试容易学不???
请看下面的文章:软件测试是一门实践性很强的工作,如果要想入这个行,实践是必不可少的。当然理论也很重要。如果要自学软件测试,我想理论上,首先得搞清楚一般软件的生命周期,测试的流程,输入输出文档,还有一些软件测试的基本概念。软件的生命周期有很多文章讨论,请看这里,我在此不必多说。软件测试...

软件测试里的α、β、γ测试是指什么
2.Beta版(外部测试版):软件开发公司为对外宣传,将非正式产品免费发送给具有典型性的用户,让用户测试该软件的不足之处及存在问题,以便在正式发行前进一步改进和完善 。一般可通过Internet免费下载,也可以向软件公司索取。参考资料:http:\/\/baike.baidu.com\/view\/8630.html?wtp=tt ...

软件测试的原则???
1、尽早不断测试的原则 应当尽早不断地进行软件测试。据统计约60%的错误来自设计以前,并且修正一个软件错误所需的费用将随着软件生存周期的进展而上升。错误发现得越早,修正它所需的费用就越少。2、IPO原则 测试用例由测试输入数据和与之对应的预期输出结果这两部分组成。3、独立测试原则 独立测试原则...

学软件测试需要JAVA基础吗?
不需要,零基础也可以学习软件测试。学习软件测试不需要很高的学历。大多数软件测试课程一般都是从零基础开始,大多数人都能学会。千锋教育就有线上免费的软件测试公开课,。千锋官网每日更新最新软件测试基础知识内容,巩固日常学习中的基础技能。更有免费的软件测试视频教程帮助学员快速学习。如果真的需要一定...

女孩子做"软件测试"工作怎么样?需要学习哪些知识.软件等?
软件测试不容易啊,硬件知识最好是懂啊 然后软件工程理论要懂,软件体系要懂,数据库也得懂,编程当然要懂不然怎样做白盒测试,什么流程图,甘特图,UML之类的,很多知识要懂,如果你想这个方面做的话,建议你找下国家软件资格考试的指定用书:软件评测师教程——全国计算机技术与软件专业技术资格(水平)...

软件测试的定义是什么?
你问软件测试的定义,这个太广泛了,你可以看看这个参考资料, 最起码能有一点点的认识。软件测试这个行业水很深,它是入门简单,学习比较难的,要想清楚明白的知道软件测试是干嘛的,只要在工作中慢慢积累,光从别人那里得出来的仅仅只是理论。你可以平时多上上测试的网站,给你推荐几个:51testing,...

软件测试初接触
计算机软件产品检验员(即软件测试工程师)早在2005年就被劳动和社会保障部门列入第四批新职业中。经过短短几年的发展,软件测试员已跻身IT业抢手人才之列。究其原因主要有二。首先是企业对测试“经济价值”的认可。有调查显示,通过必要测试,软件缺陷可减少75%,而软件的投资回报率则可增长到350%。对...

我本来是学网络的想转行学软件测试不知道能否顺利
我是通过培训现在从事测试的。回答你几个疑问:1.转行没问题。但目前软件测试被炒的很热,其实并不是广告说的那样,现在大部分国内公司对测试这里不是很重视,今后几年的发展前景应该不错。2.没有编程基础也可以做测试。但基本不会有什么发展。推荐学好C语言,VB,JAVA或C++,数据库最好能学好一个。...

SDV测试是什么意思软件开发过程中有SDV测试,"SDV"怎样解释呢?_百度...
SDV测试是软件开发过程中的一种测试方法,它是指"SystemDesignVerification"(系统设计验证)测试。SDV测试是在软件开发的早期阶段进行的,主要用于验证软件系统的设计是否满足规格要求和功能需求。它旨在确保软件系统在设计阶段就具备必要的功能和性能,以减少后续开发阶段出现的问题和缺陷。SDV测试的主要目标包括...

软件测试行业的CMM是指什么?
软件测试行业的CMM指的是“能力成熟度模型”。其英文全称为CapabilityMaturityModelforSoftware,英文缩写为SW-CMM,简称CMM。它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,...

亭湖区18785014716: 什么是软件测试工程师 -
狐娥舒心: 高级软件测试人才. 软件测试工程师,目前IT行业极端短缺的金贵人才,未来5年IT行业最炙手可热的高薪职位.中国软件业每年新增约20万测试岗位就业机会,而企业、学校培养出的测试人才却不足需求量的1/10,这种测试人才需求与供给间的...

亭湖区18785014716: 软件测试工程师是干什么的?要学什么? -
狐娥舒心: 软件测试是刚兴起的新兴职业,社会需求大,但供应少竞争小,薪资起点高,是越来越值钱的行业,相当于10年前的开发.它有发展前途,“软件测试在国外已经很成熟了”,但在国内才刚刚兴起,还处于起步阶段,专业软件测试人员还很少,全国需求量达20万人软件测试简单的来说就是发现错误执行程序的过程,就是找错误,找缺陷,相当于医生的工作性质,具体可咨询一下 北京测试空间

亭湖区18785014716: 软件测试工程师未来前景怎么样? -
狐娥舒心: 软件测试工程师的就业前景挺好的,未来的发展前景也非常好,但是无论哪一个行业, 如果你只是停留在非常表面的位置,那么对于你来说,你的职业生涯就非常多,假如你喜欢钻研学习,你的职业生涯就会很长.

亭湖区18785014716: 软件测试工程师的就业前景怎样? -
狐娥舒心: 1.对于编程能力不高的学生来说是个很好的选择,做黑盒测试根本不用懂编程,白盒测试对编程很高,同时这也和你拿的薪水成正比.所以软件测试是一个门槛很低的行业,但是想做好也不容易. 2.想做好的话需要对软件工程,操作系统,编程有些了解,如果你感觉编程还可以的话最好做开发,大家都知道做开发的比测试的工资高嘛. 3.至于工具各个公司用的工具都不一样,需要你在实践中去学习.目前国内还没有什么权威的认证,正是由于软件测试还是处于发展的初期,所以前景还是很不错的.

亭湖区18785014716: 关于软件测试工程师 -
狐娥舒心: 开发一个好的软件,40%以上的时间用在测试上,所以软件测试工程师非常重要,用我们的话来说很吃香.现在从事程序员的人有很多,做测试工程师的人少点,工作压力不太大测试工程师应该具备的三项基本素质[1] 很多年轻或者刚刚从事测...

亭湖区18785014716: 软件测试工程师是吃青春饭吗? -
狐娥舒心: 一般软件测试工程师有两种职业发展规划,一条是管理线:软件测试工程师(初级、中级、高级),测试组长(leader),测试经理,测试部长,项目经理,产品总监;一条是技术线:初级软件测试工程师,功能测试工程师,自动化测试工程师...

亭湖区18785014716: 软件测试工程师做什么 -
狐娥舒心: 测试工程师:软件测试是软件开发过程的重要组成部分,是用来确认一个程序的品质或性能是否符合开发之前所提出的一些要求. 软件测试的目的,第一是确认软件的质量,其一方面是确认软件做了你所期望的事情,另一方面是确认软件以正确...

亭湖区18785014716: 测试工程师是干什么的,分为哪几种;是像别人说的那么好吗、一个月工资有那么高嘛?谁给具体的讲解下. -
狐娥舒心: 1、 (1)测试工程师,软件质量的把关者,工作起点高,发展空间大.我国的软件测试职业还处于一个发展的阶段,所以测试工程师具有较大发展前景.(2)软件测试工程师的工作就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,以测试方案可能出现在的问题进行分析和评估.(3)监理工程师、网络工程师机械工程师、安全工程师、售前工程师、环保工程师质量工程师、品质工程师、 IE工程师2、刚入行时月薪工资在3000—5000元,工作2—3年时月薪工资在8000—10000元之间.

亭湖区18785014716: 软件测试工程师的工作职责 -
狐娥舒心: 软件测试就是使用人工或自动手段,来运行或测试某个系统的过程.其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别.开发工作的根本是尽量实现软件用户的需求,测试工作的根本是检验软件系统是否满足软件用户...

亭湖区18785014716: 软件测试工程师应该具备哪些技能 -
狐娥舒心: 要成为软件测试工程师,我们应该掌握哪些技能.1.描述问题的能力 程序是人写的难免会出Bug,但是也是因为是某个程序员写的,他对于内在的逻辑、可能发生问题的地方会有一个大致的判断.测试工程师的工作就是,告诉他发生问题数据的...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网