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

    万次阅读 多人点赞 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并不能完全感受你所遭遇到的,所以还是请控制好自己的负面情绪。

    展开全文
  • 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-07-10 18:33:43
    因此,对于一个测试人员来说,学会使用工具是成为一个“工程师”的开始,你可能还不知道GET请求有长度限制、不知道签名验证是怎么回事,但是不重要,起码你知道怎样才是测试的正确姿势了,而不是一昧的点击...

    并非只是写写测试用例、点点画面、看看结果,能力稍强的会用一下Postman做一下模拟请求、抓个包看一下应用的接口返回结果,但是也就止步于此了,况且抓包和模拟请求只是对工具的应用而已,还远远谈不上会一门手艺。

    因此,对于一个测试人员来说,学会使用工具是成为一个“工程师”的开始,你可能还不知道GET请求有长度限制、不知道签名验证是怎么回事,但是不重要,起码你知道怎样才是测试的正确姿势了,而不是一昧的点击应用上的按钮。

    一般开发走的职业路径是:普通开发->高级开发->资深开发->架构师->研发经理->CTO

    测试走的职业路径是:普通测试工程师->高级测试工程师->资深测试工程师->测试经理->产品经理

    描述问题的能力

    大部分学习理工科并且工作内容也与理工科相关的人都有一个特点:说话办事都喜欢遵循一定的逻辑,譬如我们目前谈论的这件事发生问题的场景是怎样的,前置条件是什么,后置操作会产生怎样的副作用。这样的沟通模式下,问题可以得到很快的定位,解决方案的大致雏形也会在沟通中慢慢形成。

    对于测试工程师来说也是,程序是人写的难免会出Bug,但是也是因为是某个程序员写的,他对于内在的逻辑、可能发生问题的地方会有一个大致的判断。测试工程师的工作就是,告诉他发生问题数据的ID、发生问题的场景、当时的测试数据是怎样的等等而不是,把一个截图甩给程序员,说:“这地方出错了啊。”

    基础代码能力

    如何增强对逻辑思维的锻炼?写代码啊,又学一门手艺又得到了大脑的锻炼,岂不是美滋滋?

    貌似很多测试工程师都喜欢去学Python这门语言,确实这是一门对于代码入门者非常友好的语言,但是包括那位测试小哥在内都有一个困惑:学了Python能干嘛?我的建议是从写爬虫开始,学习爬虫的编写可以接触到网络请求的基本知识、可以学习到正则表达式,需要爬取大量数据时还可以顺便学习一下数据库的使用,当然了对于爬虫来说学习一下非关系型数据库就可以了。这一方面是为自己学习自动化测试铺路,一方面也可以为以后转岗提供换一个后路:不做测试了我干脆去写代码好了。

    乐观的心态

    测试工程师每天面对的是程序中的“错误”,而程序员每天都在创造代码。起码我作为一个垃圾代码的创造者,是很讨厌去排错的。因此就我而言,测试时你很难保证心态的平和,因为你不知道什么时候会出一个莫名奇妙的错误。

    假设这么一个场景,你测试出了一个bug,但是程序员自测之后发现无法复现,你的第一反应不应该是脱口而出:“不可能!”而应该是比对两个人的测试用例,发现可能存在的问题。



    展开全文
  • 软件测试&软件测试工程师

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

    日期: 2016-7-8:


    内容: 测试工程师和软件测试工程师


    起源: 最近在面试软件测试工程师方面的工作,今天在整理整理一下关于软件测试这方面的知识点。



    一、 测试工程师:

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


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

    2、 工作职责:

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


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

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


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


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


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


    3、 职业特点:


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


    4、 职业待遇:


    软件质量的把关者,人才凤毛麟角,薪酬上升空间非常大。
    质量是企业的生命线,测试工程师作为软件质量的把关者,因为职位的重要而有较高的待遇就顺理成章了。另外,“物以稀为贵” 的市场规律也使得当前极为紧俏的测试工程师“钱景看好”。
    并且我国的软件测试职业还处于一个发展的阶段,随着软件行业对产品质量重视程度的提高,受过系统培训、掌握先进测试技术的软件测试从业人员的薪酬上升空间大。从企业人才需求和薪金水平来看,软件测试工程师的年工资还有逐年上升的明显趋势。

    5、 关于测试讨论的一片文章(http://www.csdn.net/article/2013-06-20/2815884-cmdn-29-panel)(如何做个有“钱”途的测试工程师?)


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




    二、 软件测试工程师:




    百度百科:

    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

    ⑧、 测试负责人在测试工作中,还需要根据实际情况不断改进测试过程,提高测试水平,进行测试队伍的建设等。

    6、 职业发展:


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


    测试分析师
    主要职责是对系统的测试结果进行综合的分析,例如缺陷分析、性能分析等。测试分析师不但测试技术能力较强,
    还要具备数据库、操作系统等多方面的技术知识。这类职务的发展空间也不错,可以发展成系统设计师等。


    测试工程师
    主要职责是编写测试程序、执行自动化测试任务。这类职位的测试人员至少要达到初级程序员的能力,因为经常
    和程序打交道。发展空间也不错,例如可以发展为程序员。

    7、 测试分类:

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


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


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


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

    8、 职业素质:

    专业技能:


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


    ①、 测试专业技能:
    测试专业知识很多,本书内容主要以测试人员应该掌握的基础专业技能为主。测试专业技能涉及的范围
    很广:既包括黑盒测试、白盒测试、测试用例设计等基础测试技术,也包括单元测试、功能测试、集成测试、
    系统测试、性能测试等测试方法,还包括基础的测试流程管理、缺陷管理、自动化测试技术等知识。


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


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


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


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


    在网络方面,测试人员应该掌握基本的网络协议以及网络工作原理,尤其要掌握一些网络环境的配置,这些都是
    测试工作中经常遇到的知识。


    操作系统和中间件方面,应该掌握基本的使用以及安装、配置等。例如很多应用系统都是基于Unix、linux来运行的,
    这就要求测试人员掌握基本的操作命令以及相关的工具软件。而WebLogic、Websphere等中间件的安装、配置很多时
    候也需要掌握一些。


    数据库知识则是更应该掌握技能,现在的应用系统几乎离不开数据库。因此不但要掌握基本的安装、配置,还要掌握
    SQL。测试人员至少应该掌握Mysql、MSSqlserver、Oracle等常见数据库的使用。



    行业知识:


    行业主要指测试人员所在企业涉及的行业领域,例如很多IT企业从事石油、电信、银行、电子政务、电子商务等行业领
    域的产品开发。行业知识即业务知识,是测试人员做好测试工作的又一个前提条件,只有深入地了解了产品的业务流程,
    才可以判断出开发人员实现的产品功能是否正确。


    很多时候,软件运行起来没有异常,但是功能不一定正确。只有掌握了相关的行业知识,才可以判断出用户的业务需求
    是否得到了实现。


    行业知识与工作经验有一定关系,通过时间即可以完成积累。


    个人素养:


    作为一名优秀的测试工程师,首先要对测试工作有兴趣:测试工作很多时候都是显得有些枯燥的,因此热爱测试工作,才更容易做
    好测试工作。因此,除了具有前面的专业技能和行业知识外,测试人员应该具有一些基本的个人素养,即下面的“五心”。


    1.专心:主要指测试人员在执行测试任务的时候要专心,不可一心二用。经验表明,高度集中精神不但能够提高效率,还能发现更
    多的软件缺陷,业绩最棒的往往是团队中做事精力最集中的那些成员。


    2.细心:主要指执行测试工作时候要细心,认真执行测试,不可以忽略一些细节。某些缺陷如果不细心很难发现,例如一些界面的
    样式、文字等。


    3.耐心:很多测试工作有时候显得非常枯燥,需要很大的耐心才可以做好。如果比较浮躁,就不会做到“专心”和“细心”,这将让很
    多软件缺陷从你眼前逃过。


    4.责任心:责任心是做好工作必备的素质之一,测试工程师更应该将其发扬光大。如果测试中没有尽到责任,甚至敷衍了事,这将
    会把测试工作交给用户来完成,很可能引起非常严重的后果。


    5.自信心:自信心是现在多数测试工程师都缺少的一项素质,尤其在面对需要编写测试代码等工作的时候,往往认为自己做不到。
    要想获得更好的职业发展,测试工程师们应该努力学习,建立能“解决一切测试问题”的信心。


    “五心”只是做好测试工作的基本要求,测试人员应该具有的素质还很多。例如测试人员不但要具有团队合作精神,而且应该学会
    宽容待人,学会去理解“开发人员”,同时要尊重开发人员的劳动成果——开发出来的产品。


    要求
    1、质量意识:在整个软件测试的各个环节中,质量意识一定要贯穿其中。理解功能需求,书写测试案例,执行测试计划,发现问题,
    提交问题,描述问题,协助解决问题,以及问题的跟踪等,在所有的环节中,一定要注重质量,并且从质量的角度来思考问题。


    2、细心并且系统:软件测试可能每天要重复同样的操作,其工作可能会枯燥无味,并且发现的问题可能很微小或者很杂乱无章、
    现象不一。在这样的情况下,软件测试人员一定要细心不放过任何微小的错误,并且从很多杂乱的现象中找出一定的规律和复
    现性。并且在测试中有很好的规划性,先测什么而后测什么,不放过任何软件的死角。在测试中,一定要系统的看待问题,功能
    模块A的改动会否影响到其他模块的功能,不能想当然,一定要系统性的看待。有时候一个内存地址的改变,都有可能引起准给
    软件的崩溃。所以一定要系统性的去处理和看待软件中修改的任意一处代码。


    3、软件测试理论的掌握以及开发工具和平台的应用:黑盒测试,白盒测试,功能/系统/压力/性能等等。但不管测试任何东西,
    基本理论是不变的。需求文档,设计文档,根据文档制作测试用例(划分等价、边界测试、路径测试、用户体验、等等),执行测试
    ,提交并跟踪问题。当然,行业的不同,其测试用的工具和方法也不太一样。手机App该如何测试,无线通讯产品该如何测试,
    C/B-S应用该如何测试,这些产品的差异性很大,其用到的工作也很不一样,但是其基本的测试理论还是一致的。


    4、站的高看的细:不能光有理论,对测试的很多文档可以提出很多有建设性的意见,但当执行测试时却不能发现问题。这其中有
    几个原因,一是可能提出的意见并没有写进测试案例中,二是有可能执行不仔细总是忽视问题的存在,三可能就是没有去实施。
    所以一定要站在一定的高度去看待软件测试,但是又要很细致的实施。只有通过实践,才能发现问题改进问题到最后解决问题。


    5、团队合作:这个无需多讲,在这个产品日渐复杂的年代,很难有一己之力就可以在各个方面做的最好。要充分发挥团队每个人
    员的工作能力和效率。


    6、怀疑:有些书是这样定义软件测试的,软件测试不会去证明软件是正确的,而是去证明是错误的,但是我们不可能发现所有的
    错误。所以有很多时候要去怀疑要去假设。



    软件测试种类:
    手工测试、
    自动化测试、
    静态测试


    软件测试方法
    黑盒测试;
    白盒测试;
    灰盒测;


    软件测试类型
    功能测试;
    性能测试;
    可靠性试;
    安全测试;
    配置测试;
    GUI测试;
    备份测试;
    文档测试;
    在线帮助测试;
    易用性测试等等


    软件测试阶段
    单元测试;
    集成测试;
    系统测试;
    Alpha测试;
    Beta测试;
    验收测试;
    回归测试;

    展开全文
  • 网络安全与渗透测试工程师

    千人学习 2019-08-22 10:42:38
    随着社会基础产业全面互联网化,国家对网络安全的人才需求也呈现出井喷趋势。网络安全面临的威胁越来越大,然而...所以这套课程主要讲解面试安全工程师或渗透测试工程师必备的基本技能和学习方向,希望大家有所收获。
  • 针对测试工程师以及在mongodb方面没有任何经验的童鞋。非这些人群请自动忽略 课程中的内容为了便于大家理解记忆会和mysql进行对比,所以没有任何mysql基础的同学建议先学习mysql这样理解起来更容易。 mongodb的...
  • 测试工程师职业发展漫谈

    千次阅读 多人点赞 2019-09-03 08:44:24
    这篇文章发表于两年多前,现在读起来仍然是深有启发,很多地方到了两年后的今天仍然有指导意义,测试人员的思维确实不应该局限于测试行业,而应该放眼于整个软件行业和互联网行业的发展与变迁(我们的思维就是用来...
  • 测试工程师面试指南

    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软件测试...
  • 黑盒测试:没有开发基础的测试工程师通常由黑盒测试做起,不过根据个人经验,这部分工作依然会给我们带来很多经验性的东西,比如熟悉浏览器特性,熟悉公司业务流程,业务知识,以及测试用例的设计。 接口测试:接口...
  • 软件测试工程师笔试题目

    万次阅读 2018-11-04 22:00:53
    软件测试工程师笔试题目   一.选择题   1、 系统测试使用( C )技术, 主要测试被测应用的高级互操作性需求, 而无需考虑被测试应用的内部结构。 A、 单元测试 B、 集成测试 C、 黑盒测试 D、白盒测试   2...
  • 网站渗透测试其实就是模拟黑客恶意攻击你的网站,找出一的网站漏洞,从而进行安全防御和维护的一种测试,一步一步成为渗透测试工程师! 渗透测试工程师-网络攻防入门书籍推荐 《Python黑帽子:黑客与渗透测试编程之道...
  • 高级测试工程师面试经验

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

    2019-10-18 16:13:53
    实例 你好,我叫xxx,19年从xxxx大学毕业,18年六月至今在xxx有限公司从事软件测试工作。 主要负责过两个项目:1xxxapp 通过人工智能发现每个人自己喜欢的视频,并可以帮助视频创作人轻松地向全世界分享自己的视频...
  • 02.什么是接口测试 03.接口测试的类型 04.HTTP和Web Service接口的区别与介绍 05.HTTP接口和Web Service接口的特点对比 06.接口测试的重点以及原理 07.接口文档(概述阅读缺失) 08.接口测试的执行流程 09.接口用例...
  • 初级测试工程师: 刚入门的拥有计算机科学学位的个人或具有一些手工测试经验的个人。开发测试脚本并开始熟悉测试生存周期和测试技术。工作通常都是按照软件测试方案和流程对产品进行功能测验,检察产品是否有缺陷。...
  • 大家都说软件测试入门容易,似乎软件测试成了跳进互联网生态圈的最佳途径。但是不少小伙伴在入门软件测试后,却变的相当的迷茫,不知道自己应该做什么,似乎点点点就成了工作中唯一的事情了。趁现在负能量还没有缠身...
  • 测试工程师面试常见问题

    千次阅读 2019-02-19 15:18:04
    测试工程师面试常见问题 1、发版时间已定(无法更改),之前规划的测试时间明显不够。如果你是当前版本测试负责人,如何处理? 先明确为什么测试时间不够(开发延期提测、提测质量不高测试打回、测试人员对测试评估...
  • 初级软件测试工程师之必备SQL语句基础

    万次阅读 多人点赞 2018-02-11 10:39:19
    作为一个软件测试工程师,我们在测试过程中往往需要对数据库数据进行操作,但是我们的操作大多以查询居多,有时会涉及到新增,修改,删除等操作,所以我们其实并不需要对数据库的操作有特别深入的了解,以下是我在...
  • 测试工程师简历模板

    万次阅读 2019-04-10 15:49:59
    专业技能或IT技能,写在自我评价也可 1.技术(硬实力): (1)自动化 (2)性能 (3)数据库 (4)环境部署 (5)抓包 注意: (1)不要写的太过细节,而是写自己学过什么 (2)不要写一线的知识 ...
  • 首先要感谢那些嘲讽我代码写的烂的人,五年开发经验嘲笑刚出校门踏入社会的我,让我放弃了开发工作,走向测试的康庄大道。此外,曾经的开发经验对我测试工作的帮助是无与伦比的。数据库,编程语言,liunx,环境部署...
  • 课程主要讲解内容: 在软件测试行业的面试过程中,面试官会提及的相关技术点,包括自动化、数据库、常规测试管理等方面,并对这些技术点进行细化讲解,让学员能在实际面试中更好应对这一类型技术问题。
  • 测试工程师题库

    2019-08-25 12:40:35
    为什么要做软件测试 ? 兴趣 “兴趣是最好的老师”,学自己感兴趣的东西,往往会更加积极,测试人员往往以客户为出发点考虑一些事情,所以一个好的产品,受到用户的喜爱,离不开测试人员的努力。 性格 善于与人...
  • 谈谈全栈测试工程师

    千次阅读 2020-08-10 19:11:50
    我们经常会看到一些公司的岗位描述中,会这样要求测试工程师: 要有相关行业背景,互联网或金融产品相关经验 N年Web/App产品测试经验,N年管理经验或技术经验 精通一种:接口测试、自动化测试(API/WEB)、性能测试...
  • 自动化测试工程师是不是自动化工程师都是使用代码来实现自动化的? 对于这一点我要说明一点,自动化工程师并不是这样的。 自动化分为工具的自动化和代码的自动化。自动化测试有很多工具,例如postman,soapUI等等...

空空如也

1 2 3 4 5 ... 20
收藏数 21,468
精华内容 8,587
关键字:

测试工程师