• 0
  • 0
分享

一、测试工程师:

1、国内定位和发展前景:

测试工程师,软件质量的把关者,工作起点高,发展空间大。我国的软件测试职业还处于一个发展的阶段,所以测试工程师具有较大发展前景。 目前传统的软件行业还是以软件测试工程师为主,但是在新兴的互联网行业大多还是以QA来命名这个职位,也就是质量保证。

2、工作职责:

①编写测试计划、规划详细的测试方案、编写测试用力

②根据测试计划搭建和维护测试环境;

③执行测试工作,提交测试报告。包括编写用于测试的自动测试脚本,完整地记录测试结果,编写完整的测试报告等相关的技术文档;

④对测试中发现的问题进行详细分析和准确定位,与开发人员讨论缺陷解决方案。

⑤提出对产品的进一步改进的建议,并评估改进方案是否合理;对测试结果进行总结与统计分析,对测试进行跟踪,并提出反馈意见。

⑥ 为业务部门提供相应技术支持,确保软件质量指标。

3、职业特点:

开始工作即进入大、中型软件企业,后期转行也容易。

4、职业待遇:

软件质量的把关者,人才凤毛麟角,薪酬上升空间非常大。 质量是企业的生命线,测试工程师作为软件质量的把关者,因为职位的重要而有较高的待遇就顺理成章了。

另外“物以稀为贵” 的市场规律也使得当前极为紧俏的测试工程师“钱景看好”。 并且我国的软件测试职业还处于一个发展的阶段,随着软件行业对产品质量重视程度的提高,受过系统培训、掌握先进测试技术的软件测试从业人员的薪酬上升空间大。从企业人才需求和薪金水平来看,软件测试工程师的年工资还有逐年上升的明显趋势。

一些比较经典的意见: 软件测试工程师必须了解行业规范,企业规范,了解客户需求、业务流程,才能做从容的测试发现问题。

二、软件测试工程师:

1、定义和职责:

软件测试工程师(Software Testing Engineer)指理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),测试软件是否具有稳定性(Robustness),写出相应的测试规范和测试用例的专门工作人员。

简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时发现软件问题并及时督促更正,确保产品的正常运作。按其级别和职位的不同,分为三类。

2、分类:

按其级别和职位的不同,可分为三类:

①高级软件测试工程师:熟练掌握软件测试与开发技术,且对所测试软件对口行业非常了解,能够对可能出现的问题进行分析评估

②中级软件测试工程师:编写软件测试方案、测试文档,与项目组一起制定软件测试阶段的工作计划,能够在项目运行中合理利用测试工具完成测试任务;

③初级软件测试工程师:其工作通常都是按照软件测试方案和流程对产品进行功能测验,检查产品是否有缺陷。

3、提高测试质量的要诀:

另外一个值得注意的方面就是工作效率和质量,或许高级测试工程师与普通测试工程师的主要区别在于高级测试工程师可以更快地发现更多软件中的严重错误。对此,有什么可以借鉴的诀窍吗?请尝试以下方法,保证不会使您失望。 首先测试程序的核心功能,然后测试辅助功能。 首先测试功能。然后测试性能。首先测试常见情况,然后测试异常情况。首先测试经过变更的部分,然后测试没有变更的部分。首先测试影响大的问题,然后测试影响小的问题。首先测试必须测试的部分,然后测试可选或没有要求测试的部分。

4、服务员:

第三方测评强调的一点是,无论你是多么高级的测试工程师,都要明白无论测试需要的工具多么复杂,测试步骤多么冗长,测试工程师在软件项目开发中始终都是扮演服务员的角色,这是由测试工作的特点决定的。

任何服务都有被服务对象—客户,测试工程师的服务对象有哪些呢?最重要的客户是软件的用户,测试工程师需要站在客户的使用和需求角度测试软件,报告问题。项目经理也是客户。测试工程师需要报告测试工作进度和发现的问题,尤其是严重的问题。 程序员是最经常打交道的客户。为了便于程序员重复报告的错误,尽量提供良好的软件问题报告,以便程序员可以更快的修复软件错误。 技术文档工程师、市场开发人员和技术支持工程师也都是测试工程师的服务对象。

5、避免错误:

前文已经指出测试工程师应该明确角色,明确任务和责任。知道哪些是自己分内的事,哪些是不属于自己的事。一定要尽最大努力完成分内的事,不要做不属于自己的事情,以免弄巧成拙。为了更好的扮演软件测试工程师的角色,尽量避免犯下面的错误:

①承诺完成测试的软件没有质量问题软件测试只是保证质量的一种方法,软件测试工程师的工作不会直接提高软件质量,因为绝大多数软件错误都需要程序员修复。

软件测试只能证明软件存在错误,不能保证软件没有错误,不可能找出全部软件错误。个人的能力和对质量的影响范围很小,软件质量的提高要靠软件项目团队全体成员的共同努力。

