软件测试工程师培训主要是做什么?

工程技能/软件测试工程师
(Software Engineering Skills)软件工程技能可以分成三大块:理解软件工程的规则,了解计算机编程和操作系统知识。理解软件工程“规则”。有一种过时的眼光认为软件工程只是由一些在工作期限之前疯狂编程、靠着非凡的协调能力和超人般的咖啡消耗整夜不睡,不停地设计和测试程序的“专家”们组成的。这种现象确实存在,但你只有了解了软件开发的真正过程,才会是一个专业人员。从哪开始呢?先到图书馆去走一走。你需要建立软件测试知识的软件工程基础。我的建议是阅读Roger Pressman的软件工程:A Practitioner's Approach,fifth edition (职业入门,第五版,McGraw Hill,2000年版)和 Glenford Myers的The Art of Software Testing(软件测试艺术,John Wiley & Sons,1979年版)。Pressman的书是一个对软件工程原理的全面介绍。有很多关于软件技巧、项目管理、要求分析和软件设计等软件工程方面的好书,但Pressman对这些方面在一本书里作了介绍。Glenford Myers不到二百页,1979年发行,却是软件测试方面的圣经。Myers定义及诠释的测试方法论已成为软件测试的基本模块。Myers还考查了软件测试中的经济(缺陷的代价)和心理学方面(测试的目标就是发现失误及不成功之处),以及主导软件开发和测试的基本原则。对参考书进行基本研究是一个好的开端,但这只是单方对话。如果你能和上千个直接具有软件工程和测试经验的人以及想进入这一领域的人对话是不是再好不过了呢?感谢那些网络电子部落,你已经可以做到了。Comp.software-eng复盖了设计、编程、项目管理等软件工程的各个方面。Comp.software.testing涵盖了软件测试的自动化、培训、技巧等方面。等等,别只停留在这里!你是不是应当经常访问这些网址呢?Bug-Net(http://65.54.244.250/cgi-bin/linkrd...%2ebugnet%2ecom)是有关软件缺陷的在线杂志。阅读有关缺陷的文章是学习如何工作及失败的极好方式。你也应当查阅软件测试及质量工程杂志(http://65.54.244.250/cgi-bin/linkrd...ww%2estqe%2ecom)。STQE 是确定网络软件测试资源很好的始发站。计算机编程。不能想像有的人喜欢测试产品却从不阅读、检查和理解组成产品的软件一样。不要误解我的意思。你不必花所有的时间去读源代码,但任何你做过的有关自己程序的设计、编写和纠错都能大大地有助于测试别人编写的程序。你怎样学习编程?通过编程。可以严肃地说,开始学习写计算机程序是最简单的事。记住我说的是“开始学习”。软件编程环境,例如 Microsoft Windows Foundation Classes (MFC) or Sun's Java Foundation Classes (JFC,also called "Swing")不断变得越来越复杂,越来越难跟得上。但我在努力超越自己。你应当怎样学习编程呢?首先,买Microsoft Visual Basic。不要让名字骗了你。你能用这套组件建立相当复杂的程序。而且它只要一百元左右。下一步呢?等等,是visual编程警告的时候了!现在你为你的PC买一个程序语言的时候,你其实是买了一个集成开发系统或称为IDE。这些IDE通过对编程的简化把开发过程流水线化。这些IDE其实会帮你写很多编码。这非常有利于尽早开发出一个产品,却不利于你学习编程。如果你用Windows产生程序,你别无选择,因为环境介入太多使你无法从头编程。如果你从Unix系统产生程序,你能自己写所有的编码。一旦你习惯了与参量、控制结构、对象、输入输出及更重要的Visual Basic纠错打交道的时候,你就可以开始学习C语言了。学习C能使你熟悉十六进制系统,通过指针分配和参考内存,存取个体位码及建立程序模块。我总是认为在学Java之前最好先学会C,因为C强迫你自己去完成许多任务而Java会自动处理(例如,释放未用的空间)。用C工作比Java难,但你能学到编程更多的基本方面。你其实能用Visual C++ IDE从头写C程序,但最好还是在Unix系统中学C。操作系统知识。你已经把它交给了在Redmond,Washington的那些人了。在短短的几年内,Windows NT已经成为世界上大部分计算机的标准操作系统。如果你要用NT工作,你需要了解它的寄存地址。(它是一种用于存储你的系统结构的各个方面的数据库。)我发现Peter Norton写的Inside Windows NT 4.0 (SAMS,1998)是一本很好的介绍书。但是,如果你的应用或系统要求高的保密度、产出、可靠性及灵活性,Unix依然是最好的选择。如果你想成为一个成功的软件工程师,你必须能在Unix的世界里工作,如果你想从头学习编程,也要在Unix下进行。你的选择是什么?你可以到当地的学校或大学学习课程,或者在家建立一个Unix系统。别昏过去了,你所需要的只是一台PC和一份能让你从网络免费下载的Linux拷贝。(你大约花二十九元能买一份在一个CD-ROM中带了所有文件的拷贝。)Linux不是Unix的“玩具”版,它是真实的。它已经发行了七百万份拷贝,一些主要的PC生产商甚至先替你装载了它。好了,你已经到了Unix或Linux系统了。你应当学些什么?文件和目录结构,标准输入输出和错误流,背景(background,也称为"daemon")处理,从C调用系统功能,好,我可以接下去了。一个好的开端是读Arnold Robbins的Unix in a Nutshell (O'Reilly & Associates,1999)或者是Ellen Siever的Linux in a Nutshell (O'Reilly & Associates,1999)。
实践经验/软件测试工程师
(Hands-On Experience)这是个典型的两难问题。你需要软件测试经验来找工作,你没工作你就没经验。你该怎么办?Be careful! 这需要勇气和你的PC的小心备份。作为自愿者参与beta测试。怎样发现需要beta测试员的公司呢?首先,给你在软件公司工作的亲友打电话。偶尔有人会需要beta的测试人员。如果这不行,到你最喜欢的网络搜索引擎上去找“beta test”。你会发现很多小(和不那么小的)公司亟需beta测试员。为什么?这得感谢互联网,竞争的加剧使公司必须做出产品模型贴到他们的网址上作为“beta”版推出。这些公司希望人们不仅测试他们的产品,而且对这些免费品感兴趣进而购买他们的产品。你也能参与开放资源的项目,例如Mozilla,开放资源的网络浏览器是网络浏览器的基础。Mozilla缺陷跟踪系统(允许网上任何感兴趣的人直接在 http://65.54.244.250/cgi-bin/linkrd...2emozilla%2eorg 的开放资源项目中直接报告和跟踪缺陷一句忠告:如果你要把很多beta软件下载到你家里的PC里,投资你的备份设备和防病毒组件。
开设课程/软件测试工程师
搭建 Windows测试环境主要讲解搭建 Windows 测试环境所要具备的软、硬件及网络知识。包括计算机中各种硬件和接口。软件的分类、分发和授权等方式;操作系统的初步知识;注册表、病毒、安全等知识; TCP/IP 协议和 DNS 、活动目录等知识。从而让学员可以在实际工作环境当中搭建一个基于 Windows活动目录的局域网环境。使用 C 语言开发简单应用设置本课程的目的主要是使学员掌握软件开发的技术,掌握编程的方法、思想,了解软件开发过程当中常犯的错误,为后面的测试课程以及编写测试脚本打下语言基础。课程中主要包括 C 语言的语法、程序基本结构、函数、指针、数组、数据结构、算法等程序设计所涉及到的知识。课程注重实用性、重在培养学员对代码分析的能力,掌握编码规范,掌握调试知识和分析程序错误的能力。同时学习内存检查工具和软件配置管理等知识。该课程中贯穿了一个开发“软件测试工程师管理系统”的项目,增加学员开发项目的经验。测试计划与软件缺陷本课程是软件测试重点课程。本课程主要介绍软件测试的基本概念和基础知识、如何编写测试计划、识别软件缺陷、编写缺陷报告等。通过学习,学员可以掌握软件测试的流程、软件测试的策略和分类,掌握缺陷的分类和优先级等,从而对测试有一个整体的认识。本课程中介绍了 Bugzilla 缺陷跟踪管理系统(测试工具)。总体来说,本课程将使学员掌握大部分软件测试相关的基础知识。高效设计测试用例本课程是软件测试重点课程。本课程主要通过引入的大量案例讲解如何编写测试用例。讲解设计测试用例的技术包括等价类划分、边界值分析、因果图方法、状态图方法、测试大纲等的方法以及正交排列表、测试矩阵等。测试特性包括:功能、性能、兼容性、易用性等。测试对象包括软件功能、 GUI 界面、文档测试、安装和卸载测试等。通过本课程,主要是培养学员设计测试用例的视角,在最短的时间内针对功能写出恰当的测试用例。本课程和《测试计划与软件缺陷》课程中贯穿了对“软件测试工程师管理系统”编写测试计划、测试设计和开发,实施测试及测试评估的项目,增加学员软件测试相关经验。白盒测试本课程主要讲解白盒测试技术。主要内容包括逻辑驱动复盖和基本路径复盖两个方面,在逻辑驱动复盖中主要介绍了语句复盖、判定复盖、条件复盖、判定 / 条件复盖、条件组合复盖、路径复盖和循环语句复盖;在基本路径复盖中介绍了绘制控制流图及程序复杂性相关概念,最后重点介绍了单元测试技术。通过学习,学员可以了解白盒测试的理论,组织方式,已经如何评估一个白盒测试的效果。本课程中介绍了Logiscope和 C++ Test 两个白盒测试工具。Linux 与网络应用环境本课程主要讲解搭建 Linux测试环境所应具备的知识。通过学习 Linux 的安装和配置、 Linux 常用命令、 Linux 下软件安装、卸载和使用、常见的 Linux 的服务(Apache 、 Mysql 、 Squid 、 Iptables 等)、 Linux软件开发环境等,让学员能够使用 Linux 实现一个提供常见服务的网络环境。本课程中在前期通过在 Linux 当中搭建 Bugzilla 缺陷跟踪管理系统来讲解 Linux 的使用和配置。WEB 技术与数据库本课程通过对数据库、 HTML 、 XML 、 HTTP 、 J2EE 、 .NET 等基础知识的讲解,让学员掌握这些技术,以便于建立分布式软件的测试环境。数据库是以 SQL Server 作为重点讲解,同时也介绍了 Oracle 和 MySQL 数据库。高效使用自动测试工具本课程主要介绍了国际测试工具占有率最高的 MI 的三大测试工具:功能测试工具 QuickTest Professional 、性能测试工具 LoadRunner 、测试管理工具TestDirector。学员掌握这些流行的测试工具,从而进一步提高测试的效率。软件测试实训本课程是最后一门课程,该课程主要是通过运用前面所学习的课程,指导学员完成一个项目的测试过程,从而巩固所学知识。在该课程中将完成分组分工、编写测试计划、写工作日志和开例会、设计测试用例、执行测试、填写和处理缺陷报告的过程。使用的项目通过三个版本来进行回归测试,通过分工与合作来完成测试工作,通过讲师和学员分别模拟测试组成员角色,锻炼学员实践的能力。该项目是一个百万行代码级别的类 Office 系统。职业导向训练职业导向训练,简称COT课程,即Career oriented Training,是对学员进行职业引导,包括就业指导和职前引导。通过就业指导以及就业专员、就业明星与学员的座谈会等日常辅助训练明确就业方向,进一步了解就业形式。详细介绍如何写简历,通过强化面试训练,以及模拟面试等方式,提升学员应对面试的能力,从而加强学员就业竞争力。华为软件测试工程师学习大纲一、软件测试的原理v 软件工程:软件的含义、软件开发过程的特性 、软件生命周期模型、软件管理过程软件质量和质量保证:软件质量就是客户的满意度 、质量的概念、软件质量的内涵、质量管理体系、SQA、SCM、SEPGv软件测试概念:软件危机、软件测试产生的背景,软件缺陷是什么、软件测试职业发展,软件测试人员应具备的素质和技能、软件测试基本概念、软件测试的目的、软件测试的重要性、软件测试的原则、软件开发与软件测试v软件测试依据和规范:软件质量标准、软件测试规范、界面规范、编码规范、CMM和ISO9001思想结构体系、CMM VS ISO二、软件测试的技术v软件测试技术概述:软件测试的基该方法,黑盒测试、白盒测试、静态测试、动态测试、测试策略v软件测试流程:软件测试流程、通用测试文档模板 、软件测试的分类、软件包的质量特性v 单元测试和集成测试:什么是单元测试、单元测试的目标和任务、单元测试方法、调试与评估、什么是集成测试、集成测试目标和任务、集成测试的模式与方法v 系统测试和验收测试:什么是系统测试,系统测试的目标和任务,系统测试方法,系统测试中工具的应用、什么是验收测试、验收测试的目标、验收测试的过程和主要内容、产品规格说明书的验证v 特定类型的软件测试:面向对象软件的测试、面向对象软件的特点、面向对象测试的层次与数据流、面向对象的单元测试、面向对象的集成测试 、基于应用服务器的测试、应用服务器的分类和特征、基于Web服务器应用的测试、基于数据库应用服务器的测试、基于J2EE平台的测试、软件本地化测试:什么是软件本地化、软件本地化的翻译问题、软件本地化测试的技术问题、本地化测试的重点三、软件测试的实践v测试环境的部署:测试环境的重要性、测试环境的各要素、建立测试实验室、测试环境的维护和管理v软件测试用例的设计:测试用例来源、测试需求提取、测试用例设计、白盒测试用例设计方法、逻辑复盖法/基本路径测试法 、黑盒测试用例设计方法、等价类划分法/边界值分析法/因果图法/错误推测法 /功能图法、测试用例的组织和跟踪、使用实际项目实践v 报告所发现的软件缺陷:软件缺陷的描述 、软件缺陷相关的信息、软件缺陷的处理和跟踪v软件测试和质量分析报告:软件产品的质量度量 、评估系统测试的复盖程度 、软件缺陷分析方法 、基于缺陷分析的产品质量评估 、软件质量的可靠性评估、软件可靠性模型、可靠性评估过程v软件测试自动化:测试自动化的内涵、测试工具的分类和选择、测试工具的主流产品介绍、IBM-Rational产品的整体解决方案、Mercury Interactive产品的整体解决方案,测试管理工具TD实操演示及指导、功能测试工具Robot实操演示及指导、脚本语言perl实操演示及指导、性能测试工具LRv 网络基础知识:协议概念、常见的网络协议及层次、TCP/IP协议、Arp协议等报文分析、常见的网元设备及工作原理、常用的网络操作相关命令、客户机服务器模型、抓包工具使用v 数据库简介及SQL语句:数据库系统概念、数据管理的发展阶段、数据库系统的特点、SQL概述、SQL数据定义功能、SQL数据查询功能、SQL数据修改功能、嵌入式SQLv Linux操作系统简介及常用命令:Linux系统介绍、Linux系统历史及发展、Linux系统特点、Linux系统安装与配置、Linux系统命令的使用方式、文件及目录操作命令、文件压缩命令、联机帮助命令、进程管理的命令四、软件测试管理v 组织和管理测试团队:基于ISO的测试管理体系构成、测试团队的地位和责任、测试团队的构成 、测试团队的管理和发展v软件测试项目管理:软件测试项目管理的概述、软件测试项目的组织 、软件测试项目的过程管理 、软件测试项目的资源管理 、测试项目的进度管理 、测试项目的风险管理 、测试项目的质量和配置管理、软件测试文档的管理v 理解CMM:KPA简介 、CMM的五个等级及关键过程域、CMM实例简介 、CMM的发展、CMMI2级详细讲解五、软件测试人员面临的机会和挑战v软件测试职位在IT行业的现状v软件测试职位到底是干什么?v软件测试行业的背景v软件测试人员需要具备的基本素质v软件测试工程师需掌握的技术技能大纲v软件测试人员后期的发展机会和挑战附录(基础技能版,本内容为华为公司指定培训内容):一、基础技能方面:Unix/Linux操作系统:⒈熟悉UNⅨ环境⒉掌握UNⅨ常用命令⒊了解并掌握Vi的一些常用命令⒋了解基本的shellInformix:⒈熟悉并掌握informix常用命令⒉掌握SQL相关的一些知识Oracle:⒈掌握Oracle的基本操作⒉掌握在unix/Linux系统下安装Oracle数据库二、网络基础知识⒈熟悉TCP/IP、HTTP、UDP协议⒉掌握常用的网络命令⒊抓包工具的熟悉与学习三、测试理论⒈软件及其开发过程⒉软件测试的基本概念与方法⒊质量保证与策略⒋测试依据与规范⒌单元测试⒍集成测试与系统测试⒎验收测试⒏基于应用服务器的测试⒐测试计划的制定、用例的设计与执行、缺陷的跟踪四、模拟项目练习⒈理解需求,设计测试用例、测试用例评审⒉测试执行⒊提单规范有关模拟项目的需求、用例模板、测试版本。
万方数据期刊论文
技术与市场
万方数据期刊论文
万方数据期刊论文
&|&相关影像
互动百科的词条(含所附图片)系由网友上传,如果涉嫌侵权,请与客服联系,我们将按照法律之相关规定及时进行处理。未经许可,禁止商业网站等复制、抓取本站内容;合理使用者,请注明来源于www.baike.com。
登录后使用互动百科的服务,将会得到个性化的提示和帮助,还有机会和专业认证智愿者沟通。
此词条还可添加&
编辑次数:39次
参与编辑人数:16位
最近更新时间: 21:34:24
贡献光荣榜
扫码下载APP<div cl=cl
您当前的位置: &
&软件测试是干什么的 有哪些工作内容
您可能感兴趣的学校
相关行业新闻
软件测试是干什么的 有哪些工作内容
学习软件测试是如今许多人选择的一种职业,但是软件测试是干什么的呢?相信这个问题对于很多人都是不了解的,据介绍软件测试是使用人工或是自动的手段来对某个系统运行或测试,这样的一个过程就是软件测试工作者的任务,主要是测试软件开发工程师开发的软件是否能满足所规定的需求,具体工作可从以下几个方面了解:
第一,通过测试发现软件中的缺陷或不足
软件测试是干什么的呢?通过测试发现软件中存在的不足是其中一个内容,测试软件的技术分为两种,一是黑盒测试,二是白盒测试。之后通过黑盒和白盒进行不同类型的测试比如有类弄分法、因果图法以及白盒测试中的分支覆盖等等,通过这些不同的测试可以发现软件中存在的不足,以让软件开发工程师再次进行完善。
第二,软件测试需要把发现的的问题整理成报告
软件测试的工作还包括把发现的问题整理成报告上交,提交缘分开发工程师,当得到确认后再对软件进行修复。对于软件测试是干什么的问题,大家还需要了解,测试人员在整理报告的时候应使用专业的术语,同时要具备很好的文字表达能力以及较强的语言组织能力,也只有这样才能把发现的缺点或不足详细、清楚的表达出来,让开发人员更好的对软件进行修复。
第三,测试人员需要分析软件的质量是
软件测试是干什么的呢?包括哪些工作内容呢?除了要测试软件的不足,还要分析软件质量的好坏,需要根据测试的结果来分析,计算出软件的缺陷率和缺陷分布的情况,以及提出对软件修复的趋势等。测试工程师需要给出软件各种质量特性的具体度量,比如功能性、可靠性以及易用性等,并得出结论提交给软件开发工程师。
软件测试是干什么的?除了以上介绍的测试软件应做的工作以外,测试人员应最先做好测试计划,还要了解测试中的风险等。温州图播零表示,如今的测试人员就业机会不断增多,而且薪水也越来越高,甚至与软件开发工程师相提并论,不过,提醒想要学习软件测试的人士,一定要找专业的培训机构学习。
更多精彩内容浏览:、、
温馨提示:
1、未经教头网明确许可,任何网站不得非法盗链及抄袭本站资源;如您引用教头网页面或资源,请注明来源于教头网,谢谢合作!
2、如果您也从事教育,并希望被教头网报道,请发邮件到
告诉我们。软件测试工程师工资待遇及月薪是多少?具体干什么工作?_高三网当前位置: >> 正文软件测试工程师工资待遇及月薪是多少文/李慧  现在是大学毕业季,很多大学生都在忙着找工作。但还有很多同学不知道软件测试工程师是做什么工作?工资待遇及月薪是多少?下面高三网小编就详细说一下,希望能够帮助广大同学。1软件测试工程师职业介绍  软件测试工程师指理解产品的功能要求,并对其进行测试,检查软件有没有错误,测试软件是否具有稳定性,写出相应的测试规范和测试用例的专门工作人员。简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时发现软件问题并及时督促更正,确保产品的正常运作。1软件测试工程师具体做什么  ①修改测试案例;  ②用自动测试工具进行测试,尽早找到软件缺陷,并确保其得以关闭;  ③项目可行性、可靠性分析,风险分析;  ④制定测试计划;  ⑤测试自动化开发。1软件测试工程师岗位薪资  薪资:¥/月  作为软件测试工程师,有一定的测试经验是很重要和必要的,同时要时刻关心市场上时时涌现出来的软件产品,还要经常通过书籍、论坛等多了解别人的测试经验。1软件测试工程师任职条件  ①电子、电机、网络、计算机等相关专业毕业,有一定的编程知识,有穷追到底的精神;  ②掌握软件测试的基本原理、方法和组织管理,精通软件测试工具。获取ATA软件测试工程师或elphi初级程序员或Java初级程序员认证;  ③一年以上相关工作经验,具有一定的编程经验,懂测试软件的操作,善于发现问题的症结,同时具有一定的写作能力以书写软件缺陷报告;  ④责任心强,力求完美,具有团队精神,善于沟通,具有一定的逆向思维能力,热爱学习,善于利用书籍、网站等途径不断提高自己。1软件测试工程师职业特点  随着IT行业的发展,产品的质量控制与质量管理正逐渐成为企业生存与发展的核心,人们把注意力放在过程设计和测试上,以提高产品质量。目前从事软件测试的工程师的数量远远不能满足企业的需求,软件测试工程师的招聘已经成为IT招聘的一个新亮点。月薪从一千到四五千不等,依个人经验和所在的公司、具体的工作而定。1软件测试工程师发展空间  1、测试分析师:  主要职责是对系统的测试结果进行综合的分析,例如缺陷分析、性能分析等。测试分析师不但测试技术能力较强,还要具备数据库、操作系统等多方面的技术知识。这类职务的发展空间也不错,可以发展成系统设计师等。?  2、测试工程师:  主要职责是编写测试程序、执行自动化测试任务。这类职位的测试人员至少要达到初级程序员的能力,因为经常和程序打交道。发展空间也不错,例如可以发展为程序员。1软件测试工程师匹配专业  产品质量工程、计算机科学与技术、软件工程、环境科学与工程、信息与计算科学、金融工程、环境科学。培养目标:培养具备机电工程和质量工程的基础知识与应用能力,能对产品质量尤其是对机械、电子电器产品质量进行分析、策划、评价、设计与创新,提高企业竞争能力,保护消费者权益,促进社会经济发展的质量工程高级专门人才。主要课程:机械设计与制造基础、电路与电子技术、质量工程导论、互换性与测量基础、质量统计技术(双语)、标准化与计量管理、检测技术、误差理论与数据处理、抽样与检验(双语)、机械产品质检技术、质量分析与改进等。就业方向:可从事机械、电子领域从事质量设计、质量检测、质量数据统计分析、质量改进等方面工作。专业类别毕业五年平均薪资工作地点男女比例计算机类¥6839薪酬超过56%的专业北京市20%在北京市工作男生较多男73%-女27%培养目标:本专业培养具有良好的科学素养,系统地、较好地掌握计算机科学与技术包括计算机硬件、软件与应用的基本理论、基本知识和基本技能与方法的高级专门科学技术人才。主要课程:电路原理、模拟电子技术、数字逻辑、数字分析、计算机原理、微型计算机技术、计算机系统结构、计算机网络、高级语言、汇编语言、数据结构、操作系统等。就业方向:计算机科学与技术类专业毕业生的职业发展路线基本上有两条路线:第一类路线,纯技术路线。第二类路线,由技术转型为管理。这种转型尤为常见于计算机行业,比方说编写程序,是一项脑力劳动强度非常大的工作。就业要求即计算机科学与技术类专业大学生应该储备的知识。  以上软件测试工程师工资待遇及月薪是多少?具体干什么工作?由高三网收集整理,更多关于其他职业详细介绍请查看高三网大学专业。推荐阅读日日日日日日日日日日日日日日点击查看更多内容软件测试工程师应该具备哪些素质?
软件测试工程师应该具备哪些素质?
来源:网络
开发一个好的软件,40%以上的时间用在测试上,所以软件测试工程师非常重要,用我们的话来说很吃香。现在从事程序员的人有很多,做测试工程师的人少点,工作压力不太大
测试工程师应该具备的三项基本素质[1] 很多年轻或者刚刚从事测试工作的工程师,经常会问:“测试工程师需要什么技能或者具有什么素质才是合格的?”与开发人员相比,测试人员不但需要一技之长,还需要掌握诸如操作系统、数据库、网络等多方面的知识。
经过这几年的发展,国内IT公司的测试水平有了很大的提高,但是与此同时,很多测试工程师也迎来了个人的发展瓶颈:很多人从测试工程师做到了测试经理的职位,不知道下一步如何发展;或者每天机械地从事着功能测试工作。
根据作者多年的经验,一个有竞争力的测试人员要具有下面三个方面的素质:
计算机专业技能
计算机领域的专业技能是测试工程师应该必备的一项素质,是做好测试工作的前提条件。尽管没有任何IT背景的人也可以从事测试工作,但是一名要想获得更大发展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。计算机专业技能主要包含三个方面:
测试专业技能
现在软件测试已经成为一个很有潜力的专业。要想成为一名优秀的测试工程师,首先应该具有扎实的专业基础,这也是本书的编写目的之一。因此,测试工程师应该努力学习测试专业知识,告别简单的“点击”之类的测试工作,让测试工作以自己的专业知识为依托。
测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。
软件编程技能
“测试人员是否需要编程?”可以说是测试人员最常提出的问题之一。实际上,由于在我国开发人员待遇普遍高于测试人员,因此能写代码的几乎都去做开发了,而很多人则是因为做不了开发或者不能从事其它工作才“被迫”从事测试工作。最终的结果则是很多测试人员只能从事相对简单的功能测试,能力强一点的则可以借助测试工具进行简单的自动化测试(主要录制、修改、回放测试脚本)。
软件编程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都拥有多年的开发经验。因此,测试人员要想得到较好的职业发展,必须能够编写程序。只有能给编写程序,才可以胜任诸如单元测试、集成测试、性能测试等难度较大的测试工作。
此外,对软件测试人员的编程技能要求也有别于开发人员:测试人员编写的程序应着眼于运行正确,同时兼顾高效率,尤其体现在与性能测试相关的测试代码编写上。因此测试人员要具备一定的算法设计能力。依据作者的经验,测试工程师至少应该掌握Java、C#、C++之类的一门语言以及相应的开发工具。
网络、操作系统、数据库、中间件等知识:
与开发人员相比,测试人员掌握的知识具有“博而不精”的特点,“艺多不压身”是个非常形象的比喻。由于测试中经常需要配置、调试各种测试环境,而且在性能测试中还要对各种系统平台进行分析与调优,因此测试人员需要掌握更多网络、操作系统、数据库等知识。
在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络环境的配置,这些都是测试工作中经常遇到的知识。
操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于Unix、linux来运行的,这就要求测试人员掌握基本的操作命令以及相关的工具软件。而WebLogic、Websphere等中间件的安装、配置很多时候也需要掌握一些。
数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置,还要掌握SQL。测试人员至少应该掌握Mysql、MS
Sqlserver、Oracle等常见数据库的使用。
作为一名测试人员,尽管不能精通所有的知识,但要想做好测试工作,应该尽可能地去学习更多的与测试工作相关的知识
软件测试工程师-IT就业新亮点
根据有关职位统计资料显示,在国外大多数软件公司,1个软件开发工程师就需要辅有2个软件测试工程师。目前,软件测试自动化技术在我国则刚刚被少数业内专家所认知,而这方面的专业技术人员在国内更是凤毛麟角。根据对近期网络招聘IT人才情况的了解,许多正在招聘软件测试工程师的企业很少能够在招聘会上顺利招到合适的人才。
随着中国IT行业的发展,产品的质量控制与质量管理正逐渐成为企业生存与发展的核心。从软件、硬件到系统集成,几乎每个中大型IT企业的产品在发布前都需要大量的质量控制、测试和文档工作,而这些工作必须依靠拥有娴熟技术的专业软件人才来完成。而软件测试工程师就是其中之一。
据了解,由于软件测试工程师处于重要岗位,所以必须具有电子、电机类相关专业知识背景,并且还应有两年以上的实际操作经验。他们应熟悉中国和国际软件测试标准,熟练掌握和操作国际流行的系列软件测试工具,能够承担比较复杂的软件分析、测试、品质管理等任务,并能独立担任测试、品质管理部门的负责人。一般情况,软件测试工程师可分为测试工程师、高级测试工程师和资深测试工程师三个等级。
在具体工作过程中,测试工程师的工作是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。对软件测试工程师而言,必须具有高度的工作责任心和自信心。任何严格的测试必须是一种实事求是的测试,因为它关系到一个产品的质量问题,而测试工程师则是产品出货前的把关人,所以,没有专业的技术水准是无法胜任这项工作的。同时,由于测试工作一般由多个测试工程师共同完成,并且测试部门一般要与其他部门的人员进行较多的沟通,所以要求测试工程师不但要有较强的技术能力而且要有较强的沟通能力。
因此,在企业内部,软件测试工程师基本处于“双高”地位,即地位高、待遇高,有的人月薪可高达8000元。可以说他们的职业前景非常广阔,从近期的企业人才需求和薪金水平来看,软件测试工程师的年工资有逐年上升的明显迹象。测试工程师这个职位必将成为IT就业的新亮点。
火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。

我要回帖

更多关于 学软件测试工程师 的文章

 

随机推荐