精华内容
下载资源
问答
  • 2019-10-30 14:17:47

     

    开发阶段

    需求调研员:与客户交流了解客户的需求。

    需求分析师:通俗一点讲需求分析师就是跟客户交流,准确获取客户需要。需求分析师是项目前期与客户方打交道最多的人,对于客户来说,他可以代表整个项目组,对与项目组成员来说他的意见可以代表客户方的意见,项目组内所有与客户需求相关的事情必需得到他的认可。

    系统分析师:主要负责根据系统分析结果设计系统总体架构、监管系统开发日程、确定软件内流程和框架等。系统分析师是项目组中的首席执行官,他涉及项目的所有方面,是项目进度的推动者,也是项目成功的关键。

    模块设计师:对与系统分析师和架构师所划分的模块进一步细化,保障各模块按既定的标准和要求的完成。 数据库设计师:又称DBA,是项目组中唯一能对数据库进行直接的操作的人。对项目中与数据库相关的所有重要的事做最终决定的人。根据业务需求和系统性能分析、建模,设计数据库,完成数据库操作,确保数据库操作的正确性、安全性。 软件架构师(软件体系结构师):主要负责设计项目中软件部分的体系结构和模型,排定软件开发日程,确定软件内部流程和框架等。系统架构师也可以理解成技术总监。系统架构师是在部门内所有软件项目中,对技术上所有重要的事情做出决定的人。 项目组长:通常3~4个开发人员组成一个开发小组,由一个小组负责人带领进行开发活动。开发小组负责人由小组内技术和业务比较好的成员担任。 软件开发工程师:根据设计师的设计成果进行具体编码工作,对自己的代码进行基本的单元测试。软件工程师是最终实现代码的成员。 美工:负责公司软件产品的美工设计和网页制作 系统分析员:根据客户的需求,编写成可以通过软件解决的软件需求及功能文档实现。

    测试人员 :根据测试经理的计划和测试总体方案对目标产品进行测试,编写测试 case 和测试代码,发现和跟踪 bug ;编写用户手册;进行用户培训和教育。测试人员介入项目的时机从理论上讲越早越好,但考虑到测试人力资源,通常在需求分析确定后介入比较合适。对测试人员而言,除了要求和开发人员相同的技术技能外,还应该熟悉测试理论和测试方法,尽可能做到总是站在使用者的角度观察和思考问题。

    培训和支持人员:负责软件交付和维护任务。他们可能是其他开发人员的一部分,也可能是独立的人员。

    质量保障人员:在生产过程中监督和控制软件产品质量的人员。通常一个团队有一个质量保障小组,由一个或多个人员组成。

    软件配置管理人员:管理软件开发中产生的各种制品,具体工作是对重要制品进行标识、变更控制、状态报告等。通常一个团队只有一个软件配置管理人员。

     

    软件工程

    技术总监:对系统方向和团队中一些决策性的事进行管理,包括日常事务,虽然他不需要编码,但能担任技术总监,这冷对不是拿来显摆的,他肯定是经历了设计开发,产品的实施,并系统的战略性发展都有相当的见解,对整个系统的所有流程都面面具道,不单单局限于技术层面,因为他需要主导整个团队运作。

    项目经理:项目经理负责人员安排和项目分工,保证按期完成任务,对项目的各个阶段进行验收,对项目参与人员的工作进行考核,管理项目开发过程中的各种文档,直接对公司领导层负责,他既能处理好与客户之间的关系,又能协调好项目小组成员之间的关系。项目经理是在整个项目开发过程中项目组内对所有非技术性重要事情做出最终决定的人。

    产品经理:企业中专门负责产品管理的职位,产品经理负责市场调查并根据产品、市场及用户等的需求,确定开发何种产品,选择何种业务模式、商业模式等。并推动相应产品的开发组织,他还要根据产品的生命周期,协调研发、营销、运营等,确定和组织实施相应的产品策略,以及其他一系列相关的产品管理活动。

    项目助理:对会议、文档、日常事务的跟踪进行管理,别以为这个只是助理一职,这个职务在整个项目中,启着至关重要的位置,她贯穿于团队中每个职务之中,其它职务是针,她就是一根线,她可以对项目中每个人的工作进行监控、总结和传达任务。

    Leader:管理项目组成员、技术难点分析,编写详细设计文档,技能特色很突出,有创新能力,不是什么都是从网上拿下来一改就用的,其它方面都可以讲出一二,对行业内的动态都很关注,有一定的交际能力。

    测试经理: 是测试活动的领导者,是公司内部认定的产品质量责任人(项目经理是对外的软件质量责任人)。测试经理的责任是计划和组织测试人员对目标产品进行测试,发现 bug 、跟踪 bug 直到解决 bug ;计划和组织用户培训工作。

     

    参考资料:

    1、软件开发人员角色定位和分工

    https://blog.csdn.net/vebasan/article/details/6823158

    2、软件开发团队常见角色职责

    https://blog.csdn.net/qq_26811681/article/details/51264670

    3、《软件开发的技术基础》

    更多相关内容
  • 可以这么说,像黑客这样的人是最好的软件安全测试员。他们专门找软件的漏洞,从而破坏这个软件,这样就可以修复这些漏洞保证软件的性能。如果找不到这种漏洞,那就说明该软件质量己经很好了。  (2)除了漏洞之外,...
  • 软件测试经验与教训》一书,讨论的第一个话题,就是关于测试人员的角色定位。我对这个话题讨论的个人理解是:清晰认识自己的角色定位,能够帮助测试人员明确对自己工作目标的预期。而清楚的认识测试人员的角色定位...
  • 解读全面解读软件测试工程师的定位与责任戏剧舞台上的生、旦、丑是不同的角色,其表演方式具有明显的特征,这是由于角色决定的。同样,软件测试工程师的角色,在软件项目开发中也存在如何定位和表现自身的行为和责任...
  • 简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时纠错及时更正,确保产品的正常运作。按其级别和职位的不同,分为三类。  按其级别和职位的不同,可分为三类,即:  高级软件测试工程师,...
  • Google测试团队的职级汇报关系是:TE(TestEngineer,测试工程师)和SET(SoftwareEngineerinTest,软件测试开发工程师)->测试工程经理->测试总监->高级总监->CEO。 《Google软件测试之道》是2013年出版的,书中...
  • 软件测试工程师的自我认识和定位!!

    千次阅读 多人点赞 2020-09-10 11:54:21
    在谈论软件测试之前,我作为一个有一定工作经验的工程师,我想发表一些自己的想法和观点,这些观点虽然不是完全 正确的,但是确实是我在工作中不断的去沉淀,去理解,去思考才得来的一些看法。希望作为刚入行的你,...

    前言

    在谈论软件测试之前,我作为一个有一定工作经验的工程师,我想发表一些自己的想法和观点,这些观点虽然不是完全正确的,但是确实是我在工作中不断的去沉淀,去理解,去思考才得来的一些看法。希望作为刚入行的你,或者已经在从事这份岗位但是很迷茫找不到定位的你,在看到我的这篇文章之后可以对这份工作有另一种态度,希望你在选择了这份岗位之后可以热爱这份工作,愿意去付出,愿意相信自己是公司里不可缺少的一位,每一个岗位存在即有理,在大势之下我们没有理由去否定去这份岗位,但是我们一定要深入理解这份岗位,只有带有这种思想的从业者才能在这条道路中越走越好。

    测试这份工作确实入门相对来说是比较低的,看起来谁都能做,但是不一定谁都能做好,并且在一些小公司里面,测试往往还会被其他人认为是没有技术含量的工作,但是我想说在大厂里面,测试是跟开发同等级的存在,无论是工资还是声望,相对的大厂里面需要的要求就会高很多。对于工作不久的同学来说,你会发现其实自己在测试的时候并没有用到很高深的技术啊,为什么在面试的时候会问到很多东西,并且招聘要求这么高,这是一个很现实的现象,公司招人肯定是想招一个能力超出成本的员工,这样既可以完成当前的工作量,还可以在特殊情况下完成新加的任务,而面试时那些额外多问的技能就是用于后者。
    相信很多同学会有这样一个心理想法,那就是:测试一下子就测试完了,我现在好闲啊,这样会不会不太好?测试也太没有意思了吧,我学了几年的计算机竟然做这么没有技术含量的工作,那我不是白学了?我觉得我已经测完了,这个软件没有什么可以测试的了,我现在在等开发修改bug,那我现在应该做些什么呢?…看完这些,希望你能从中获得一些想要的答案

    何为软件测试工程师?

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

    软件测试工程师的职责?

    软件测试就是使用人工或自动手段,来运行或测试某个系统的过程。其目的在于检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。开发工作的根本是尽量实现软件用户的需求,测试工作的根本是检验软件系统是否满足软件用户的需求。
    软件测试工程师简单的说是软件开发过程中的质量检测者和保障者,负责软件质量的把关工作。

    为什么要做软件测试?

    1.发现软件缺陷
    2.发现功能错误
    3.检查是否功能遗漏
    4.超出需求部分(画蛇添足)
    5.性能不符合要求
    6.软件质量高低:是否符合用户习惯、符合用户需求

    软件测试的前途如何?

    说到软件测试的前途,我觉得应该说是软件测试人员的职业规划,请注意我说的是人员,因为这个岗位的前途肯定是有的,就算要陨落也不是在你这一代测试工程师中陨落,因为这是一个新鲜的岗位,是个年轻的岗位,未来需求很大,是一个很重要的岗位。工作没有好坏,能决定未来的只有自己。

    软件测试的工具和思维谁更加重要?

    相对于测试工具,我更加倾向于测试思维。当然这两者是相辅相成的,双向提升会让你在测试的工作中得到很大的提升,测试的思维贯穿整个测试的职业生涯,从一个0基础的测试工程师进阶到一个中级测试,前一两年的成长基本上都是在测试思维上的提升,这段时间很多人都会很迷茫,觉得自己是一个没有什么技术的人,其实这个成长的期间更多是要寻找自己的定位,落实自己作为一个专业测试工程师的思维方式。当自己具备了一定的测试思维之后,我们面临的一个挑战就是在测试技术上的关卡,在招聘上面我们往往可以看到基本上的测试工程师都是需要测试工具的使用,而且会使用测试工具比不会使用测试工具的人工资要高,显而易见,在具备了测试思维之后,要进一步的提升自己就要在技术上的加强了,不管是测试工具的使用,还是自动化脚本的编写,这些都可以视为辅助我们去测试一个软件产品的工具,为达目的想尽一切办法去发现软件中的缺陷。

    软件测试工程师和软件开发工程师真的就相差这么大吗?

    简单的一句话概括:测试和开发就像是互补关系。开发注重的技术的深度,而测试注重的是知识面的广度,开发懂测试,但是在测试方面上没有测试工程师那么专业,因为不具有测试的思维方式;中高级测试工程师很多是具有开发能力的,但是他在开发技术上没有专职开发理解的那么深刻,所以开发的闪光点是技术的深度,测试的闪光点是知识面的广度和测试思维。

    成为测试工程师的必备条件?
    1. 首先第一点,作为一个测试工程师,计算机相关专业的知识在工作中起至关重要的作用,这是作为一个测试工程师必备的,其中就包括(计算机网络,操作系统,数据库系统,开发语言以及开发工具等),我们一定要具备这方面的知识,但是工作中不一定都会用上,不同方面的测试需要的技能也就不同,比如功能测试也就是点点点的操作,基本上没有谁不会使用一个软件吧,就是这个道理。
    2. 第二点就是测试思维,也是我认为一个人是否能做好这个岗位的标杆,上面一点我说了,计算机相关的知识我们在工作中可能用不到,但是测试思维一定要时刻应用,因为思维决定行为,有一个完整的系统的准确的测试思维,才能把工作做到细致做好,因为测试工作是无穷的,不存在没有bug的程序。
    3. 第三点就是需要具备测试技巧,有更多的测试方法,熟悉测试工具,当然就相当于是后续的工作经验积累出来的产物了,需要我们在工作中不断的去整理,去学习,去应用。测试这份工作是探索性的工作,在工作中,真正去执行测试用例执行测试工作的时间是占的比较少的,更多的时间都花在探索上和整理文档上。
    4. 第四点就是工作中的一个学习和沟通能力了,找bug是测试的工作,改bug是开发的工作,所以这之间就少不了沟通和交流,在沟通过程中,测试和开发直接需要有一个共通的表达方式去描述这个bug,使得测试人员能清楚的描述bug,并且开发人员也可以准确的知道bug的现象,方便在快速定位问题并且解决问题。既然测试是一个探索性的工作,所以就需要更多的知识和技巧做铺垫,我们在工作中需要带着强烈的求知心去工作,去吸收去学习一切能在工作中帮到自己的知识点,对自己的提升也会起到至关重要的作用。
    测试的分类有哪些?

    说到测试分类,在网上搜一下就出现了很多,有功能测试,性能测试,自动化测试,数据库测试,接口测试,安全测试,还有细致一点的就是app测试,web测试,游戏测试等等等等。我们暂且就分为功能,性能,自动化这三类。
    功能测试简单来说就是测试产品能做什么功能,性能测试就是测试产品的功能做的怎么样,自动化就是利用脚本来代替人工去完成一个功能操作的测试(自动化测试一般在测试阶段的后期,当产品达到了一定的稳定性之后,利用自动化脚本进行快速的回归)

    提高测试质量的要诀?

    另外一个值得注意的方面就是工作效率和质量,或许高级测试工程师与普通测试工程师的主要区别在于高级测试工程师可以更快地发现更多软件中的严重错误。对此,有什么可以借鉴的诀窍吗?请尝试以下方法,保证不会使您失望。

    1. 首先测试程序的核心功能,然后测试辅助功能。
    2. 首先测试功能,然后测试性能。
    3. 首先测试常见情况,然后测试异常情况。
    4. 首先测试经过变更的部分,然后测试没有变更的部分。
    5. 首先测试影响大的问题,然后测试影响小的问题。
    6. 首先测试必须测试的部分,然后测试可选或没有要求测试的部分。
    测试流程是什么?

    测试既然是一个必不可少的岗位,自然就有一套完整的测试流程来支持。那么软件测试的流程是什么呢?什么时候测试工程师才进入测试工作呢?在测试前需要一些什么准备呢?每个流程阶段我们应该做一些什么?

    软件测试工程师的整个工作流程:项目立项–>需求分析–>测试分析–>测试计划–>编写测试用例–>执行用例–>bug管理–>测试报告 ,这一整套流程下来,也许看起来你会觉得自己根本就没有参与几个,但是如果你是研发组唯一的测试,又或者你是测试组的大佬,那么这一整套流程下来你必不可少。

    项目立项和需求分析:这两个基本是同一时间进行,就是产品经理或者是市场经理有一个可以赚钱的好点子,想跟大家讨论一下,这就是一个项目的萌芽阶段(项目立项);然后确定了项目之后,大家一起分析一下功能,需要满足什么样的需求,这个产品的架构是怎样的等等,说到这里你是不是发现好像这些事就是开发和产品那边的事儿,跟我们测试不搭边呢,其实不是,作为测试,在参加这次会议中,目的就是要知道接下来有一个什么项目需要我来测试,项目的定位是什么,客户群体是哪些,用户环境在什么场景等等一些信息都对我们进行测试有很大的帮助。往往一个专业的测试人员是要完整的介入整个产品的研发和测试阶段。

    1. 测试分析:在这个阶段,就开始考验到了一个专业的测试工程师的一个业务能力了。这个阶段如果分析的好,就能提高用例的覆盖率,尽可能的保障了软件的测试质量。测试分析和测试用例设计是有一定的区别。
    2. 测试计划:计划的撰写有助于工作的进行,写好一份测试计划,可以让我们在工作中按照一定的流程去完成工作,并且在测试计划中,有比较详细的人员分工,时间安排,环境搭建要求,测试的目的,项目的介绍,这些基本的信息都会出现在测试计划当中。当然这个环节不是每个测试人员都要去做的,一般出现在组长或者组长以上的人才去完善这份工作,或者组织内有一定的测试架构和项目分支,测试人员和项目版本比较多,项目复杂多样化,那么测试计划就起到了至关重要的一步。
    3. 编写测试用例和执行用例:那么在编写用例的环节,我们从测试分析为出发点,利用等价类,边界值,场景法,因果关系等一些用例设计方法来设计测试用例,并且在用例中表明需要用到哪些测试数据。在完成了测试用例的编写之后,接下来就是用例的执行了,按照测试用例的一些步骤和预期结果,来执行我们的用例,判断是否通过,未通过的用例就可定义为一个bug。测试用例看起来就是玩文字游戏,其实它的作用体现在的是一个记录作用,因为如果没有测试用例这个文档,那么我们在测试的时候难免会出现漏测现象,这样就造成的工作的不合格,再则就是用例还可以用来当做一个凭证来证明自己的工作,如果在工作中发生争执了,可以及时的拿出用例来为自己作证。
    4. bug管理:有了测试的用例,那么就会出现测试的产物,就是bug,作为一个专业的工程师,我们所需要做的无非就是想尽一切的办法去判定开发写的程序,所以我们在找到问题的时候,需要给出的是一个高质量的bug。什么是高质量bug呢?所谓的高质量的bug,就是必须有一个准确的复现步骤,有一个直观的bug现象,必要的时候可以加上log,加上截图,加上测试数据,甚至有时候出现了特别难以出现但是严重级别高的bug,直接就保留现场,叫上开发过来了解情况。有了这些东西,开发同志就无力反驳我们抛出的bug了,为什么我们提出bug要这么准确呢,原因就是我们是专业的工程师,产品上线之后,如果市场上没有重大的bug反馈,那么这是我们尽到了责任,但是如果市场有重大的反馈,导致对公司造成了损失,那么就是我们的失职。我们不仅要提交bug,还要跟踪bug,使bug从产生到关闭有一个较快的闭环,将那些严重的,优先级高的bug及时的催开发修改,一个优秀的团队就是要做到每一个员工尽责。
    5. 测试报告:测试报告书写的目的就是将自己的测试结果通过这份报告让别人可以了解到目前产品的一个状况,所以在测试报告上,我们尽可能描述重点,写一些有价值的东西。因为别人是通过你的这份报告来间接性的了解产品的状态,所以如果你写的太复杂,像流水账一样,给人的感觉并不是细致,而是啰嗦,所以在写完报告之后,我们应该站在一个阅读者的角度去审阅自己的测试报告,看看是否明确是否完美。

    最后希望大家可以热爱软件测试工作,这个岗位需要更多热爱它的人才可以一起做好,加油同学们!!

    展开全文
  • 软件测试工程师的角色定位

    千次阅读 2013-09-15 10:17:20
    软件测试工程师的角色定位(摘自IT人网)  导读: 经理、系统分析师、程序员、测试工程师、质量保证人员等。可见,软件测试工程师只是软件项目开发中的一个角色而已。 戏剧舞台上的生、旦、丑是不同的角色,其表演方式...

    软件测试工程师的角色定位(摘自IT人网)

        导读: 经理、系统分析师、程序员、测试工程师、质量保证人员等。可见,软件测试工程师只是软件项目开发中的一个角色而已。

    戏剧舞台上的生、旦、丑是不同的角色,其表演方式具有明显的特征,这是由于角色决定的。同样,软件测试工程师的角色,在软件项目开发中也存在如何定位和表现自身的行为和责任的问题。

    此处讨论测试工程师的角色并非毫无意义。须知,角色不明,责任不清,行为就失去了参照目标,结果就可能很不理想了。轻则降低了
    工作质量和效率,重则被视为工作能力低下,可能要退出软将项目组的舞台了。

    软件测试工程师承担的任务

    角色决定工作内容和承担的任务。测试工程师的角色应该承担什么任务呢?这没有统一的答案。因为,这与软件公司的规模,软件项目管理制度,公司领导和项目经理的管理风格,以及具体软件项目自身的特点有很大关系。而且,测试工程师也有普通和高级之分。

    笼统的答案列举如下:

    • 设置软件测试环境,安装必要的软件工具。
    • 运行软件,发现和报告软件缺陷或错误。尤其需要快速定位软件中的严重的错误。
    • 对软件整体质量提出评估
    • 确认软件达到某种具体标准
    • 以最低的成本,最短的时间,完成高质量的测试任务
    • ......


    在这其中,最重要的是要明确,程序员的责任和目标。在执行任何具体测试任务前,都要在项目组内对于责任和目标达成共识,以免带来后续工作的相互推诿。


    提高测试质量的要诀


    另外一个值得注意的方面就是工作效率和质量,或许高级测试工程师与普通测试工程师的主要区别在于高级测试工程师可以更快地发现更多软件中的严重错误。对此,有什么可以借鉴的诀窍吗?请尝试以下方法,保证不会是您失望。

    • 首先测试程序的核心功能,然后测试辅助功能。
    • 首先测试功能,然后测试性能。
    • 首先测试常见情况,然后测试异常情况。
    • 首先测试经过变更的部分,然后测试没有变更的部分。
    • 首先测试影响大的问题,然后测试影响小的问题。
    • 首先测试必须测试的部分,然后测试可选或没有要求测试的部分

    软件测试工程师是项目团队中的服务员

    需要强调的一点是,无论你是多么高级的测试工程师,都要明白无论测试需要的工具多么复杂,测试步骤多么冗长,测试工程师在软件项目开发中始终都是扮演服务员的角色,这是由测试工作的特点决定的。任何服务都有被服务对象—客户,软件测试工程师的服务对象有哪些呢?

    • 最重要的客户是软件的用户。测试工程师需要站在客户的使用和需求角度测试软件,报告问题。
    • 项目经理也是客户。测试工程师需要报告测试工作进度和发现的问题,尤其是严重的问题。

    • 程序员是最经常打交道的客户。为了便于程序员重复报告的错误,尽量提供良好的软件问题报告,以便程序员可以更快的修复软件错误。

    技术文档工程师、市场开发人员和技术支持工程师也都是测试工程师的服务对象。
    软件测试工程师避免犯的几个错误

    前文已经指出测试工程师应该明确角色,明确任务和责任。知道哪些是自己份内的事,哪些是不属于自己的事。一定要尽最大努力完成份内的事,不要做不属于自己的事情,以免弄巧成拙。

    为了更好的扮演软件测试工程师的角色,尽量避免犯下面的错误:

    • 承诺完成测试的软件没有质量问题
    软件测试只是保证质量的一种方法,软件测试工程师的工作不会直接提高软件质量,因为绝大多数软件错误都需要程序员修复。软件测试只能证明软件存在错误,不能保证软件没有错误,不可能找出全部软件错误。
    个人的能力和对质量的影响范围很小,软件质量的提高要靠软件项目团队全体成员的共同努力。 

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

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

    展开全文
  • 软件测试岗位职责和划分

    千次阅读 2020-09-05 17:41:55
    ​ 当下软件测试岗位越来越火,然后很多人对软件测试岗位,和技能都很迷糊,下面浅谈一下当下软件测试岗位和需掌握的技能。 一、什么是软件测试 ​ 很多小伙伴只知道软件测试这个岗位,不明白它到底是什么,软件...

    前言

    ​ 当下软件测试岗位越来越火,然后很多人对软件测试岗位,和技能都很迷糊,下面浅谈一下当下软件测试岗位和需掌握的技能。

    一、什么是软件测试

    ​ 很多小伙伴只知道软件测试这个岗位,不明白它到底是什么,软件测试到底是做什么呢?
    ​ 测试(test)最早是出自古拉丁字,它有罐或者容器的含义。在一般的工业生产中,被当做一个常规的检查去做的。而软件测试的经典定义是:在规定条件下,对程序进行操作,以发现错误,对软件质量进行评估。
    ​ 总结:软件测试的初衷就是为了发现软件自身存在的缺陷(BUG),而设定的一个岗位,不管从事软件测试任何一个岗位,初衷都应该以发现BUG为初衷的去测试。

    二、国内现状

    ​ 中国软件测试研究起步在‘六五’期间,一直到1990年国家蔡成立的中国软件评测中心。(国外1957年就对软件测试和软件调试区别开)国内由于起步较晚,与国际先进水平相比差距较大,而国际主流谷歌网站,访问时网(qiang)络(le)不好,导致大部分小伙伴无法与先进技术“面对面”交流。所以在国内,入行软件测试岗位,相对于开发而言要‘简单些’,想在软件行业有所‘成就’,相比较开发而言要相对‘困难’些。

    三、目前国内的岗位

    不多说,直接上图:
    在这里插入图片描述

    四、各个岗位的职责和基本技能

    初级测试工程师:

    ​ 岗位技能:测试基本理论,如:了解计算机原理,测试基本方法(边界值、等价类、正交、错误推断、因果图…),前端基础,了解基本开发和测试模型(V、W、H…),编写测试用例,编写测试报告,会主流的BUG管理工具,和项目管理工具。如:jira、Testlink、禅道等。

    ​ 岗位职责:测试用例编写执行(测试行业中的‘点点点’技能),软件缺陷管理(BUG)。测试报告输出,以及阶段自己负责模块的测试总结。

    中级测试工程师:

    ​ 岗位技能:会初级所有技能,熟悉整个软件开发、测试流程,会不同操作系统(windows、linux),会使用接口测试工具(postman、jmeter…)做接口测试工作。关系型数据库(mysql、oracle…)增删改查,重点是查询。会抓包(工具fiddler、httpwatch…)分析

    ​ 岗位职责:更多的做一些接口测试类的工作,功能与数据库交互等,不在停留在‘点点点’的工作中。这时候的你,已经是一些中小型类型公司的中流砥柱。

    高级测试工程师:

    ​ 岗位技能:会中级所有技能,会测试环境搭建(一般是运维干的活,不过高级应该是需要会的技能),会自动化测试(非代码级),如:用postman做接口自动化测试,用一些录制软件录制脚本,你要明白工具中那些事冗余、无效的代码,做一些简单的增删改!会性能测试(工具:jmeter、loadrunner…),做性能测试。对整个软件开发流程了如指掌!!软件质量把控的同时,可以预测软件风险,对软件、开发测试提出宝贵建议。

    ​ 岗位职责:社会主义一块砖,哪里需要哪里搬。功能、接口、性能、自动化、服务器搭建样样精通!

    测试开发工程师:

    	这个岗位也是目前分歧最大的一个岗位。我这儿将重点分析一下。其实测试开发工程师还可以分成,自动化测试开发工程师和测试开发工程师。现在很多企业,把是否会写代码定义成是否是测试开发,所以导致了很多小伙伴认为,测试开发工程师就是自动化测试开发工程师。其实我个人认为这样划分还是缺点意思的。其实自动化测试开发仅仅是测试开发中一个技能而已。
    

    ​ 自动化测试开发工程师,主要是通过代码代替人去工作。一般这些代码,是需要专人去维护,而专人最基本的就是要懂相同语言的代码。如果测试脚本是用python编写的,维护人员必须要懂Python语言才能够去维护。为什么要维护,在后期版本迭代中,产品 不可避免的会出现产品需求变更,这时候你的测试脚本就需要重新编写了。而这项工作,维护成本较高。重点!重点!重点!圈起来要考,仅适用于较成熟、需求变更不频繁、项目周期长的产品做回归测试或兼容测试使用!!

    ​ 说到这儿,很多小伙伴会问,自动化测试脚本开发以及维护成本这么高,还不如手工点点点呢,为什么还要写?减少人工不断去做重复的操作。

    ​ A产品版本迭代周期7天,7天之内加了一个小需求,这时候的可能测试时间只有2天,这时候你不可能把所有的功能在进行一波回归测试。从而就可以用到测试脚本了。如果A产品是WEB产品,需要适配IE,火狐,谷歌浏览器,这时候你不可能去每个浏览器都去做兼容的,所以用到测试脚本。

    ​ 重点!重点!重点!自动化测试脚本开发,目的是为了减少人工成本的,千万不要为了自动化而自动化!!!!

    img

    ​ 在来说说测试开发:其实测试开发就是开发,只不过测试开发需要了解测试知识,对开发技术要求不是太高(因为都是内部测试使用的,没那么多乱七八糟的需求),他们主要工作职责开发测试工具,服务所有测试人员,目的是减少人工成本。比如上述所说,自动化测试工作不管是开发还是维护,成本都比较高。如果将它把主要的一些功能实现代码给放在后台,让一些具体case放在前端可视化去维护,然自动化测试不在那么的难!比如像这样:
    在这里插入图片描述

    这样:img

    总结:

    测试开发:

    ​ 工作技能:中级所有技能,高级大部分技能,至少会一门开发语言,熟悉主流开源的测试框架(如selenium、appium…),熟悉开发(什么叫开发,自行百度这就不做过多讲解了)

    ​ 工作职责:提高测试效率,较少人工成本,尽可能发现软件缺陷,去开发以测试为目的的工具或者平台。

    测试专家:

    ​ 能够成为测试专家,不但要拥有过人的天分,还需要用勤劳的汗水浇灌而来!如果把整个测试行业看成一个金字塔,那么,他就是金字塔最顶端的男(女)人。走在行业的最前端。他就是岗位的终极目标,同样也是咱奋斗的目标。有生之年在此岗位待过,不枉此行!!!

    测试主管:

    ​ 其实测试主管的技能可参照中高级软件测试工程的技能标准,而此岗位不在是专于技术,更多的是对整个测试流程的把控。跟多关心的应该是:多久?这么做?哪些人去做?但是能够成为主管的,对测试技能还是有几把刷子的!!!

    测试经理:

    ​ 测试经理标准也是可以参考测试主管,一个管理大流程,一个管理小流程,其实目的就是对测试流程把控。当工作人员配备不足情况下,也可以充当测试人员使用。测试经理一般要求较高,不管是对于测试技能,还是测试管理,都要出类拔萃。

    测试总监:

    ​ 此岗位如测试专家平级,唯一区分就是一个偏管理,一个偏技术,同样都对测试有独到的见解,同样也是我辈楷模

    总结:

    对于测试技能,还是测试管理,都要出类拔萃。

    测试总监:

    ​ 此岗位如测试专家平级,唯一区分就是一个偏管理,一个偏技术,同样都对测试有独到的见解,同样也是我辈楷模

    总结:

    ​ 个人见解,如有见解不同的小伙伴,可以下方留言评论。只有交流才有成长!!不管哪个行业,用心去做,肯定能够成功的!

    展开全文
  • 2021年软件测试面试题大全

    万次阅读 多人点赞 2020-11-30 15:16:59
    简述测试流程: 1、阅读相关技术文档(如产品PRD、UI设计、产品流程图等)。 2、参加需求评审会议。 3、根据最终确定的需求文档编写测试计划。 4、编写测试用例(等价类划分法、边界值分析法等)。 5、用例评审...
  • 软件测试

    2014-10-22 15:39:19
    软件测试工程师 - 角色定位 软件项目开发是个分工明确的系统工程,不同的人员扮演了不同的角色,包括部门经理、产品经理、项目经理、系统分析师、程序员、测试工程师、质量保证人员等。可见,软件测试工程师只是软件...
  • 软件测试基础知识 + 面试理论(超详细)

    万次阅读 多人点赞 2021-02-25 10:47:13
    三、软件测试工程师的工作内容四、常见的软件生命周期模型五、软件开发的几个阶段六、软件bug的五个要素七、软件测试的分类八、什么是测试用例九、测试用例几大要素【面试理论知识】1、你的测试职业发展是什么?...
  • 软件测试的基本理论

    千次阅读 2021-06-03 01:16:01
    软件测试基础一. 软件测试概述1.软件概述软件测试周期软件开发模型软件质量的概述2.软件缺陷管理缺陷产生原因缺陷的分类软件处理流程缺陷管理工具3.软件测试的概述测试简介测试目的测试分类4.测试与开发测试与开发...
  • 详细讲解应聘软件测试岗位所需要掌握的一些列基础知识与技能,包括软件测试的基本概念和基本流程、基础的网络知识、常用的数据库技能以及常用的Linux命令等。
  • 问:软件测试的原则? 答:https://blog.csdn.net/weixin_30363263/article/details/102986878 问:你在测试中发现了一个 bug ,但是开发经理认为这不是一个 bug ,你应该怎样解决。 1、将问题提交到缺陷...
  • 软件测试管理

    千次阅读 2020-04-01 17:12:52
     软件测试过程管理主要集中在软件测试项目启动、测试计划制定、测试用例设计、测试执行、测试结果审查和分析,以及如何开发或使用测试过程管理工具。 (一)测试的组织  实施一个测试的首要步骤之一就是考虑测试...
  • 软件测试岗完美面试攻略

    千次阅读 2021-08-28 16:45:58
    今天来说说软件测试工程师的面试吧。毕竟,面试,决定了你以后一段时间内的薪资待遇。
  • 软件测试之登录测试详解

    千次阅读 2020-12-23 11:00:51
    一、功能测试–登录 功能性测试用例包括: 1.什么都不输入,点击提交按钮,看提示信息。(非空检查) 2.输入已注册的用户名和正确的密码,验证是否登录成功; 3.输入已注册的用户名和不正确的密码,验证是否登录失败...
  • 软件测试面试题(含答案)

    万次阅读 多人点赞 2021-03-01 15:15:38
    软件测试面试题(含答案)
  • 如何有效提升软件测试质量?

    千次阅读 2021-05-22 10:01:12
    软件质量保障| 测试质量保障、自动化工具/框架、平台开发、算法测试、BAT/TMD大厂测试岗面试题/面经分享、测试团队建设与管理、测试新技术的分享。 偶尔也聊聊个人工作的收获与经验。可以帮忙内推字节、阿里、百度等...
  • 软件测试面试题大全

    千次阅读 2021-12-04 11:05:25
    什么是软件测试软件测试的目的与原则 问:软件生存周期及其模型是什么? 什么是软件质量? 自动化测试脚本开发的主要步骤: 目前主要的测试用例设计方法是什么? 常见的测试用例设计方法都有哪些?请分别以具体的...
  • 参考答案: 兼容测试主要是检查软件在不同的硬件平台、软件平台上是否可以正常的运行,即是通常说的软件的可移植性。 兼容的类型,如果细分的话,有平台的兼容,网络兼容,数据库兼容,以及数据格式的兼容。 兼容...
  • 软件测试理论基础知识

    千次阅读 2022-01-04 19:15:43
    1. 软件测试的定义 (1)IEEE:通过人工或者自动化的手段执行某个程序或者运行某个系统的过程,其目的是为了验证符合规定的需求以及发现实际结果和预期结果之间的偏差。 (2)Glenford J.Mayer:测试是为了发现...
  • 软件测试管理知识总结

    千次阅读 2019-07-15 17:48:00
    1 软件测试管理概述 1.1软件测试管理基础 1,软件测试管理目标:软件测试管理的目标是通过系统的、高效的、适用的技术、方法和体系来监督、促进和达到这个软件测试的目标。 • 可用测试资源 • 使用适当的测试技术和...
  • 软件测试基础学习

    千次阅读 2021-09-27 20:21:55
    1.软件和软件测试 软件组成: 程序 数据 文档 软件的分类 按层次划分:系统软件、应用软件 按组织划分:商业软件、开源软件 按结构划分:单机软件、分布式软件 2.软件测试的定义 正向思维 出发点:使自己确信...
  • 软件测试笔试面试题目完全汇总

    万次阅读 多人点赞 2019-03-06 13:29:37
    1、软件测试的流程 2、web测试和APP测试的区别 仅仅从功能测试的层面上来讲的话,在流程和功能测试上是没有区别的。那么区别在哪里呢? 由于载体不一样,所以系统测试和一些细节可能会不一样。 那么我们就要先...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 35,875
精华内容 14,350
关键字:

软件测试角色定位