②承担软件的发布权利 不要因为软件中存在还没有修复的错误,而试图提出更改软件发布的计划。也不要认为已经完成了测试计划,自己决定可以发布软件。因为,改变软件发布计划可能要失去进入市场的良机和很多客户,对此造成的经济和公司市场的损失将不是测试工程师能够承担的。另外,软件发布后,如果用户发现了新的软件错误,公司领导或项目经理可能将过错加在软件测试人员的头上,因为他们同意发布软件。通常软件发布的权利由产品经理、项目经理、测试经理、市场经理共同集体讨论决定。

③扮演过程改进成员的角色 软件测试工程师必须报告错误,有时也要分析错误的类型、特征和产生错误的原因。但是,不要主动提出改进软件过程的具体改进措施,更不要直接干涉程序员的工作方式,以免出力不讨好,影响今后的愉快合作。软件过程改进的方法是软件质量控制部门的事情,这是他们的本职工作。

6、工作职责:

软件测试就是使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。

开发工作的根本是尽量实现软件用户的需求,测试工作的根本是检验软件系统是否满足软件用户的需求。 软件测试工程师简单的说是软件开发过程中的质量检测者和保障者,负责软件质量的把关工作。软件测试工程师具体工作有:

①使用各种测试技术和方法来测试和发现软件中存在的软件缺陷。测试技术主要分为黑盒测试和白盒测试两大类。其中黑盒测试技术主要有等价类划分法、边界值法、因果图法、状态图法、测试大纲法以及各类典型的软件故障模型等;白盒测试的主要技术有语句覆盖、分支覆盖、判定覆盖、基本路径覆盖等;

②测试工作需要贯穿整个软件开发生命周期。完整的软件测试工作包括单元测试、集成测试、确认测试和系统测试工作。单元测试工作主要在编码阶段完成,由开发人员和软件测试工程师共同完成,其主要依据是详细测试。集成测试的主要工作测试软件模块之间的接口是否正确实现,基本依据是软件体系结构设计。确认测试和系统测试是在软件开发完成后,验证软件的功能与需求的一致性、验证软件在相应的硬件条件下的系统功能是否满足用户需求,其主要依据是用户需求。 

③测试人员将发现的缺陷编写成正式的缺陷报告,提交给开发人员进行缺陷的确认和修复。缺陷报告编写最主要的要求是保证缺陷的重现。要求测试人员具有很好的文字表达能力和语言组织能力。

④测试人员需要分析软件质量。在测试完成后,测试人员需要根据测试结果来分析软件质量,包括缺陷率、缺陷分布、缺陷修复趋势等。给出软件各种质量特性包括有功能性、可靠性、易用性、安全性、时间与资源特性等的具体度量。最后给出一个软件是否可以发布或提交用户使用的结论。

⑤测试过程中,为了更好地组织与实施测试工作,测试负责人需要制定测试计划,包括有测试资源、测试进度、测试策略、测试方法、测试工具、测试风险等。

⑥测试人员为了更好更有效地进行测试,保证测试工作质量,需要在执行测试工作之前首先需要设计测试用例,形成测试用例报告。设计测试用例是保证测试质量的核心工作,很多测试技术都可以用来指导设计用例。为了提高测试用例的设计效率,BTEST培训课程专门开设了高效设计测试用例一门课来讲授各种设计用例的技术与方法。

⑦为了提高工作效率或提高测试水平,测试工作需要引进自动化测试工具,测试人员需要学会使用自动化测试工具,编写测试脚本,进行性能测试等。(什么是自动化测试工具?) 注意: 什么是自动化测试工具? 网上小伙伴提供的一些基本自动化测试工具: 开源功能自动化测试工具:Watir、Selenium、MaxQ、WebInject 开源性能自动化测试工具:Jmeter、OpenSTA、DBMonster、TPTEST、Web Application Load Simulator 不过,大家用的最多的就是QTP和LR ⑧、 测试负责人在测试工作中,还需要根据实际情况不断改进测试过程,提高测试水平,进行测试队伍的建设等。

7、职业发展:

测试组长这类测试人员通常是测试项目的负责人,既要具备较高的测试技术能力,还要具备一定的管理能力。主要职责是制定测试计划、编写测试计划、监控和管理整个测试过程。测试组长可以向上发展为测试部经理、质量经理,也可以横向发展为项目经理,而且通常待遇相对较高些 测试分析师主要职责是对系统的测试结果进行综合的分析,例如缺陷分析、性能分析等。

测试分析师不但测试技术能力较强,还要具备数据库、操作系统等多方面的技术知识。这类职务的发展空间也不错,可以发展成系统设计师等。 测试工程师 主要职责是编写测试程序、执行自动化测试任务。这类职位的测试人员至少要达到初级程序员的能力,因为经常和程序打交道。发展空间也不错,例如可以发展为程序员。

8、测试分类:

