‘壹’ 软件测试面试常见问题
软件测试面试常见问题
1、介绍一下整体项目流程
答案:
1. 搭建缺陷管理的环境和测试环境以及配置管理的环境搭建;2. 编写测试计划;3. 设计测试用例;4. 编写测试用例;5. 测试用例的评审;6. 执行测试;7. 缺陷管理; 8. 测试报告的输出
2、在实际项目中你是如何做测试计划
答案:
1.对客户提供的或需求分析人员编写的用户需求文档或需求规格说明书进行分析,提炼出测试要点;
2.根据测试要点编写测试用例。
3.由评审组对测试用例进行评审--修改--再次评审--初步定稿
4.执行测试
4.1 按照测试用例对系统进行功能验证及客户的需求验证
4.2 将测试过程中产生的Bug录入缺陷管理系统
4.3 新版本发布后,对本次版本新增加的功能以及开发人员修正的Bug进行回归测试
4.4 根据项目需要提交测试报告。
3、你是如何制定测试过程中的时间进度表的
答案:根据项目的需求、开发周期、开发人员的开发进度等时间安排来制定一个测试时间进度初 稿,并将测试时间进度表交与整个项
目团队成员大家一起讨论和分析,最终和所有人达成共识制定出一个大家都可以执行的测试时间进度表。
时间表中包括了开发人员提交功能或功能模块的时间,以及为了更好的执行测试,配合测试人员进行功能培训的时间,以及测试
执行时间等,都详细的写到WBS中,并按照这个时间进度表来执行项目的测试任务。
4、测试计划都包括那些项
答案:1. 测试计划目标 2. 测试参考文档 3.测试术语与定义 4. 测试内容 5. 测试人员的分工 6. 测试进度 7. 测试流程
8. 测试工具 9.测试缺陷管理 10. 测试的风险分析
5、测试用例如何设计的
答案:在测试用例设计之前首先要熟悉客户的需求文档或需求规格说明书,以做到对被测系统的熟悉,充分了解产品的详细功能,并在熟
悉过程中即使与研发人员和客户人员进行有效的沟通。然后从需求中提炼中各个模块的详细功能点编写出一个测试要点的文档。根
据测试要点设计测试用例,测试要点与测试用例是一个一对多的关系,一个测试要点可能会需要几个测试用例的验证,有正常的操
作和异常的操作,甚至是几个正常与几个异常的操作,这要根据实际功能的要求来具体分析具体实现。
6、测试用例包括那些项
答案:产品名称、功能模块、用例的编号、编写人、被测功能的简述,测试的预置条件,测试步骤,预期结果,实际结果。
7、缺陷处理流程
1.讲缺陷的详细信息录入缺陷管理系统,并分配给对应的开发人员
2.如果遇到一些难以再现的缺陷,在开发人员修正过程中配合开发人员进行Bug的再现。
3.开发人员修正Bug后,会在缺陷管理系统中将修正后的Bug状态更改,通常为Fixed状态。
4.新版本发布后,测试人员会讲bug状态已经更改为Fixed的Bug进行回归测试。如果测试通过,则将该Bug关闭,如果仍
未通过,则将该Bug从Fixed更改为Reopen状态,继续让开 发人员来修正。并等待下一个新版本发布后的二次回归测试。
8、缺陷报告包括那些项
答案:编写人、被测系统的版本号、测试环境、预期结果、实际结果、对于实际结果如有必要附上截图、测试用例数、测试
用例通过 数,测试用例的`通过率、对缺陷的一个分析汇总。
9、缺陷报告严重级别的划分
严重级别的错误:影响系统整体基本流程运行的错误,由于某一操作造成系统死循环或服务器崩溃的错误
较严重:功能实现错误、内部计算错误、
一般:UI错误,一些易用性的错误或建
10、开发人员修复缺陷后,如何保证不影响其他功能
答案:Bug的修复以及新功能的添加都有可能对版本造成一些影响,为了避免,在新版本发布以后,首先会对新版本做一个基础
的流程测试也叫做冒烟测试,如果测试基本流程都顺利通过没有任何问题,那么测试人员可以继续进行详细的测试,否
则就将冒烟测试中出现 的问题以及问题有可能出现的原因反馈给开发人员,由开发人员修正后再次发版,进行测试。这
是一个迭代的过程。
10、发现问题后你是如何判断其是否是BUG,你是如何提交的、
答案:测试用例是经过评审组严格的评审,完全按照客户的需求规格说明书作为最终依据来评审的,如果测试过程中,测试结果与实际结
果不符就很可能是Bug,如果一些比较明显的问题就直接录入缺陷管理系统,如果是一些边界问题不容易确定的,可以通过和开发人
员甚至是设计人员等进行沟通最后得出一个结果究竟是否是Bug,如果是Bug就录入,如果是一个需要增加的新功能等,可以录入缺
陷管理系统,类型为新需求。
11、修复一个BUG而导致其他的BUG出现,该如何处理
答案:帮助开发人员分析问题锁定原因然后进行新Bug的修正。
12、测试总结报告包括那些项
答案:测试用例的通过数,测试用例的未通过数,以及测试用例的通过率,未通过的功能都集中在哪几个功能模块 ,根据测试经验以及测试结果进行一个缺陷的分析和建议。
13、测试工作进行到一半是,发现时间不够,你如何处理
答案:1.与客户沟通本次发布的版本什么是最重要的,什么是其次,我会安排一个优先级来对整体测 试功能进行一个筛选。
2.我会和测试组原体人员一起加班
14、开发与测试的关系
答案:开发和测试是一个整体,也可以说测试驱动着开发,开发配合着测试,相辅相成的,在一个完整的项目组中缺一不可。
15、如果你是测试组长你如何对项目及组员进行管理
答案: 首先要从需求开始,充分了解被测系统的功能以及业务需求,并在遇到问题的时候及时有效的与开发人员以及其他项目相关人员
进行沟通,做到最被测系统的十分熟悉。并了解整个测试组的成员他们的测试技能以及擅长的工作,做到测试任务的合理分配,
得以让测试工作快速,稳定高效的进行!
16、如果你提交的BUG开发人员说这不是缺陷你该怎么办
答:若遇到开发人员说提交BUG不是缺陷则跟项目组的需求人员,设计人员以及该功能的开发人员共同讨论做确认。
‘贰’ 软件测试工程师面试技巧
随着互联网行业的不断发展,软件快速迭代、快速交付的需求日益凸显,软件测试人员越来越受到重视,逐渐从“幕后”走向“台前”,也将会面临更好的发展和更大的挑战。下面是小编带来的软件测试工程师面试技巧,欢迎阅读。
那如何深入软件测试?测试都有哪些方法?测试采用什么工具?自动化测试熟悉么?自动化测试具体都有什么内容?敏捷流程都有哪些环节,测试工程师在其中的作用是什么……接下来我就结合我的测试经验聊一聊测试工程师的面试要点和职业发展。
我是谁?
忘了自我介绍了,我是一名软件测试工程师。不知不觉,入行软件测试也有14年头了。待过中软国际、华为、IBM等公司。做过功能测试、自动化测试也做过性能测试,做过测试新人也做过测试测试管理,所负责的项目至今在各个领域系统运转良好,产生了极大效益。
同时我也长期在公司内担任讲师,负责软件测试理念和测试转型等内容的培训,获得过“集团金牌讲师”的称号。
如果要是从这14年中说出最宝贵的经验,我想其一应该是面试技巧和职业发展。下面我就来分享一下,希望可以帮助在测试行业迷茫和纠结的你们……
软件测试工程师的面试,不同于开发人员。
虽然都是软件从业人员,但是开发和测试侧重点不同,这样的细微之处却很少有人注意到。面试官可能因为对于测试工作理解的差异,提出的问题让面试者不知道该从何说起,而在求职过程中,信息的不对称使得测试工程师往往无法做到全面地表达自己。
严格意义上来说,尤其是在当前Agile架构或者DevOps模型下,软件测试工程师对于技术的理解广度和知识储备的广度,要远在开发人员之上。而一般开发人员的面试中的面试要点和问题,对于测试工程师来说,都是非常不适用的。
面试官技术出身的不同,其喜好或者技术特点,测试工程师往往也并不清楚,如何有针对性地回答,同时还能体现出自己的优势,另外企业是如何定义初级中级高级测试工程师,他们各自对于技术的要求是怎样的?这是一个非常值得谈一谈的内容。
知己知彼,百战不殆。如何从测试工作本身定位出发,从公司和面试官角度来谈测试工程师的面试要点,成功是事半功倍的。
九层高台,起于垒土。那么我们在讨论测试工程师面试的要点之前,自然要理解测试工程师的工作内容和主要闪光点是什么。
1、什么是软件测试?软件测试的工作内容都有哪些?
软件测试,顾名思义,是测试软件和控制软件质量的工作,后者在敏捷框架下被更多地提起。在敏捷框架下,软件的质量不仅仅是通过测试工作来控制,还包括了一整套流程和过程控制,因此测试在敏捷框架下称为QA。
也就是说,可以理解为软件测试工程师——Tester,是QA的一个真子集。严格来讲,敏捷框架下的QA和传统测试工程师实际上也是有很多区别的,这个问题我们放到以后再讲。
在这个框架下,测试工程师不仅仅要聚焦于软件测试工作,而是要从项目的开始就要介入,也叫测试前置。从需求澄清开始,QA就要在测试的角度对需求进行更细一级的了解,然后针对每个story中,开发内容是否达到需求的每个细节进行检查,同时还要控制项目进度,缺陷率等。
QA在一个标准的ScrumTeam中的地位是很高的,取决于QA对项目业务的熟悉程度,对需求的细节把握等等。可以这么说,在一个项目组中,QA是可以接替PM职务或者作为PM的Backup的。
PM、QA和Tester的关系如下图:
2、软件测试工程师应该具备的技能和素质是什么?
软件测试行业,虽然属于软件研发体系,但是因为工作内容和角度的问题,存在着自己独有的技能要求和职业素质要求。
在软件研发体系的要求之外,除开发的编码和对于各开发框架的了解,作为测试工程师或者QA,还有其他特定的要求。
由于软件研发行业的主要行为集中在编码,所以外界甚至不少从业人员对于软件研发的印象往往都很单一,甚至很多测试工程师也不清楚,作为测试工作,与软件研发相比,有哪些独特的要求?
形而上者谓之道,形而下者谓之器。一般来说,“道”是无实体的思想意识层面,“器”是指有形的工具或者流程,即“道”的具体实现。
那么我们就从“道”和“器”两个层面来简单了解一下,测试工程师应该具备的“器”和“道”分别都是什么。
【技能】
技能层面来说,首当其冲的就是沟通和协调能力,这个在QA身上更为明显。敏捷架构下,快速迭代的基础就是沟通顺畅及时和到位。在每个sprint中,需求的传达澄清和对齐,都是非常关键的,这直接从源头决定了产品的研发质量和研发成本。
在最初的需求澄清阶段,在参会人员中,不管是客户还是PM,都是从开发编码的角度正向理解需求的。此时,QA就需要从测试的角度,逆向挖掘需求,来填补其余人在需求挖掘上的空白,确保后期开发过程中,程序的功能在测试限定的边界内,从而降低项目风险和更正成本。
如果是采用了Jira和Confluence等敏捷工具的项目中,小到每个Defect的详细描述和重现定位,大到就此同开发人员甚至客户方的交流等等,这些都对于沟通和协调能力提出了很高的要求。
怎样用最简洁清晰的语言,将问题描述清楚,,提供尽可能详尽的有效信息,这个对QA的基本要求,也是很多工作中的基本要求。然而这个是在IT行业从业人员中,普遍存在的一个短板,这方面的能力是需要着重训练的。
如果这个项目同时还是牵扯到其他模块或者其他项目组,那么有关流程处理和数据准备等环节的协调,也是必须的。同样的,这也是QA进阶之路上的必备技能。
接下来就是测试工程师本身的一些工作技能,比如测试案例的编写方法,例如等价类划分法、边界值分析法、因果图法等等,通过不同方法和思路,可以做到尽可能全面覆盖测试点,挖掘出更多隐含的.测试场景。
还有测试工具的使用,可以提高工作效率,做到有的放矢。近些年兴起的自动化测试中,各种基于不同平台的自动化框架,各种不同工具之间的配合,以及不同的侧重点,例如性能测试、压力测试、极限测试。
都是基于测试工具的发展而形成的全新的测试手段。在工具和工作执行层面提高效率,这个就是在测试执行和具体的测试工作中,具体的增加和变化。
而通过训练和经验积累而成的,对测试scope的估算以及对于测试进度的把控等等,也是测试技能的一部分,对于测试工作的内容本身而言,这些也都是属于“形而下者”的范畴。
自然,这一切的基础,依然离不开上层建筑——“道”,也就是测试工程师本身的意识和职业素养的影响。
当然,软件测试工程师应该具备的技能和素质不是三言两语就可以说清的,更多的经验和诀窍我都整理到了《测试工程师面试技巧全方位指导》这门课里,每个点可能都需要串很多知识,当我们具备了测试技能和素质,我想,无论在哪家公司,做什么项目,都可以手到擒来。
我将如何讲授“测试工程师面试要点和职业发展”这门课程?
《测试工程师面试要点和职业发展》主要内容分为两部分:测试工程师的面试要点,以及测试工程师职业发展的路径。
解决了“我是谁?”“我该干什么”这样的基本理念,明晰了软件测试工程师逐步升级的路径,以及需要具备的能力和发展方向。也明确了作为测试工程师,应该具备的素质和技能,具备了这些条件之后,才能够在软件测试这条路上昂首前进。
接下来介绍了在敏捷架构下,测试工程师在其他职业方向进行发展的路线,以及在这些职业方向中,作为测试工程师原有的积累所带来的优势。
本课程中一个重点就是测试工程师和测试开发工程师的区别,以及两个职位的定义和职责。
经过这些课程内容,我们再回过头来看本文开始最初的那几个问题,就可以轻而易举地理解面试官提出问题的目的和意图。对于这几个问题,如果各位有了自己的答案并且可以侃侃而谈,那么就意味着,在面试的诸多问题中,最关键的基础类别问题已经不再是问题了!
你能收获什么?
相信通过本门课程的学习,你能对软件测试工作有最基本的了解。本课程是针对所有软件测试从业者,尤其是针对希望以软件测试工程师为出发点,在这一行业有所斩获,或者在到达一定职业高度之后通过转职获得更大发展的。
通过本课程的梳理和介绍,可以给诸多测试工程师以清晰的发展思路,同时给在这一行业中辛勤努力的同仁们一个发展的方向,从而延续自己的职业生涯,并有所提高。
‘叁’ 软件测试岗位的面试技巧有哪些
软件测试岗位必备的面试技巧
(一)面试前的准备工作
(1)、在家中记背软件测试基础知识性题目以及测试用例的写法。
(2)、调查面试公司的网址、公司介绍、公司的地址这些是否是属实。
(3)、保持好良好的心态,衣着稍微正式一点不要穿平时在家穿的休闲衣服。女性稍加花点淡妆。塑造一个看起充满自信又美丽的女人或是一个看起充满活力潇洒的男人。
(4)、去面试公司的乘坐路线必须在去之前都在网上查好抄在纸上,那个面试公司的、应聘职位、联系方式也应该一起抄在纸上以便在去面试的路途上迷路了可以打电话咨询。从不会导致找不到路而担心面试迟到。
(5)、想好一分钟的自我介绍(毕业学校、擅长的领域、培训经历、工作经验/离职原因)的话术。
(二)、面试中的\'笔试
(1)、会做的就尽量做得更好。
(2)、不会做的就很坦白的说不会做,不用紧张,切忌不懂装懂。
(3)、软件测试笔试一般主要是分为软件测试的基础性题目和给出一个图例设计测试用例,还有就是一道逻辑题或是一道智力题。软件测试的定义、流程考得比较多。
(三)、笔试完之后与面试官Face To Face的交谈
(1)、面带微笑的回答面试官的任何问题,切忌不会的就如实说这个问题我不是很了解或是不会。绕开话题,或是想办法叫面试官自己给你讲出答案。
(2)、说话要流利、反应要敏捷。若是外企公司面试的话就在说中文沟通中夹带说一些英语,那样面试官对你的印象会深刻一些。
(3)、多认同面试官说地真确的观点和看法以及讲得很好的地方就表现你赞赏的态度,那样面试官就会觉得和你这种人沟通很愉快。同时也会很欣赏你是一个善于倾听他人意见的人,懂得如何去汲取别人好的建议和看法。不过,请记住该是你表达自己的主观看法时就应该很有主见的说出来。这样面试官才会认同你是一个很有见地的人,不会是一个没有主见的人。
(4)、面试官一般会问你的问题:为什么不在上家公司做了?你对软件测试的认识以及软件工程的看法?你会有什么问题要问我的吗?工作经验的讲述?
(5)、当面试官问你有什么问题要问他的时候,你可以从以下几点:一是可以问公司的具体介绍。二是你应聘岗位的职责和具体做些什么事情。
声明:本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
‘肆’ 软件测试面试常见问题及答案是什么
一般软件测试的面试分为三轮:笔试,HR面试,技术面试。
前两轮,根据不同企业,或有或无,但最后一个技术面试是企业了解你“行不行”的关键环节,每个企业都会有的。
在平时的学习、工作中一定要善于总结,如果回答不好,面试官会认为你技术能力有限或者不勤于思考,是很容易被pass掉的。
简单为大家总结了些面试过程中经常会被问到的问题:
hr会问的几个问题
1.你觉得自己的优缺点是什么
2.你上一家公司的薪资是多少,调了几次薪
3.为什么从上一家公司离职呢
4.离职证明和背调可以吗?
5,你还有什么问题要问吗?
(这些问题都带坑!回答不好会死在这儿的,不知道怎么回答,可以网络下或者联系在线客服)
技术方面的问题
【功能方面】
1.你是怎样理解软件测试的
2.让你介绍你做的项目的业务流程
3.软件测试的流程
4..你认为什么是bug,说一下你印象深刻的bug,结合项目说一下你们公司有哪些类型的bug和bug评判严重程度的标准
5.如何保证软件测试的质量
6.如何保证你写的测试用例覆盖所有的场景
7.如果用户在正式环境发现一个bug,你在测试环境没有发现,怎么办
8.项目测试到什么程度就可以上线了
【场景方面】
1.让你写登录,支付,充值,购物车,文件上传,三角形,笔,水杯等的测试点(80%的公司会让你分析测试点!!!)
【计算机网络基础知识】
1.http协议的内容是什么?
2.请求头的内容有哪些
3.常见的状态码有些
4.http和https的区别有哪些
5.tcp和udp的区别
6.请描述下tcp的三次握手四次挥手的过程
7.网关的作用
8.osi七层模型每一层的作用
9.session是什么,cookie是什么,有什么使用场景
10.session和cookie的区别
【接口测试】
1.你认为的接口是什么
2.接口测试工具工作的原理是什么呢?
3.接口中包含哪些内容
4.接口用例如何写
5.你是如何做接口测试的,使用的什么工具?
6.接口自动化了解过吗
7.get和post的区别
【自动化测试】
1.可能会问到selenium
2.selenium元素定位的方式,显示等待,隐式等待,强制等待的区别等
3.接口自动化脚本的编写原理和过程
这块可以不用担心,只要会一些简单的就可以了,因为对于初中级测试来说,自动化是一个加分项,一般如果自动化掌握的很熟练的同学薪资是在12-25k之间的
【其他测试问题】
1.简述转包过程,你用的抓包工具是什么
2.如何分析一个bug是前端还是后端bug
3.url后面跟数据的话如何拼接上去
4.抓包的原理是什么
5.你们公司使用的bug管理工具是什么
6.弱网测试是如何实现的
7.web测试和app测试的区别是什么
8.给你一个软件你会如何进行测试
9.兼容性测试你是如何做的(从app和web两方面回答)
10.冒泡排序之类的一些代码题
11.如果在正是环境发现bug测试环境没发现怎么办
12.如果有一个bug,怎么判断这个bug是前端代码导致的还是后端代码导致的
这些问题回答的正确与否直接决定了你能否留下,甚至能拿多少薪资的问题,多回答对一个问题,就有可能多为自己争取到500-1000块的工资呢。如果不知道怎么回答,可以私信细聊哦!