测试工程师 订阅
测试工程师,软件质量的把关者,工作起点高,发展空间大。我国的软件测试职业还处于一个发展的阶段,所以测试工程师具有较大发展前景。传统的软件行业还是以软件测试工程师为主,但是在新兴的互联网行业大多还是以QA来命名这个职位,也就是质量保证。 展开全文
测试工程师,软件质量的把关者,工作起点高,发展空间大。我国的软件测试职业还处于一个发展的阶段,所以测试工程师具有较大发展前景。传统的软件行业还是以软件测试工程师为主,但是在新兴的互联网行业大多还是以QA来命名这个职位,也就是质量保证。
信息
外文名
Software Development Engineer in Test
特    点
工作起点高,发展空间大等
别    名
软件开发测试工程师
中文名
测试工程师
职业待遇
薪酬上升空间非常大
工    作
软件质量的把关者
测试工程师从业资格
在企业中一般称为软件开发测试工程师(Software Development Engineer in Test,SDET)。一般为具有1-2年经验的测试工程师或程序员 。有良好经验的测试工程师可以成长为产品/项目组的测试组长(SDETLead)或软件质量经理(SQA Manager),负责软件质量保证,进行测试管理和领导测试团队。
收起全文
精华内容
下载资源
问答
  • 测试工程师

    2018-01-22 16:20:08
    总体感觉,大家对测试工程师认识不够,不太明白这个工作是做什么的,发展方向以及发展空间什么的。所以今天我们就抽个空,闲聊一下测试工程师。  一,测试工程师的历史  我算是接触互联网测试工作比较早

    出处:http://blog.sina.com.cn/s/blog_68f262210102wr4d.html

    最近正是一年一度的找工作高峰期,而我作为公司的面试人员,也见了不少应聘者。总体感觉,大家对测试工程师认识不够,不太明白这个工作是做什么的,发展方向以及发展空间什么的。所以今天我们就抽个空,闲聊一下测试工程师。

     一,测试工程师的历史   

    我算是接触互联网测试工作比较早的一批人了,在2010年研二实习的时候就开始在一家加拿大的企业做测试开发工程师了。2012年毕业的时候,貌似互联网行业开始有专职的测试人员,而且不少中小型公司还没有专职的测试人员,程序的质量由开发人员保证,产品进行简单的验收。

    就算是公司有专职的测试人员,地位还是比较低的,貌似各种人都能来指挥测试人员的。产品来压测试时间,开发也来压测试时间,总感觉到测试人员什么都不会,而且没有什么好测试的。可是一旦出了问题,都会怪测试工程师没有测试到。

    随着用户对产品的质量要求越来越高,公司也就注重测试工作了,各个公司开始组建自己的测试团队,对测试人员要求也开始变得越来越高。测试人员在不少公司的地位有所提高,能把控项目进度,提出不同的意见。慢慢的就和国外的企业接轨了,我实习的时候加拿大的公司的测试地位非常高,测试说测试通不过,谁也不能上线了。

     

    二,测试工程师的来源

         由于测试一般是根据产品的需求,从用户角度来验证开发做出来的程序或是产品是否符合需求,要求门槛比较低。也由于要借鉴不同行业的人来验证产品,所以功能测试人员来自己各行各业,也没有高学历的要求。一般应届毕业生是新加入测试行业的主力军,他们年轻有活力,还是比较合适的。

    后来大家看到互联网的测试工资待遇还是不错的,而且门槛比较低,所以很多考虑着转行来做测试;或是其他工种,如泥瓦工,厨师,销售等等都通过上几个月的培训班,来加入到测试工程师这个行业。此处不是说其他的工种不能做测试工程师,只是在说明各个行业目前都有转测试的趋势,竞争压力还是挺大的。

    三,测试工程师的分类

    网上或是书上我们会看到很多类似于黑盒测试,白盒测试,灰盒测试等等吧,实际上这些儿只是书面上的分类,真正的公司中完全不是这么回事?

    在互联网公司中,测试工程师的分类如下:

    (1)功能测试工程师

    (2)性能测试工程师

    (3)安全测试工程师

    (4)自动化测试工程师

    (5)测试开发工程师

    (6)高级测试开发工程师

    (7)测试专家

    当然,如果按层次来分的话,应该是如下:

    第一层:(1)功能测试,按需求检测开发的产品是否符合需求。

    第二层:(2)(3)(4),这层的测试人员需要熟悉使用一些儿工具,开源的框架,借助于简单的脚本来完成对被测对象做性能,安全和回归测试工作。

    第三层:(5)(6),这层测试工程师需要通过编码,或是对开源的框架,工具进行二次开发,开发测试工具,测试平台等来解决前两层测试人员工作中遇到的问题,提高工作效率。

    第四层:(7)测试专家,就是能够发现测试领域问题并解决某个领域的问题的人,同时还需要具有这个领域的系统化的知识体系。这个比较难达到这个级别,需要的掌握的东西还是比较多的。

    行情分析:

    (一)目前第一层测试人员最多,从12年加入到测试行业,到现在为止已经具有相当一部分人了。而且先前加入的人员,已经工作了三四年了,已经达到了瓶颈,业务比较熟悉,技术上没有提升。同时,不断有应届生或是年轻的小伙伴加入,对老人冲击很大,而想换工作的时候,又没有优势,非常麻烦。

    (二)第二层的测试人员,貌似很高大上,借助于一些儿常用的工具,开源的框架,来录制脚本,编写自动化测试用例,然后接于到jenkins中实现持续化集成。好牛的感觉哟,其实不是这么回事,不管我们是使用工具还是开源框架,我们都是在使用工具的。一旦工具出了问题,或是消失了,收费了等不可控制的原因吧,我们就失去了优势。而且入手还算比较快的,通常牛人带你,或是参加一个专项的培训班,一两周就能入手。此类人正在慢慢地变多,而且也渐渐地失去了优势。

    (三)第三层人现在的需求量比较大,但是相应的人员比较少。因为这类人需要有一定的编码能力,而普通的测试人员具有编码能力的不太多,计算机专业的人员有了编码能力就去做开发了。结果留下了这个真空地带,这个地带的人待遇相当不错,人员少,建议大家往这个方向发展。

    (四)第四层人就比较凤毛麟角了,也是我们所有的测试人员努力的方面,我们就不过多介绍了。

    四,目前的测试技术介绍

     目前自动化测试比较热,我们就先介绍自动化测试,然后再去简单地介绍一下其他的测试。

    自动化测试

    (1)WEB UI自动化测试:主流的开源框架是Webdriver2.0,先前还是selenium 1.0,Htmlunit,经过社会上的实践,现在就只剩下Webdriver2.0。而且这个开源的框架支持主流的语言,如python,java,php等,借助于Selenium IDEFirebug等工具,完成对Web UI的自动化测试。

    (2)API或是服务的自动化测试:接口自动化测试主流技术是pythonurllib2requests模块,phpunit也可以用来做接口自动化测试,java在支持接口自动化测试方法有点儿弱,需要做一下二次封装。由于服务出于安全考虑,各大公司都会自己开发相应的服务框架,所以服务的自动化测试则是公司自己开发的框架比较多。如58赶集的SCF服务框架下开发的服务,则需要ATF框架来进行测试,所以就不能列举出服务的自动化测试技术了。

    (3)移动自动化测试:移动自动化测试指的是APP UI自动化测试,后端已经由上面的接口和服务自动化来保证了。而APP UI自动化测试主流的框架是RobotiumAppium,因为Robotium只支持java语言,并且只能对Android系统进行测试,所以没有Appium应用的广。Appium支持IOSAndroid系统,支持javapython语言,是主流的框架。

    性能测试:

       性能测试我不太了解,不过目前主流的工具是LoadRunnerJmeter。利用这些儿工具来根据需求,录制脚本,进行压力测试。还有需要对Jmeter进行二次开发,以完成对自己业务的完美支持。当然,还有其他很多的性能,如:http://www.cnblogs.com/EthanCai/archive/2014/05/11/3721656.html

       以后对移动端的性能要求也比较高了,新出的App需要支持各种型号的机器。高端的机器需要支持,低端的机器也同样需要支持。以后移动端的性能,应该算是性能测试的新方向。

    安全测试:

       需要专业技术的东西,应用场景不是特别广泛,表示不了解,需要的同学可以去网上做专项调研。

    测试开发:

       测试开发是介于测试和开发之间的工种,测试开发是针对测试的开发,也就是说测试人员是测试开发的产品,他们有任何工作中的需求。测试开发人员需要积极响应,通过开发相应的工具,平台来解决他们遇到的问题。

       当然测试开发要求也比较高,上述的开源框架都需要深入了解,java,python,shell,ruby等语言的使用已经不是问题,CSSjSHTML等前端的东西也要熟练使用,接口,服务的开发也是常事。在此阶段各种技术应该就不是问题了,你需要的就是解决问题的能力。

        好了,就闲扯到这些儿吧,这是我在工作中得到的一些儿经验吧!现在功能测试已经饱和,自动化测试人员日渐增多,测试开发需求量变大。一个好的测试人员,要有明确的发展方向,有计划地发展自己,不能跟着需要求走,走高消耗的路线!

    展开全文
  • 8年软件测试工程师感悟——写给还在迷茫中的朋友

    万次阅读 多人点赞 2018-03-29 11:16:09
    这两天和朋友谈到软件测试的发展,其实软件测试已经在不知不觉中发生了非常大的改变,前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业“缺口”已经...

    这两天和朋友谈到软件测试的发展,其实软件测试已经在不知不觉中发生了非常大的改变,前几年的软件测试行业还是一个风口,随着不断地转行人员以及毕业的大学生疯狂地涌入软件测试行业,目前软件测试行业“缺口”已经基本饱和。当然,我说的是最基础的功能测试的岗位需求已经很少了,而自动化、性能、安全乃至于以后可能出现的大数据测试、AI测试仍存在着非常多的机会。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    “长江后浪推前浪,前浪死在沙滩上”,曾经一句让人会心一笑的调侃,而今变成了软件测试行业的真实写照。由于软件测试行业入门门槛低,薪资报酬高,不断有新鲜血液冲刷着软件测试行业的“前行者”们,给我们带来了非常大的压力。

    那些入行几年,但是依然是功能测试的同学所面临的的压力可想而知。说到底,软件测试行业还是属于技术岗位。既然是技术岗位,那就要靠技术说话。不断掌握新的技能,提高软件测试“找bug”的能力也就变成了目前软件测试从业人员迫在眉睫需要解决的问题。因此,现在大部分初级功能测试人员都在向自动化、性能、安全靠拢。

    但是还是有不少的软件测试工程师站在“十字路口”迷茫、无助,找不到自己的方向。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    一切的迷茫都是因为想得太多而做的太少!每位软件测试行业从业者都能意识到目前自己面临的窘境,但能及时作出改变,顺应时代变化的人还是太少。多数人明明“泰山崩于前而面色如土”却只能眼睁睁看着自己被行业淘汰吗?

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    并不是,下面的软件测试工程师发展方向知识架构体系图,会告诉你该往哪里努力:

    一、Linux必备知识

    linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有linux能力。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    二、Shell脚本

    掌握shell脚本,包括shell基础与应用、shell逻辑控制、shell逻辑函数等。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    三、互联网程序原理

    自动化必由之路:前端开发基础知识以及互联网网络必备知识。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    四、Mysql数据库

    软件测试工程师必备Mysql数据库知识,不仅仅停留在基本的“增删改查”。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    五、抓包工具

    Fiddler、Wireshark、Sniffer、Tcpdump各种抓包工具适用于各种项目,总有一款适合你。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    六、接口测试工具

    接口测试神器,你绕不开的强大工具:Jmeter。小巧灵活:Postman。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    七、Web自动化测试Java&Pyhton

    了解自动化的目的,熟练掌握testng&unittest自动化框架,以及断言与日志处理。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    八、接口与手机自动化

    专业接口调用、测试解决方案。组建完整的web和接口自动化框架,Appium整体使用。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    九、敏捷测试&TestOps构建

    揭开TestOps的神秘面纱,持续集成Jenkins框架烂熟于心。

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    十、性能测试&安全测试

    软件测试的彼岸:性能测试和安全测试,选对方向,努力爬坑吧!

    8年软件测试工程师感悟——写给还在迷茫中的朋友

    上面就是我为大家整理出来的一份软件测试工程师发展方向知识架构体系图。希望大家能照着这个体系在3-4年内完成这样一个体系的构建。可以说,这个过程会让你痛不欲生,但只要你熬过去了。以后的生活就轻松很多。正所谓万事开头难,只要迈出了第一步,你就已经成功了一半,等到完成之后再回顾这一段路程的时候,你肯定会感慨良多。

    如果你不想再体验一次自学时找不到资料,没人解答问题,坚持几天便放弃的感受的话,可以关注我们:爱码小士, 公众号里面有各种软件测试资源和技术交流。

    加油吧,测试员!路就在脚下,成功就在明天!

    未来的你肯定会感谢现在拼命的自己!

    展开全文
  • 软件测试工程师经典面试题

    万次阅读 多人点赞 2018-10-27 23:55:52
      软件测试工程师,和开发工程师相比起来,虽然前期可能不会太深,但是涉及的面还是比较广的。前期面试实习生或者一年左右的岗位,问的也主要是一些基础性的问题比较多。涉及的知识主要有MySQL数据库的使用、Linux...

      软件测试工程师,和开发工程师相比起来,虽然前期可能不会太深,但是涉及的面还是比较广的。前期面试实习生或者一年左右的岗位,问的也主要是一些基础性的问题比较多。涉及的知识主要有MySQL数据库的使用、Linux操作系统的使用、软件测试框架性的问题,测试环境搭建问题、当然还有一些自动化测试和性能测试的问题。测试工程师的面试题,基本上都是大同小异的,面试的核心主要在于框架模块(一到两年工作经验)
    。今天这篇帖子主要讲解之前面试自己面试过程中或者周围人面试过程中经常被问到且比较经典的面试题,一家之言,如有异议或者有想问的问题,可以在评论区留言,看到后将在第一时间内回复!


    1、软件测试的流程是什么?
      分析:每当HR问一个问题的时候我们都可以用1~2s的时间去想HR想要从这个问题中获取什么信息,这点搞清楚之后再去回答就很好回答了。如果有工作经验,直接按照公司流程回答即可,如果是刚转行或者刚实习,那按标准回答即可,文中回答仅供参考;
      回答: 项目经理或者PD把项目需求文档提前下发给相关的研发人员,研发人员抽出一定的时间记录文档内需求不明确或者遗漏的点为后面的评审做准备;在需求评审会议上,各研发人员提出自己的疑问并解决,需求评审最终通过之后会出一份最终的需求规格说明书;(需求评审阶段)
        需求规格说明书评审通过后,开发经理开始编写开发计划,测试经理开始编写测试计划,计划评审通过后开发人员开始进行程序的开发,测试人员开始测试用例的编写,等程序的第一个版本出来后,开发人员进行第二个版本的迭代,这时测试人员对程序进行测试并记录追踪管理缺陷,直到程序迭代完毕。(产品研发阶段)
        程序迭代完毕并修复大部分缺陷后,测试人员开始进行工作的总结,并最终输出一份测试报告书,记录此次的测试工作共,程序存在的相关问题。(产品发布阶段)

    2、测试用例主要有哪些元素?
      分析:每个公司因为使用的模板不一样,所以测试用例的内容也是不尽相同的,所以回答时只需要回答出基本的元素即可;
      回答: 测试用例主要元素有:ID、标题、模块、预置条件、操作步骤、预期结果、实际结果、是否通过、BugID等;

    3、软件测试有什么策略和阶段?
      分析:软件测试的策略就是测试将按照什么样的思路和方式进行如采用什么技术,什么步骤等。
      回答 :软件测试的策略主要有:动态测试和静态测试、白盒测试和黑盒测试。测试阶段按照研发顺序分别是:单元测试、集成测试、系统测试,有些公司还会有验收测试;(单元测试开发在调试代码时就完成,集成测试也是,但是有时测试人员也需要进行集成测试;测试人员平时主要的工作就是系统测试,验收测试是有客户参与进行的测试);

    4、黑盒测试和白盒测试是什么?二者有什么区别?
      分析:黑盒测试和白盒测试的概念百度百科上面都有,这里不再做太多介绍。黑盒测试和白盒测试的区别:https://www.cnblogs.com/i16i1007/p/6624072.html记得
      回答: 黑盒测试主要是在程序界面进行测试,通过设定某种场景检验程序在这种场景下是否给出了正确的反应,验证程序正确实现了需求规格说明书中的需求,而白盒测试主要是针对程序内部结构,对程序代码进行代码走查等,但是白盒测试的成本会比较大,当程序有多个路径时,可能会产生较多的遗漏;

    5、软件测试有什么类型?
      回答: 常见的软件测试类型有:功能测试、性能测试、兼容性测试、可靠性测试、安全性测试、压力测试、负载测试等;

    6、测试用例是什么?有什么作用?
      回答:测试用例就是设计一个特定场景,让软件在这种场景下运行,检验程序是否给出正确的反应,以此验证软件是否正确实现了客户需求。
      作用:1、避免盲目测试并提高测试效率;在软件版本更新之后只需修正少部分用例即可开展测试工作,降低工作强度,缩短测试周期;
             2、可以分清哪些是测试重点,测试用例是测试工作的见证,能知道测试了哪些功能,没测哪些模块;
             3、测试用例是量化测试工作的方法之一;

    7、你平时是怎么设计测试用例的?
      分析:这个问题的点主要考察是否掌握测试用例设计方法,在回答之后,HR可能会继续追问某种设计方法的概念或者实例,这时举例说明即可;如:等价类划分法就是把程序的输入域划分成等价类,从每个部分中选取少数代表性数据当做测试数据。
      回答:设计测试用例一般都会使用到等价类、边界值、场景/流程法、因果图还有错误推测法;

    8、软件缺陷的定义是什么?
      分析:什么样的问题才是一个缺陷,需要从客户需求出发;
      回答:1、软件未实现需求规格说明书中的要求;
            2、出现需求规格说明书中指明不应该出现的错误;
            3、软件未实现需求文档中虽未明确提及但应该实现的功能;(如:账密加密)
            4、软件出现难以理解、不易使用或者运行速度慢等问题都可以认为是软件缺陷;

    9、缺陷中应该包含什么元素?严重等级一般有哪些?
      分析:这个问题和上面测试用例一样,每个公司的要求可能都会不一样;
      回答:主要元素有:标题、BugID、复现步骤、实际结果、预期结果、截图、日志等;软件缺陷等级一般有四种,致命(程序奔溃)、严重(金额计算错误、数据出错)、一般(不影响使用但是会造成一定的麻烦)、优化(字体字号不统一)

    10、给你一个杯子,你会怎么测试?
      分析:给你一个杯子,给你一个电梯,这种问题在前期的面试中是经常遇到也是非常经典的一道面试题,这里给出一个链接,回答时从外观、功能、性能等各个角度说起,再结合自己的一些话就可以了。
      回答:经典测试用例,一个水杯的测试https://blog.csdn.net/ganhongxia/article/details/6025416

    11、测试报告里面包含什么内容?
      分析:测试报告,是测试工作结束后测试部门输出的一份测试结果,但每个公司的测试报告内容都会有些差别。有些公司的测试报告是有测试部门的负责人一人编写,或者是由每个测试工程师输出自己对应模块的测试报告再由测试组长整合成一份完整的测试报告;
      回答:测试报告内容一般有:编写目的、系统简介、测试环境、测试方法和工具、测试执行结果与记录、缺陷汇总、遗留缺陷跟踪、测试用例执行情况、测试结论与建议等;

    12、如果在测试过程中发现了BUG,可是开发不承认这是Bug,你会怎么办?
      分析:HR问这个问题主要还是想知道你平时是如何处理与同事之间的关系。开发和测试是两个即对立又统一的两个岗位,所以开发和测试之间关系的处理也是HR面试过程中需要考虑的一个点。当然,HR问这个问题也表名该公司有氛围不是很好的风险。
      回答:首先还是应该回归到客户需求上面,确认这个问题到底属不属于一个缺陷,如果确实是则要和开发同事解释清楚;如果开发还是坚持自己想法的话,则询问同事或者测试组长的意见,讨论这个问题到底属不属于缺陷问题,如果大家都觉得是则需要和开发解释清楚。

    13、你们公司的需求评审是怎么进行的?
      分析:需求评审,就是对客户需求,软件各个模块之间模糊的点进行审查,排除不理解或者没有考虑到的点。
      回答:需求评审,在一些分工比较明确的公司,都是由PD(产品设计师)负责,需求确认好后再下发到开发和测试部门;分工不怎么明确的公司可能就是开发测试产品等大家坐在一起共同探讨;评审形式一般分为线上和线下两种方式,负责人一般会提前把需求文档下发到大家手上供大家整理各自的疑惑点,为后续的评审会议做准备。

    14、MySQL的常用命令有哪些?
      分析:数据库知识,是测试工程师必备的一个基本技能,在面试过程中也是经常会遇到的一个考点。对于刚入行的测试,对数据库知识的要求不会太高,只要求能掌握基本的增删改查语句即可。关于数据库的知识,在后续的时间里,也会慢慢的整理出来,供大家学习、参考。
      回答:这里只给出几个标准的语法结构:
            增:insert into 表名(列名) values (数据);
        如:在stu表中插入id为001,姓名为张三的学生,(insert into Stu(stu_id,stu_name) values (001,‘张三’);)
            删:delete from 表名 where 指定数据;
        如:在stu表中删除id为001,姓名为张三的学生:(detele from Stu where stu_id=‘001’ and stu_name = ‘张三’;)
            改:update 表名 set 改变项 where 指定数据;
        如:在stu表中修改id为001的学生姓名为“张三”:(update Stu set stu_name = ‘张三’ where stu_id=‘001’ ;)
            查:select (查询项) from 表名 where 指定条件;
        如:在stu表中查询id为001,姓名为“张三”的学生信息:(select * from Stu where stu_name = ‘张三’ and stu_id=‘001’ ;)

    15、Linux下的一些常用命令是什么?
      分析:Linux系统,也是软件测试工程师必须要掌握的一项基本的技能,由于Linux具有运行稳定等很多优点,软件的服务器大多部署在Linux系统上,搭建测试环境也是测试工程师需要掌握的。关于Linux的知识,在后续的时间里,也会慢慢的整理出来,供大家学习、参考。由于Linux下很多命令都是常用的,所以这里不给出答案。

    16、你未来的职业规划是什么?
      分析:职业规划问题,是所有面试中最常问的问题,问的人可能是HR、部门主管、经理、甚至是董事长。同一个问题,问的人不同,想要获取的信息也肯定是不一样的。HR更多的想看你在公司的稳定性;技术主管可能更想知道你是否真的喜欢测试这个岗位,后期是否会主动学习型新的技能等;而经理更多的是看你的职业规划符不符合公司的发展方向;软件测试工程师的发展方向主要有:测试开发、产品经理、测试转开发、测试大牛、讲师等岗位;
      回答:HR:如果是HR问的话,多从稳定性的角度回答,如:家人、朋友都在公司附近,或者喜欢贵公司的文化氛围等;
            技术:回答之前可以先简单介绍一下自己为什么选择软件测试这个职业,以及自己对这个职业的看法,最后再回答自己的职业发展方向即可;
            经理or董事长:这个回答回答起来的话还是比较难把握的,因为在面试时,面试者往往对公司的发展方向不是非常了解,所以在回答时可以再带一句,“具体的发展方向,还需要公司的发展方向去调整”。这样回答就会保险一些。

    17、还有什么想要问我的吗?
      分析:这个问题在每个面试的尾声都会被问到,直接说没有,会让HR觉得你不关心这个岗位,问的多了又会显得面试之前没有做好充分的准备。所以问题一般控制在两到三个比较好。
      回答:1、公司的研发团队目前是什么规模?开发、测试分别有多少人?
            2、公司的业务方向是什么?
            3、如果我入职之后,我的工作职责是什么?

    18、为什么想要离职?
      分析:这个问题主要是想要了解你的近况,以及上一家公司是什么原因导致你离职,。在大部分情况下,HR都会理解你,但是在回答问题时千万不能太过于实诚,有些面试者一上来就在抱怨上一家公司如何压榨公司员工等,没有一家公司愿意接受这样的面试者,HR并不能完全感受你所遭遇到的,所以还是请控制好自己的负面情绪。

    展开全文
  • 测试工程师

    发展趋势:TE-> SDET->SET进化,测试工程师和软件开发工程师的岗位在融合,开发技能变成测试工程师的标配技能之一。

    一.「测试开发工程师」和「软件测试工程师」职业定义

    什么是软件测试工程师

    软件测试工程师(Software Testing Engineer)指理解产品的功能要求,并对其进行测试,检查软件有没有错误(Bug),测试软件是否具有稳定性(Robustness),写出相应的测试规范和测试用例的专门工作人员。简而言之,软件测试工程师在一家软件企业中担当的是“质量管理”角色,及时发现软件问题并及时督促更正,确保产品的正常运作。

    什么是测试开发工程师

    软件测试开发工程师(英语:Software Design Engineer in Test),该词来源于微软。 SDET在敏捷软件流程中起着越来越关键的作用,既要快速了解各项知识,又要对业务能够快速上手。 SDET是为了解决在推行敏捷过程中,软件测试效率无法突破,并且在快速迭代中测试无法面面俱到,而产生的一种保证开发与测试过程之间无缝转换的一种角色。

    二.SET和SDET是什么?

    软件“测试工程师”和“ QA”角色已经存在了数十年,2000年大规模的测试自动化变得必要。 根据Wikipedia的说法,微软在2005年创造了“软件开发测试工程师”(SDET)的头衔,而其他公司(例如Amazon和Apple)很快采用了它。Google为相同类型的角色创造了“测试中的软件工程师Software Engineer in Test”(SET)的称呼。

    三.软件测试工程师和测试开发工程师的区别

    测试开发工程师就是测试中的软件开发工程师或测试中的软件设计工程师,目前许多组织都要求测试开发工程师这类专业人员能够参与应用程序开发以及所开发软件的测试。测试人员可以不参与软件开发的手工测试人员或质量分析人员。测试开发工程师通常参与开发高质量,健壮和高性能的代码,这对于自动化测试用例或设计可用作测试工具的测试框架很有用。测试开发工程师还审查了软件产品的设计和过程。测试开发工程师随着DevOps,敏捷和持续测试的增长,它的职责正在增加。

    测试开发工程师具有熟练的开发和测试技能;另一方面,测试人员参与到准备和执行测试用例的工作中,无论是手工还是自动化。

    测试人员是具有有限的编程技能,他们非常关注黑盒或功能测试,而测试开发工程师是具有良好编程技能,可以完成白盒测试以及测试自动化方面的开发人员的工作。

    测试开发工程师在软件开发方面非常精通,他们可以参与测试自动化工具的开发。测试人员不需要开发测试自动化工具,他们可以使用这些测试自动化工具来自动化软件应用程序或项目所需的测试用例。

    通常在组织中,开发测试自动化框架的测试人员或质量分析人员承担测试开发工程师的角色,并且可以参与软件应用程序或其他测试自动化框架的设计评审。

    测试开发工程师的职责比测试工程师承担的角色更多,如性能测试、安全测试、测试数据的自动生成、测试环境设置、开发测试自动化工具等。

    与手工测试人员不同,测试开发工程师需要具备领域知识,这样他们就可以参与设计测试用例。测试人员的所有职责都由测试开发工程师承担。

    有些组织,如微软,不区分测试人员的不同角色,并期望他们手工执行测试,以及在需要时编写测试自动化脚本或代码。组织现在强调测试人员至少要学习一种编程语言,他们可以使用这种语言在测试自动化工具上工作。此外,自动化测试工具如Selenium、FitNesse、SAHI等具有灵活性,可以使用各种编程语言(如Python、Pearl、JAVA等)

    结论:测试开发工程师不仅仅是一名测试工程师,它是开发人员和测试人员的混合体,他们接触过项目管理,交互并理解最终用户软件需求,了解产品或领域知识,参与产品或软件设计,知道如何编码和构建测试自动化工具。

    小故事:陆奇和SDET

    微软作为软件时代发迹的软件公司,对于软件开发有一套严格而切实有效的开发流程和管理模式方式。它在组织架构上是典型的开发,测试,和项目经理三权分立的架构。这三个组织的最高领导人,在很多的组织里,一直到VP以上才汇报给一个人。举例来说,在微软的在线服务部门,陆奇才是第一个让必应的开发,测试,和项目经理的最高负责人汇报到一起的人。

    微软之所以采取这个架构,在1995年的时候是可以理解的。那个时候互联网并不发达,软件开始主要靠软盘后来靠光盘发售。如果有严重的bug,修复起来的成本非常的高。所以在当时,稳定的开发和严格的测试,以及明确的用户需求都是一个软件公司成功必不可少的。

    但是到了互联网时代互联网公司不是这样的。Facebook创始人马克扎卡伯格提倡的是快速开发快速发布,有bug上线以后再修。测试在新兴的互联网企业里面的比重大幅度的下降。

    因为互联网公司的软件都是自己部署的,所以可以很方便的修改和重新部署,不需要测试的那么仔细。与此同时,现在互联网已经非常发达了,即使传统软件公司要修一个严重的bug并让所有买了软件的人更新,也不再是一件那么高成本的事情。所以微软养着的庞大的测试队伍,不但消耗微软大量的资源,而且不产生实际的效益。

    如果对软件测试、接口、自动化、性能测试、LR脚本开发、面试经验交流。感兴趣可以1079636098,群内会有不定期的发放免费的资料链接,这些资料都是从各个技术网站搜集、整理出来的,如果你有好的学习资料可以私聊发我,我会注明出处之后分享给大家。

    陆奇领导的在线服务部门。其改革的主要目的是为了大幅度减少这些并不产生实际效益的测试部门。陆奇效仿其他互联网公司,在Bing开发组织中推行所谓的Combined Engineering。具体来说是把开发人员和测试人员混编,大家都干同样的事情。这个Combined Engineering开始只是一两个小组试点。并到宣传这种做法的好处,开发效率高,开发人员对自己的代码负责等等。大约一年多以后整个必应都被Combine掉了,测试作为一个独立的组织在微软的在线服务部门不存在了。专门的测试人员还留了一点,大部分的和开发人员合并,并且汇报给同一个领导。合并以后测试人员以开发人员的标准做绩效考核的。结果就是测试人员的绩效考核通常都比较低,而那些垫底的就被开除了。微软的陆奇通过这个Combined Engineering,解决了很多微软高层一直不能解决的问题:裁减测试人员。这个Combined Engineering后来就大幅度向微软各个部门推广了。

    有人喜欢创造世界,他们做了开发者;有的人喜欢开发者,他们做了测试员。什么是软件测试?软件测试就是一场本该在用户面前发生的灾难提前在自己面前发生了,这会让他们生出一种救世主的感觉,拯救了用户,也就拯救者这个软件,避免了他们被卸载的命运。

    微信搜一搜【程序员一凡】关注这个文绉绉的程序员,关注后回复【面试】有我准备的一线大厂面试资料和简历模板,希望大家都能找到心仪的工作,学习是一条时而郁郁寡欢,时而开怀大笑的路,加油。如果你通过努力成功进入到了心仪的公司,一定不要懈怠放松,职场成长和新技术学习一样,不进则退。如果有幸我们江湖再见!

    展开全文
  • 黑盒测试:没有开发基础的测试工程师通常由黑盒测试做起,不过根据个人经验,这部分工作依然会给我们带来很多经验性的东西,比如熟悉浏览器特性,熟悉公司业务流程,业务知识,以及测试用例的设计。 接口测试:接口...
  • 初级测试工程师: 刚入门的拥有计算机科学学位的个人或具有一些手工测试经验的个人。开发测试脚本并开始熟悉测试生存周期和测试技术。工作通常都是按照软件测试方案和流程对产品进行功能测验,检察产品是否有缺陷。...
  • 测试工程师等级标准

    2018-06-18 17:16:28
    测试工程师职称评定细则初级测试工程师 任职要求 1.一年以上软件测试经验,熟悉各种测试方法、测试工具、测试流程; 2.本科及以上学历,计算机相关专业; 3.有较强的分析问题能力和文字表达能力,逆向思维好;能...
  • 测试工程师成长路径

    2019-08-13 18:33:30
    测试工程师成长路径测试工程师的简介初级测试工程师中级测试工程师高级测试工程师 测试工程师的简介 如果要成为一枚测试工程师,门槛很低,如果想在这个岗位上做的出色,很难。 初级测试工程师 也可以叫做测试工程师...
  • 网络安全与渗透测试工程师

    千人学习 2019-08-22 10:42:38
    随着社会基础产业全面互联网化,国家对网络安全的人才需求也呈现出井喷趋势。网络安全面临的威胁越来越大,然而...所以这套课程主要讲解面试安全工程师或渗透测试工程师必备的基本技能和学习方向,希望大家有所收获。
  • 自动化测试工程师是不是自动化工程师都是使用代码来实现自动化的? 对于这一点我要说明一点,自动化工程师并不是这样的。 自动化分为工具的自动化和代码的自动化。自动化测试有很多工具,例如postman,soapUI等等...
  • 高级测试工程师面试经验

    万次阅读 多人点赞 2018-04-12 10:44:07
    一年之际在于春,新年伊始,又到了跳槽的好季节,不知道你是不是已经安于现状,我作为一名4年的测试工程师,最近在被面试过程中遇到了许多问题,就自己的经历来分析下作为高级测试工程师跳槽前应该准备哪些知识,...
  • 软件测试&软件测试工程师

    千次阅读 2016-07-08 15:58:01
    内容: 测试工程师和软件测试工程师 起源: 最近在面试软件测试工程师方面的工作,今天在整理整理一下关于软件测试这方面的知识点。 一、 测试工程师: 1、 国内定位和发展前景: 测试工程师,软件质量的...
  • 软件测试工程师必备技能

    千次阅读 多人点赞 2019-03-06 17:05:09
    软件测试工程师的技能树 软件测试工程师是一个历史很悠久的职位,可以说从有软件开发这个行业以来,就开始有了软件测试工程师的角色。随着时代的发展,软件测试工程师的角色和职责也在悄然发生着变化,从一开始单纯...
  • 二、软件测试工程师:简历模板 三、软件测试工程师:简历包装 1.基本信息: 2.教育背景: 3.专业技能 4.工作经历 5.项目经验 6.自我评价 四、软件测试工程师:简历总结 一、前言:浅谈面试 面试是我们...
  • 针对测试工程师以及在mongodb方面没有任何经验的童鞋。非这些人群请自动忽略 课程中的内容为了便于大家理解记忆会和mysql进行对比,所以没有任何mysql基础的同学建议先学习mysql这样理解起来更容易。 mongodb的...
  • 一个测试工程师

    千次阅读 2018-01-09 21:08:12
    *一个测试工程师走进一家酒吧,要了一杯啤酒,一切OK *一个测试工程师走进一家酒吧,要了一杯咖啡,一切OK *一个测试工程师走进一家酒吧,要了0.7杯啤酒,一切OK *一个测试工程师走进一家酒吧,要了-1杯啤酒,...
  • 高级测试工程师简历

    2020-10-22 20:02:09
    高级软件测试工程师 工作技能 熟练掌握 Web 端和 APP 端常规性测试,包括搭建测试 bug 管理系统,编写测试用例, 部署测试环境,对 WEB 端进行接口测试,功能测试,兼容性测试,输出[验收报告] 熟练掌握 SQL 语句,...
  • c语言测试工程师

    2015-05-27 13:22:10
    学习C语言除了可以编写程序以外还可以当c语言测试工程师,和C语言工程师比c语言测试工程师待遇同样也不错,现在参加考c语言测试工程师也是不错的选择。 中华英才网近期发布了最新一期的IT职场人气排行榜,最热门...
  • 测试工程师路线

    千次阅读 2018-08-16 14:12:26
    一、Linux必备知识 linux作为现在最流行的软件环境系统,一定需要掌握,目前的招聘要求都需要有linux能力。 二、Shell脚本 掌握shell脚本,包括shell基础与应用、...软件测试工程师必备Mysql数据库知识,不仅仅...
  • 谈谈全栈测试工程师

    千次阅读 2020-08-10 19:11:50
    我们经常会看到一些公司的岗位描述中,会这样要求测试工程师: 要有相关行业背景,互联网或金融产品相关经验 N年Web/App产品测试经验,N年管理经验或技术经验 精通一种:接口测试、自动化测试(API/WEB)、性能测试...
  • 浅论软件测试工程师

    2017-02-20 13:36:25
    软件测试工程师,有些公司称为测试开发工程师,其核心职责还是软件测试,保证软件的交付质量。 有很多文章比较测试工程师和开发工程师的各种优劣。通常来说,测试工程师的专业技能没有开发工程师高。很多软件...
  • 华为测试工程师面经

    千次阅读 2020-03-13 13:24:01
    华为软件测试工程师面经 2.24号投递的简历,3.4号收到笔试通知,3.11号面试,
  • 软件测试工程师

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

    2019-02-21 16:15:27
    软件测试工程师工资到底有多高?这个大家完全可以去招聘网上进行查询。因为软件测试越来越受到重视,所以薪资也是水涨船高。现在软件测试工程师的薪资也不低了,一般都在一万以上。测试人员需要掌握哪些知识?哪家软件...
  • 测试工程师面试指南

    2019-10-27 23:18:17
    https://www.jianshu.com/p/9dff30ad35e1经典测试工程师面试题(一) http://www.yidianzixun.com/0ImiBOUY想进BAT?这些面试题助你一臂之力(附答案) http://qa.tedu.cn/workplace/topic/309389.html软件测试...
  • 招聘中级测试工程师、开发测试工程师各一名开发测试工程师http://automationqa.com/forum.php?mod=viewthread&tid=1533&fromuid=2中级测试工程师...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,476
精华内容 9,790
关键字:

测试工程师