测试分为三个阶段:手工测试、自动化测试、性能测试。这是一个逐步提升的过程。最初工作可能做手工测试,也是目前绝大部分测试人员所从事的工作。自动化测试是测试的发展趋势,而且现在自动化测试人员急缺,且薪资很高。现在最稀缺的是性能测试人员,目前性能测试人员的待遇比同等经历的开发可能还要高,因为现在性能测试人员属于稀缺状态。

(1)手工测试:现在比较普及,大多数测试都还停留在手工测试阶段。

(2)自动化测试:是趋势,但目前用自动化测试的还比较少,需要适当的代码编写工作。做一段手工测试后,积累一定经验,可以慢慢步入自动化测试阶段,如果自动化测试比较熟练,月薪1万没问题,和开发工资差不多。

(3)性能测试:性能测试人员现在稀缺人群,一般能做性能测试,且做得可以的一般月薪都在1.6万以上

9、职业素质: 

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

①测试专业技能:测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。

测试专业技能涉及的范围很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。

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

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

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


作者:软测小西瓜

原文链接:https://blog.csdn.net/jj2772367224/article/details/125339252

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 功能测试就是对产品的各功能进行验证,根据功能测试用例,逐项测试,检查产品是否达到用户要求的功能。常用的测试方法如下:页面链接检查:每一个链接是否都有对应的页面,并且页面之间切换正确。相关性检查:删除/增加一项会不会对其他项产生影响,如果产生影响,这些影响是否都正确。检查按钮的功能是否正确:如update,cancel,delete,save等功能是否正确。字符串长度检查:输入超出需求所说明的字符串长度的内容,看系统是否检查字符串长度,会不会出错.字符类型检查:在应该输入指定类型的内容的地方输入其他类型的内容(如在应该输入整型的地方输入其他字符类型),看系统是否检查字符类型,会否报错.标点符号检...
            0 0 934
            分享
          • 一、前期准备:关于投简历需要意识到:一旦开始投简历,就是正式的开始找工作期了,你可能在投简历之后,时刻都能收到公司的面试邀请和电面邀请。所以,在开始投简历之前,就应该做一些基本知识的准备,避免仓促的接到电面和面试,因为没有表现好错过了好公司的机会。面试的有些问题是需要临时突击背诵加强的,因为甚至日常工作涉及不到,涉及面也比较广,建议还是要提前做三到四个月的准备,如果是在职状态的话,这个时间其实并不是特别充裕,所以给自己做个计划时间表,选择一个开始投简历的合适时间。设置个人的目标确认自己的目标,自己有意向的公司以及可以接受的公司类型,针对性的做准备;不要海投,尤其对于已经工作一段时间的人,海投会...
            5 10 4658
            分享
          • 作为一名测试人员,除了进行常规版本测试之外,我们还要针对不同大小的版本做上线验证,不同版本升级时测试的力度是不一样的。按照版本规模的大小和版本紧急程度,可以对版本做如下划分:详细介绍下各个版本的特点:补丁版本:线上出现突发情况,或者突发bug,问题影响用户正常使用,需要立马修复。小版本:需求较少的迭代,改动的模块较少,涉及面教少,基本是小优化的集合,开发周期较短。大版本:需求较多的迭代,改动的模块较多,涉及面较广,基本都是重大升级,开发周期较长。针对这些版本,除了测试范围和测试侧重点不同之外,还有一些通用的上线测试步骤和点检内容可供参考:一、升级前准备:1. 模拟用户场景生成测试数据在这个阶段...
            8 5 7311
            分享
          •   测试的分类  单元测试  单元测试又称模块测试,是针对软件设计的最小单位——程序模块进行正确性检验的测试工作。  其目的在于检查每个程序单元能否正确实现详细设计说明中的模块功能、性能、接口和设计约束等要求,发现各模块内部可能存在的各种错误。  单元测试需要从程序的内部结构出发设计测试用例。多个模块可以平行地独立进行单元测试。  集成测试  也叫组装测试,通常在单元测试的基础上,将所有的程序模块进行有序的、递增的测试。集成测试是检验程序单元或部件的接口关系,逐步集成为符合概要设计要求的程序部件或整个系统。  确认测试  就是通过检验和提供客观证据,证实软件是否满足特定预期用途的要求。确认测试...
            0 0 1332
            分享
          •   埃隆-马斯克(Elon Musk)旗下的社交网络 X 今天对其 API 的定价和限制进行了调整,同时还宣布了具有折扣价的年度计划。该公司将基本 API 层级的价格从 100 美元提高到 200 美元,并表示将为该订阅计划引入更高的限制和新的端点。  在 X 的开发人员社区门户网站上发布的一篇文章中,该公司指出,通过此 API 的读取次数将从 10000 次增加到 15000 次,开发人员还将获得新的端点,如 reposts_of_me 和社区搜索。  但是,在API比较页面和计划购买页面上,API 限制与以前相同。 这可能是一个错误,该公司可能将对该页面进行编辑。  X Developer...
            0 0 113
            分享
      • 51testing软件测试圈微信