常用软件测试工具
-
测试管理工具有
td
,
qc
,
jira
,
bugzilla
等。
惠普
-
水星公司的
Q
TP
,
loadrunner,QC
这
三大自动化测试工具你能全部掌握,基本上就笑傲
群雄了
白盒测试,
还是黑盒测试?你有开发
基础做白合测试应该比较好,
我是做黑盒的,
说实话技
术含量不大。
测试也分几种,功能测试,性能
测试等。测试工具种类非常多,掌握
QTP
,
< br>WINrunner,CQ,Loadrunner
等其中一种就可以了,再随便
掌握一款缺陷管理工具,像
TD
阿,
b
ugzilla
阿,
mantis
等等
,用法都差不多的,各个公司用的工具也都不一样,能适应公
司用的工具就可以了。
p>
如果你去的公司有正规的测试团队,
跟着
项目走很快就能学会的,
如果是单人测试的,
那你
就惨了,像我一样,进来很简单,但是学不到什么东西。
< br>做测试的写测试用例是基本功,等价类划分一定要掌握好,最好能很熟悉业务相关事项。
< br>
良好的沟通能力和吃苦耐劳的精神。
这条是见鬼的,
就是告诉你要能加班。
。
。
和开发的关系要搞好,不要提交了
bug
之后别个不理你。
五类测试工具
1.
负载压力测试工具
p>
这类测试工具的主要目的是度量应用系统的可扩展性和性能,
是一种
预测系统行为和性能
的自动化测试工具。
在实施并发负载过程中,
通过实时性能监测来确认和查找问题,
并针对
所
发现问题对系统性能进
行优化,确保应用的成功部署。负载压力测试工具能够对整个企
业架构
< br>
进行测试,通过这些测试,企业能最大限度地缩短测试时间,优化性能和加速应
用
系统的发布
周期。
2.
功能测试工具
p>
通过自动录制、
检测和回放用户的应用操作,
将被测系统的输出记录同预先给定的标准结
果比较,
功能测试工具能够有效地帮助测试人员对复杂的企业级应用的不同发布版本的功能
进
行测试,提高测试人员的工作效率和质量。其主
要目的是检测应用程序是否能够达到预
期的功
能并正常运行。
3.
白盒测试工具
p>
白盒测试工具一般是针对代码进行测试,
测试中发现的缺陷可以定位
到代码级。
根据测试
工具原理的不同,
又可以分为静态测试工具和动态测试工具。
静态测试工具直接对代码进行
分析,
不需要运行代码,
也不需要对代码编译链接和生
成可执行文件。
静态测试工具一般是
对代码进行语法扫描,
p>
找出不符合编码规范的地方,
根据某种质量模型评价代码的质量,<
/p>
生
成系统的调用关系图等。动态测试工具一般采用
“
插桩
”
的方式,在代码生成
的可执行文件中
插入一些监测代码,
用来统计程序运行时的数据
。
它与静态测试工具最大的不同是,
动态测
试工具要
求被测系统实际运行。
4.
测试管理工具
p>
一般而言,测试管理工具对测试需求、测试计划、测试用例、测试实施进行管理,并且测
p>
试管理工具还包括对缺陷的跟踪管理。测试管理工具能让测试人员
、开发人员或其他的
IT
人员
通过一个中央数据仓库,在不同地方就能交互信息。
5.
测试辅助工具
p>
这些工具本身并不执行测试,例如它们可以生成测试数据,为测试提供数据准备。
IT
测试工具集锦
Radview
TestView
系列
Rad
view
公司的
TestView
系列
Web
性能测试工具和
WebLoad
Analyzer
性能分析工具,
旨在测
试
Web
应用和
< br>Web
服务的功能、性能、程序漏洞、兼容性、稳定性和抗攻击性,
并且能够在测试
的同时分析问题原因和定位故障点。
整套<
/p>
Web
性能测试和分析工具包含两个相对独立的子系统:
Web
性能测试子系统
Web
< br>性能分析子系统。其中
Web
性能测试子系统包含
3
个模块:
TestView Manage
r
、
WebFT
以及
< br>WebLoad
。
Web
p>
性能分析子系统只有
WebLoad
Analyzer
。
左图表达了在一个完整的测试系统中,
TestView Ma
nager
用来定制、
管理各种测试活动;
WebLoad
模拟多个用户行为进行测试,所测试的是
系统性能,容量,稳定性和抗攻击性;
WebFT
模仿单一用
户行为进行测试,所测试的是系统功能,漏洞,兼容性和稳定性;
WebLoad Analyzer
对
Web
服务、中间件和数据库进行监控和分析,找出问题原因和故障
点。
IBM Rational ClearQuest
IBM Rational ClearQuest
p>
提供基于活动的变更和缺陷跟踪。以灵活的工作流
管理所有类型的变
更要求,包括缺陷、改进、问题和文档变更。能够方便地定制
缺陷和变更请求的字段、<
/p>
流程、
用户界面、
查询、
图表和报告。
拥有“设计一次,
到处部署”的能力,<
/p>
从而可以自动改
变任何客户端界面
p>
(
Windows
、
Linux
、
UNIX
和
Web
)。可与
IBM WebSphere
Studio
、
Eclipse
和
Microsoft .NET IDE
进行
紧密集成,
从而可以即时访问变更信息。
支持统一变更管理,
以提供经过验证的
变更管理过程
支持。
易于扩展,
因此无论开发项目的团队规模、
地点和平台如
何,
均可提供良好支持。
软件测
试工程师作为软件质量的把关者,
其职能在于保证交付到客户手中的软件可靠
好用,运行畅通无阻。从产品定义到产品开发再到产品维护,都离不了软件测试。
< br>
按其级别和职位的不同,可分为三类,即
高级软
件测试工程师,熟练掌握软件测试与开发技术,且对所测试软件对口行业
非常了解,能够
对可能出现的问题进行分析评估;
中级软件测试工程师,编写软件测试方案、测试文档,与项目
组一起制定软件测
试阶段的工作计划,能够在项目运行中合理利用测试工具完成测试任务
;
<
/p>
初级软件测试工程师,
其工作通常都是按照软件测试方案和流程对
产品进行功能
测验,检察产品是否有缺陷
[1]
。
[
编辑本段
]
工作职责
软件测试就是使用人工或自动手段,来运行或测试某个系统的过程。其目的在于
检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。
开发
工作的根本
是尽量实现软件用户的需求,
测试工作的根本是检验
软件系统是否满足软件用户的需
求。
软件测试工程师简单的说是软件开
发过程中的质量检测者和保障者,
负责软件质
量的把关工作。软
件测试工程师具体工作有:
1
、使用各种测试技术和方法来测
试和发现软件中存在的软件缺陷。测试技术主
要分为
黑盒测试<
/p>
和
白盒测试
两大类。其中黑盒测试技术主
要有等价类划分法、边界值
法、因果图法、状态图法、测试大纲法以及各类典型的软件故
障模型等;白盒测试的
主要技术有语句覆盖、分支覆盖、判定覆盖、基本路径覆盖等;<
/p>
2
、测试工作需要贯穿整个软件开发生命周期。完整的软件测
试工作包括单元测
试、集成测试、确认测试和系统测试工作。单元测试工作主要在编码阶
段完成,由开
发人员和软件测试工程师共同完成,其主要依据是详细测试。集成测试的主
要工作测
试软件模块之间的接口是否正确实现,基本依据是软件体系结构设计。确认测试
和系
统测试是在软件开发完成后,验证软件的功能与需求的一致性、验证软件在相应的硬
件条件下的系统功能是否满足用户需求,其主要依据是用户需求。
3
、测试人员将发现的缺陷编写成正式的缺陷报告,提交给开发人员进行缺陷的
确认和修复。缺陷报告编写最主要的要求是保证缺陷的重现。要求测试人员具有很好
的文字表达能力和语言组织能力。
4
、测
试人员需要分析软件质量。在测试完成后,测试人员需要根据测试结果来
分析软件质量,
包括缺陷率、缺陷分布、缺陷修复趋势等。给出软件各种质量特性包
括有功能性、可靠性
、易用性、安全性、时间与资源特性等的具体度量。最后给出一
个软件是否可以发布或提
交用户使用的结论。
5
、测试过程中,为了更好地组织
与实施测试工作,测试负责人需要制定测试计
划,包括有测试资源、测试进度、测试策略
、测试方法、测试工具、测试风险等。
6
、测
试人员为了更好更有效地进行测试,保证测试工作质量,需要在执行测试
工作之前首先需
要设计测试用例,形成测试用例报告。设计测试用例是保证测试质量
的核心工作,
很多测试技术都可以用来指导设计用例。
为了提高测试用例的设计效率
,
BTEST
培训课程专门开设了高效设计测试用例一门课来讲
授各种设计用例的技术与
方法。
7
、为
了提高工作效率或提高测试水平,测试工作需要引进自动化测试工具,测
试人员需要学会
使用自动化测试工具,编写测试脚本,进行性能测试等。
8
、测
试负责人在测试工作中,还需要根据实际情况不断改进测试过程,提高测
试水平,进行测
试队伍的建设等。
[
编辑本段
]
职业发展
测试组长
这类测试人员通常是测试项目的负责人,
既要具备较高的测试技术能力,
还要具备一定的管理能力。主要职责是制定测
试计划、编写测试计划、监控和管理整
个测试过程。测试组长可以向上发展为测试部经理
、质量经理,也可以横向发展为项
目经理,而且通常待遇相对较高些。
< br>
测试分析师
主要职责是对系统的测试结果进行
综合的分析,例如缺陷分析、性能分析等。测
试分析师不但测试技术能力较强,还要具备
数据库、操作系统等多方面的技术知识。
这类职务的发展空间也不错,可以发展成系统设
计师等。
自动化测试工程师、测试开发工程师
主要职
责是编写测试程序、执行自动化测试任务。这类职位的测试人员至少要达
到初级程序员的
能力,因为经常和程序打交道。发展空间也不错,例如可以发展为程
序员。
[
编辑本段
]
职业素质
计算机专业技能
计算机领域的专业技能是测试工程
师应该必备的一项素质,
是做好测试工作的前
提条件。尽管没有
任何
IT
背景的人也可以从事测试工作,但是一名要想获得更大
发
展空间或者持久竞争力的测试工程师,则计算机专业技能是必不可少的。计算机专业<
/p>
技能主要包含三个方面:
1.
测试专业技能
测试专业知识很多,本书内容主要
以测试人员应该掌握的基础专业技能为主。测
试专业技能涉及的范围很广:既包括黑盒测
试、白盒测试、测试用例设计等基础测试
技术,也包括
单元测试
、
功能测试
、
集成测试
、
系统测试
、
性能测试
等测试方法,还
包括基础的测试流程管理、缺
陷管理、自动化测试技术等知识。
2.
软件编程技能
“
软件编
程技能实际应该是测试人员的必备技能之一,在微软,很多测试人员都
拥有多年的开发经
验。
因此,
测试人员要想得到较好的职业发展,
必须能够编写程序。
只有能给编写程序,才可以胜任诸如单元测试、集成测试、
性能测试等难度较大的测
试工作。
此外,对软件测试人员的编程技能
要求也有别于开发人员:测试人员编写的程序
应着眼于运行正确,
同时兼顾高效率,
尤其体现在与性能测试相关的测试代码编写上。
因此测试人员要具备一定的算法设计能力。依据资深测试工程师的经验,测试工程师
至少应该掌握
Java
、
C#
、
C++
之类的一门语言以及相应的开发工具。
3.
网络、操作系统、数据库、中间件等知识
与开发
人员相比,测试人员掌握的知识具有
“
博而不精
”
的特点,
“
艺多不压身
p>
”
是
个非常形象的比喻。由于测试中经常需
要配置、调试各种测试环境,而且在性能测试
中还要对各种系统平台进行分析与调优,<
/p>
因此测试人员需要掌握更多网络、
操作系统、
数据库等知识。
在网络方面,测试人员应该掌握基本的网络协议以及网络工作
原理,尤其要掌握
一些网络环境的配置,这些都是测试工作中经常遇到的知识。
操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用
系统都是基于
Unix
、
linux
来运行的,这就要求测试人员掌握基本的操作命令以及相
关的工
具软件。而
WebLogic
、
Web
sphere
等中间件的安装、配置很多时候也需要掌
握一些。
p>
数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但
要掌握基本的安装、配置,还要掌握
SQL
。测试人
员至少应该掌握
Mysql
、
MS <
/p>
Sql
server
、
< br>Oracle
等常见数据库的使用。
行业知识
行业主要指测试人员所在企业涉及的行业领域,例如很多
p>
IT
企业从事石油、电
信、银行、电子政务
、电子商务等行业领域的产品开发。行业知识即业务知识,是测
试人员做好测试工作的又
一个前提条件,只有深入地了解了产品的业务流程,才可以
判断出开发人员实现的产品功
能是否正确。
很多时候,软件运行起来没有异常,但是功能不一定正确。只
有掌握了相关的行
业知识,才可以判断出用户的业务需求是否得到了实现。
行业知识与工作经验有一定关系,通过时间即可以完成积累。
个人素养
作为一名优秀的测试工程师,首先要对测试工作有兴趣:测试
工作很多时候都是
显得有些枯燥的,因此热爱测试工作,才更容易做好测试工作。因此,
除了具有前面
的专业技能和行业知识外,
测试人员应该具有一些
基本的个人素养,
即下面的
“
五心
p>
”
。
1.
专心
:
主要指测试人员在执行测试任务的时候要专心,不可一心二用。经验表
明,高度集中精神不但能够提高效率,还能发现更多的软件缺陷,业绩最棒的往往是
团队中做事精力最集中的那些成员。
2.
细心
:
主要指执行测试工作时候要细心,
认真执行测试,
不可以忽略一些细节。
某些缺陷如果不细心很难发现,例如一些界面的样式
、文字等。
3.
耐心:
很多测试工作有时候显得非常枯燥,需要很大的耐心才可以做好。如果
比较浮躁,就不会
做到
“
专心
”
和
“
细心
”
,
这将让很多软件缺陷从你眼前逃过。
4.
责任
心:
责任心是做好工作必备的素质之一,
测试工程师更应该将其
发扬光大。
如果测试中没有尽到责任,甚至敷衍了事,这将会把测试工作交给用户来完成
,很可
能引起非常严重的后果。
5.
自信
心:
自信心是现在多数测试工程师都缺少的一项素质,尤其在面对需要编
写测试代码等工作的时候,往往认为自己做不到。要想获得更好的职业发展,测试工
程师们应该努力学习,建立能
“
解决一切测试问题
”
的信心。
“
五心<
/p>
”
只是做好测试工作的基本要求,测试人员应该具有的素质还很多
。例如测
试人员不但要具有团队合作精神,而且应该学会宽容待人,学会去理解
“
开发人员
”
,
同时要尊重开发人员的劳动成果
——
开发出来
的产品。
[
编辑本段
]
外包软件测试工程师
外包软件测试工程师主要承接外包软件测试工作,
外包软件测试就是指软件企业
将软件项目中的全部或部分测试工作,交给提
供软件外包测试服务的公司,由他们为
软件进行专门的测试。这样做的好处有两个:一方
面软件企业可以更好地专注核心竞
争力业务,同时降低软件项目成本;另一方面,由第三
方专业的测试公司进行测试,
无论在技术上还是管理上,对提高软件测试的有效性都具有
重要意义。
外包软件测试行业前景非常看好,发展空间很大。
IDG
的数据显示,最近几年,
中国的软件外包产
业年均增长率为
36.5%
,正处于快速发展的阶段,
2008
年预计已
达到
16.9
亿美元的市场规模。目前韩日、欧美国家的软件企业纷纷关注中国市场,
而作为软件外包强国的印度,在其国内处于前几位的软件外包服务商也准备来
< br>“
分一
杯羹
”
< br>。从目前市场来看,选择将部分软件测试工作进行外包的公司主要是微软、
IB<
/p>
M
等国际软件旗舰企业,他们利用第三方专业软件测试公司,在产
品发布前对软件进
行一系列的集成测试和系统测试,即保证了测试工作的全面性,又节省
了人力、物力
的开销。最重要的是,测试结果往往好于这些软件企业最初的预期,效果非
常令人满
意。软件企业和提供软件外包测试服务的公司进行合作,只要达成双赢,两方皆
大欢
喜,这样的合作就会越来越多,项目也会越做越大。
主要业务类型
·
本地化软件测试
·
国际化软件测试
主要测试的范围
·
本地化语言质量测试
·
国际化软件的功能和性能测试
测试工作主要方式
·
公司内部(
In
house
)执行的测试
·
派驻客户开发中心的现场测试(
On
site
)。
[
编辑本段
]
《软件测试工程师指南》
作者简介
:
Timur
赵
,Nortel
p>
高级测试主管
,
浙大博士
< br>;
当你生活于网络时代,只要原地不动就很容易落伍了。
没有经
验,
不知如何跻身于测试工程师的行列?以下几个基本方向能使你从新手
成为软件测试的行家里手。
软件工业是自动化工业的一部分。
而且是最活跃发展最迅速的一个方面。到底有
多迅速?任何人的想像力都不够!正如我们
不会把我们的事务托付给不可靠的经纪,
任何有分量的公司都不会采用没有质量保障的软
件。软件测试人员,我是说有水平有
经验的软件测试人员永远是供不应求的。
软件
测试经理
不得不花很多的时间去面试有
潜力的应聘者。一些应聘者在软件方面或者软件测试方面毫无实际经验,明知道软件
测试工作是一个高回报的和最合适的软件工业入门,就是无法抓住一个又一个机会。
这些人真正需要的是一个指南能告诉他们如何成为一个软件测试工程师。
首先,进入软件测试需要哪些技能?
1
、软件工程技能
< br>你必须了解软件软件工程
(
设计、开发和简单测试
)
,应用,系
统,自动测试编程,及操作系统
,数据库,网络系统和协议的设计和使用。
2、
交流技巧
如果想确定软件缺陷,
你应当能够指出什么时候的缺陷算是缺陷。
3、组织技能
如果你在别人都头脑发
昏的时候保持清醒,你就可能是一个好的
软件测试工程师。在网络时代软件测试是一项有
压力的复杂性工作,但如果你能从这
些纷繁中找到一种途径,它就是一项回报丰厚的事业
。