软件测试⼯程师经典⾯试题
  软件测试⼯程师,和开发⼯程师相⽐起来,虽然前期可能不会太深,但是涉及的⾯还是⽐较⼴的。前期⾯试实习⽣或者⼀年左右的岗位,问的也主要是⼀些基础性的问题⽐较多。涉及的知识主要有MySQL数据库的使⽤、Linux操作系统的使⽤、软件测试框架性的问题,测试环境搭建问题、当然还有⼀些⾃动化测试和性能测试的问题。测试⼯程师的⾯试题,基本上都是⼤同⼩异的,⾯试的核⼼主要在于框架模
块(⼀到两年⼯作经验)
。今天这篇帖⼦主要讲解之前⾯试⾃⼰⾯试过程中或者周围⼈⾯试过程中经常被问到且⽐较经典的⾯试题,⼀家之⾔,如有异议或者有想问的问题,可以在评论区留⾔,看到后将在第⼀时间内回复!
1、软件测试的流程是什么?
  分析:每当HR问⼀个问题的时候我们都可以⽤1~2s的时间去想HR想要从这个问题中获取什么信息,这点搞清楚之后再去回答就很好回答了。如果有⼯作经验,直接按照公司流程回答即可,如果是刚转⾏或者刚实习,那按标准回答即可,⽂中回答仅供参考;
  回答: 项⽬经理或者PD把项⽬需求⽂档提前下发给相关的研发⼈员,研发⼈员抽出⼀定的时间记录⽂档内需求不明确或者遗漏的点为后⾯的评审做准备;在需求评审会议上,各研发⼈员提出⾃⼰的疑问并
解决,需求评审最终通过之后会出⼀份最终的需求规格说明书;(需求评审阶段)
    需求规格说明书评审通过后,开发经理开始编写开发计划,测试经理开始编写测试计划,计划评审通过后开发⼈员开始进⾏程序的开发,测试⼈员开始测试⽤例的编写,等程序的第⼀个版本出来后,开发⼈员进⾏第⼆个版本的迭代,这时测试⼈员对程序进⾏测试并记录追踪管理缺陷,直到程序迭代完毕。(产品研发阶段)
目标管理的五大原则    程序迭代完毕并修复⼤部分缺陷后,测试⼈员开始进⾏⼯作的总结,并最终输出⼀份测试报告书,记录此次的测试⼯作共,程序存在的相关问题。(产品发布阶段)
2、测试⽤例主要有哪些元素?
  分析:每个公司因为使⽤的模板不⼀样,所以测试⽤例的内容也是不尽相同的,所以回答时只需要回答出基本的元素即可;
  回答: 测试⽤例主要元素有:ID、标题、模块、预置条件、操作步骤、预期结果、实际结果、是否通过、BugID等;
3、软件测试有什么策略和阶段?
  分析:软件测试的策略就是测试将按照什么样的思路和⽅式进⾏如采⽤什么技术,什么步骤等。
  回答 :软件测试的策略主要有:动态测试和静态测试、⽩盒测试和⿊盒测试。测试阶段按照研发顺序分别是:单元测试、集成测试、系统测试,有些公司还会有验收测试;(单元测试开发在调试代码时就完成,集成测试也是,但是有时测试⼈员也需要进⾏集成测试;测试⼈员平时主要的⼯作就是系统测试,验收测试是有客户参与进⾏的测试);
5、软件测试有什么类型?
  回答: 常见的软件测试类型有:功能测试、性能测试、兼容性测试、可靠性测试、安全性测试、压⼒测试、负载测试等;
6、测试⽤例是什么?有什么作⽤?javascript语言程序培训
  回答:测试⽤例就是设计⼀个特定场景,让软件在这种场景下运⾏,检验程序是否给出正确的反应,以此验证软件是否正确实现了客户需求。
  作⽤:1、避免盲⽬测试并提⾼测试效率;在软件版本更新之后只需修正少部分⽤例即可开展测试⼯作,降低⼯作强度,缩短测试周期;         2、可以分清哪些是测试重点,测试⽤例是测试⼯作的见证,能知道测试了哪些功能,没测哪些模块;
         3、测试⽤例是量化测试⼯作的⽅法之⼀;
7、你平时是怎么设计测试⽤例的?
  分析:这个问题的点主要考察是否掌握测试⽤例设计⽅法,在回答之后,HR可能会继续追问某种设计⽅法的概念或者实例,这时举例说明即可;如:等价类划分法就是把程序的输⼊域划分成等价类,从每个部分中选取少数代表性数据当做测试数据。
  回答:设计测试⽤例⼀般都会使⽤到等价类、边界值、场景/流程法、因果图还有错误推测法;
8、软件缺陷的定义是什么?
  分析:什么样的问题才是⼀个缺陷,需要从客户需求出发;
  回答:1、软件未实现需求规格说明书中的要求;
        2、出现需求规格说明书中指明不应该出现的错误;
        3、软件未实现需求⽂档中虽未明确提及但应该实现的功能;(如:账密加密)
        4、软件出现难以理解、不易使⽤或者运⾏速度慢等问题都可以认为是软件缺陷;
9、缺陷中应该包含什么元素?严重等级⼀般有哪些?
  分析:这个问题和上⾯测试⽤例⼀样,每个公司的要求可能都会不⼀样;
  回答:主要元素有:标题、BugID、复现步骤、实际结果、预期结果、截图、⽇志等;软件缺陷等级⼀般有四种,致命(程序奔溃)、严重(⾦额计算错误、数据出错)、⼀般(不影响使⽤但是会造成⼀定的⿇烦)、优化(字体字号不统⼀)
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问的话,多从稳定性的⾓度回答,如:家⼈、朋友都在公司附近,或者喜欢贵公司的⽂化氛围等;
创建触发器sql语句        技术:回答之前可以先简单介绍⼀下⾃⼰为什么选择软件测试这个职业,以及⾃⼰对这个职业的看法,最后再回答⾃⼰的职业发展⽅向即可;
        经理or董事长:这个回答回答起来的话还是⽐较难把握的,因为在⾯试时,⾯试者往往对公司的发展⽅向不是⾮常了解,所以在回答时可以再带⼀句,“具体的发展⽅向,还需要公司的发展⽅向去调整”。这样回答就会保险⼀些。
17、还有什么想要问我的吗?
  分析:这个问题在每个⾯试的尾声都会被问到,直接说没有,会让HR觉得你不关⼼这个岗位,问的多了⼜会显得⾯试之前没有做好充分的准备。所以问题⼀般控制在两到三个⽐较好。
mysql面试题大全
  回答:1、公司的研发团队⽬前是什么规模?开发、测试分别有多少⼈?
易语言教程案例        2、公司的业务⽅向是什么?
        3、如果我⼊职之后,我的⼯作职责是什么?
18、为什么想要离职?
  分析:这个问题主要是想要了解你的近况,以及上⼀家公司是什么原因导致你离职,。在⼤部分情况下,HR都会理解你,但是在回答问题时千万不能太过于实诚,有些⾯试者⼀上来就在抱怨上⼀家公司如何压榨公司员⼯等,没有⼀家公司愿意接受这样的⾯试者,HR并不能完全感受你所遭遇到的,所以还是请控制好⾃⼰的负⾯情绪。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。