前言:测试周期根据部门人数不确定,周期也不同,一般一个版本测试周期在1周以内,也就是5天以内,当然不是绝对值,有些甚至没有周期的概念,版本每天都发布,所以说个通用的,可说4、5天。前提是项目要求不是特别高。
软件测试刘氏秘籍三十六式 第一篇
写在前面的话
本秘籍仅适用于软件测试必需知识体系已完全具备,教材已完全熟悉,教学视频已完整看完并理解,具备3个以上项目经验的测试工程师,欲练此功,必先自攻!
切记:技术是吹不出来的,没有真正的技术,不可能面试通过,即使通过也不可能通过试用期,不要害人害己!
1.请先做个自我介绍
一般情况下,自我介绍需介绍个人的基本信息、履历,但不是重点,核心点在于介绍个人的工作经历,如果有大公司、大项目背景可重点介绍下,个人的技术特点也可以重点讲下,如在企业中主要负责接口测试,特别是银行的支付接口等。
通过自我介绍,让面试官得到从简历中无法快速获取的信息,主要重点就是上述的公司、项目、技术背景,通常1-3分钟左右,在介绍时可重点突出这些信息,给面试官一个信号,让他能接着你的介绍继续问下去。简短,突出重点!
举例:
面试官:“您好,能否做个简短的自我介绍?”
应聘者:“面试官您好,很高兴得到这次面试机会,我给您大概介绍下我自己。我叫XXX,2013年6月毕业于四川大学计算机专业,毕业后在XXX公司一直从事软件测试的相关工作,共参与过四川联通智能校园网、四川烟草信息平台、四川交通厅全省呼叫中心平台等几个项目,四川联通智能校园网主要用于四川省各个校园学生安全信息定位,移动应用与GPS定位穿戴设备整合的项目。我主要负责这个项目的移动端(andriod及ios)、PC端及后台服务的功能测试及性能测试工作。第二个项目是四川烟草局为了解决各个授权销售点进货及质量追踪问题,而研发的基于云计算、大数据模式的移动应用系统,也分为三个环节,一个是移动端,仅有andriod的,一个是PC端,还有6个后台基础数据运营支撑平台,我主要负责功能测试。第三个项目是交通厅建设的全省交通服务呼叫中心,B/S结构的,我主要负责功能及性能测试,还负责客户需求调研及系统建模等工作。现在项目基本结束了,想换一个工作环境,所以今天来贵公司面试,谢谢”
讲述的过程中,应该精神饱满,说话流利,做过的项目必须说清楚,先整体,后细节,条理清晰,态度谦卑,自信,首尾呼应。
如果是其他的项目,需自己对项目功能结构非常清楚,业务过程,功能结构,系统架构等关键点要记清楚。
最后几句话,是告诉面试官现在来面试的原因,这个时候面试官可能会问离职的原因,这个地方不要讲公司倒闭,裁员,人际关系复杂等等,就说地方远,生活圈在你面试公司的附近等等,甚至可以讲原来公司是不签劳工合同的,所以想稳定点,不希望公司换来换去的。
2.能否介绍下你做过的项目
在自我介绍中,如果已经介绍过项目,面试官一般不会再问,除非在自我介绍时未能说清楚,或者一句带过的,这时面试官可能需要你讲清楚项目,一般会问一个详细具体的。如果需要介绍项目,则需关注以下几个方面:
1、项目规模
项目规模一般说的是项目代码规模、团队规模,比如:XXX信息管理云平台,是XXX集团为了管理该集团内21个部门日常工作信息交互的云平台,我们这个项目组大概有20多个人,如果问到代码规模,如果说不清楚,就不要说,就说自己不是很清楚,因为自己只负责项目中几个模块的功能测试,千万不要想当然,诚实点。
2、项目周期
一般问项目周期就是开发周期,可以说长,也可以说短,如果说长了。面试官问为什么这么长,就说项目要求比较高,需求调研、反复确认、后来又设计、开发,测试,用例设计要求很高,所以导致周期比较长,其实这个问题比较好回答,项目如果做的规范,一般周期都比较长,如果做的比较快速,周期短,一般是要求不高,很多环节省略了,如需求文档、用例设计等。
一般包括后台(工作流、角色、权限、用户、基础数据维护等),前台应用等功能的,在现在来说,4、5个开发,3个月足够,好多都是成熟的技术或组件。
3、开发语言平台
需了解各种平台情况,学会根据文件后缀名判断系统基本的架构模式,了解.NET、J2EE、LAMP、移动互联等架构模式,现在的应用程序,一般都相对复杂,不是单纯的B/S或C/S,这方面需多了解相关知识。
建议搞不清楚的话,就是说J2EE架构的,java+jsp+html+css+js等,数据库一般用sql server、oracle等,web服务器用weblogic、tomcat等,操作系统说linux(redhat、ubuntu、opensuse)即可,中间件什么的就不要说了。需自己在linux上完整搭建几个j2ee的平台项目。具体搭建方法课堂上已经讲过,需记住常见的几十个命令,不管面试还是后面的工作都是需要的。这点必须掌握。
4、测试关注点
测试关注点,如果自己功能、性能都能做,则可以介绍下,如“这个项目主要关注功能及性能,安全性考虑的较少”,需要注意的是,安全性必须要知道常见的web安全测试关注点及测试方法,具体的可见教材的第八章 web测试。
5、需求情况
简历上如果有2个以上项目,则一个说有需求,一个说没有,也就是说要清楚有需求和没需求时如何开展测试,在介绍时可说下有需求是如何开展测试的,没需求又是如何开展的。相关知识点见教材第五章需求部分
6、用例情况
与需求相同,有需求的就说写了用例,没需求的就不要说用例了。所以介绍时要分开说。相关知识点见教材第五章用例设计方法,必须掌握常见用例设计方法,用例设计数不少于300条。
7、测试周期
测试周期根据部门人数不确定,周期也不同,一般一个版本测试周期在1周以内,也就是5天以内,当然不是绝对值,有些甚至没有周期的概念,版本每天都发布,所以说个通用的,可说4、5天。前提是项目要求不是特别高。
面试官因为面试人多,或者其他原因,一般给你的面试时间不会太长,当问到这个问题时,你可以根据自身情况说一个具体的项目,即使你做过若干项目,我一般面试都是讲最近一个,还有个技巧,面试前先了解这家公司主要做什么项目,那么在介绍项目时候就讲跟这家公司业务类似的项目,因为面试官希望找个门当户对的,减少培养成本。
举例:
面试官:“请介绍下你做过的项目”
应聘者:“好的,我到目前为止一共做过3个项目:四川联通智能校园网、四川烟草信息平台、四川交通厅呼叫中心,联通这个项目主要用于四川省各个校园学生安全信息定位,移动应用与GPS定位穿戴设备整合的项目。我主要负责这个项目的移动端(android及ios)、PC端及后台服务的功能测试及性能测试工作,第二个项目是四川烟草局为了解决各个授权销售点进货及质量追踪问题,而研发的基于云计算、大数据模式的移动应用系统,也分为三个环节,一个是移动端,仅有android的,一个是PC端,还有6个后台基础数据运营支撑平台,我主要负责功能测试,第三个项目是交通厅建设的全省交通服务呼叫中心,B/S结构的,我主要负责功能及性能测试,还负责客户需求调研及系统建模等工作。”
初步介绍完成后,面试官可能问你上述的几个问题,针对每个问题,再做细节回答即可。
注意:回答每个问题时,都是从整体到细节,不要一上来就是细节,这样不利于表述,也不利于面试官听,这个过程也反映了你是否真的做过项目,如果没有真做过,很容易讲不下去,在表述细节的时候说不清楚,所以必须对自己简历上所写的项目完整的做过,技术要点切实掌握。
软件测试刘氏秘籍三十六式 第二篇
1.你们公司的测试流程是怎样的
问测试流程,主要是看是否真的做过项目,因为现在培训机构太多,简历都被过度包装了,所以需要面试者能说清楚,同时观察面试者的表达能力,思路是否清晰。
测试流程分为两种类型,一是规范的,一是不规范,如果有大公司背景,测试流程相对规范,不会乱来。如果没有,则不要讲的太规范,小公司往往更多考虑能出东西,所以流程上就简化的多。根据自己的项目,如果是比较大的项目,则说的规范些,如果小,就讲的简化些。
具体的流程,可看教材上的第四章 测试流程。简化流程可把方案设计、用例设计、规程设计、环境搭建、评审环节去掉,只保留计划、执行测试、提交缺陷等几个环节。
说流程的时候不要太理论,带着项目去介绍,不要脱离项目。
举例:
面试官:“请介绍下你们公司的测试流程”
应聘者:“好的,以我最近做的项目来说吧,我们公司的流程一般是这样的,接到一个项目后,首先我们经理会了解这个项目的测试要求,比如我现在做的XXX系统,客户那边要求写用例,也提供了比较详细的需求,经理会写计划,然后我们根据测试计划中各自的测试任务分配,阅读需求,提取测试点,用QC进行测试需求管理,测试点提取好了,就进行评审,评审通过后进行设计用例,这个时候会把冒烟测试的用例也设计好,评审通过后就等着测试版本发布。测试版本发布后测试经理搭建测试环境,我们进行冒烟测试,冒烟测试通过后再进行系统用例执行,发现的bug直接在QC中提交,后续就根据我们部门的缺陷管理流程进行缺陷跟踪管理,每一轮测试结束,经理会编写测试报告,大致流程就是这样的。”
注意:回答这些问题,要带着项目去讲,这样能讲清楚,把自己做过的事表述出来,自己能做的,要讲明白,自己不能做的,就说是经理或其他人做的,管理类的,计划类的,一般测试工程师是接触不到的,测试工程师基本就是参照执行,所以,不要说自己也编写计划,基本不靠谱。但是计划,方案,环境搭建都要了解。过程中可突出用的方法及工具,前提是自己能说清楚。
2.能否介绍下你们公司的bug管理流程
这个问题主要是想了解面试者所在公司的缺陷管理与面试官公司是否相同,从而减少面试者适应周期。
缺陷管理流程一般根据测试团队规模有所区别,如果测试团队人很少,你却说了个很复杂的流程,那就是找死,所以,需要面试者对几种缺陷管理流程熟悉,这个过程中,最好以一个缺陷管理工具为载体表述。
缺陷及缺陷管理流程具体知识,见教材的第七章,必须完全理解,说的明白。
举例:
面试官:“请介绍下你们公司的Bug管理流程”
面试者:“好的,我们公司Bug管理用的QC,流程基本是按QC的流转流程来的,我们发现缺陷后,填写缺陷的概要信息、详细信息,设置好缺陷的严重度,将缺陷状态设置为new,提交给测试经理,由他进行过滤,检查没有问题后,他会将缺陷的状态改为open,指派给我们的项目开发组长,开发组长根据缺陷任务分配情况,分发给对应的开发同事,开发同事进行缺陷确认,如果是缺陷,他们会进行修复,修复好了后把缺陷状态改为fix,指派给缺陷发现人,如果认为不是缺陷,就会把状态改为reject,并且加上拒绝的理由,然后指派给我们,由我们再次确认。fix的缺陷我们会在下一个版本进行验证,如果通过就将缺陷的状态改为close,如果发现缺陷仍然还存在,我们就reopen这个缺陷,并说明情况,让研发同事再进行处理。过程中如果有争执,一般由我们的经理和开发经理那边沟通,有时候由项目经理决定是否是缺陷,或如何处理。”
注意:上述的对话,一般测试团队有4、5个人的时候可以使用这个流程,如果人少,一两个测试,则不要加上经理过滤这个环节,如果是外包公司,缺陷的对口人就是测试经理。根据实际情况确定缺陷流程,如果面试官说你的流程不规范,不要反驳,每家流程都可能有些不同,没有好坏,只有是否合适,所以,无须担忧是否流程正确。讲述的时候,带上项目讲,不要空讲。这个部分需测试工程师非常重要的知识点,需要加强学习,理解。
3.你们的项目周期一般多久,测试周期多久
这个问题不是很好回答,因为每个项目都可能不一样,可能一个简单的项目可能做一年,也可能一个复杂的项目可能做两个月,因为根据客户的需求而定,怎么说都有问题,也怎么说都对。所以,认定一个项目做多久就可以了。比如现在的常见MIS系统,3、4开发,往往3个月基本都完成了。加加班时间更短,所以在面试过程中,如果问到你们的项目周期,可以简单处理,可以说成是外包的,你们公司就是做外包测试的,具体开发周期不是很清楚,把问题归结到测试周期上。
测试周期,上面说过,可以说测试3天,也可以说测试1周,或更久,如果企业的项目比较复杂,测试要求又高,可说周期长点,比如5天。面试者要有个时间概念,不是随口乱说,因为测试周期短,那么测试复杂度不是大,如果实在搞不清楚,就说一个你们的测试版本周期就是3天一个版本。
需要注意的是,这里讲的测试周期,没有包括测试需求、测试用例、测试规程、环境搭建等问题,如果这些都包括,周期相对更长,比如测试用例设计,可能就需要2个星期,或者更久。所以,具体情况具体对待。
综上所述,建议大家根据项目情况,分成两种:一是需要写用例,项目规模中等,开发周期3个月左右,开发人员4个人,测试4个人。写测试用例大概3个星期,环境搭建半天,冒烟测试1个小时,系统用例执行一个版本是3天左右。第二种,不需要写用例,则冒烟测试需要1个小时,测试执行一个版本也是4天左右。前提是测试人3-4个时候。
注意:当面试官质疑你的时候,很正常,每家公司项目周期都不太一样,所以不要去强调什么,正常表述即可。前提是每个点要说清楚,每个时间段做什么要搞明白。详细知识点,每个阶段内容可见教材上的第四章。
软件测试刘氏秘籍三十六式 第三篇
1.你们公司的测试版本一般多久发布一次
如果是传统的开发模式,版本迭代可能是一个星期,甚至更久,如果是敏捷模式,可能很快,甚至每天都有新版本,所以没有标准答案,这取决于你做的项目类型,如果是移动应用类型的项目则可以说2天一个版本,如果是传统项目,如传统的oa,进销存等管理系统,就说一星期一个版本。
建议大家去了解敏捷开发测试模式,对敏捷开发模式下的测试工作开展方式有个了解,面试官问这个问题,自己心中有数。这个问题一般会跟上面的测试周期关联。
在实际测试过程中,不是说非得每个版本都测完了再进行下一个版本,有些公司是一个版本还没测完,下一个版本又来了。
如果公司开发人员项目比较多,则版本迭代会慢些。
2.你们的测试用例是如何编写的
这个问题关注应聘者测试用例的设计、管理等几个问题。
举例:
面试官:“你们的测试用例怎么写的”
应聘者:“我们的用例是这样设计的,一般根据项目需求来定,如果项目要求写测试用例,测试经理则会要求我们根据测试计划中的任务分配,熟悉对应的需求,提取测试需求,测试点,并在QC中进行管理,都提取好后进行测试需求评审,评审通过后,每个人进行测试用例的设计,我设计用例的时候,一般用的是等价类、边界值、状态迁移等方法,当然具体方法根据需求具体对待,也是利用QC管理,根据我们测试部定义的用例格式,进行编写,编写后还会进行评审,评审通过了就等测试版本发布。”
本问题对应的知识点在教材的第五章,qc使用请看对应的操作视频。
注意:不要说利用excel写好了用例然后导入QC,这个问题我已经讲过很多次,每个操作都有他背后的原因,你如果知道了背后原因,可以讲,否则不要说!
3.你们的测试用例格式是怎么样的
测试用例格式,大家只需要掌握教材第五章的知识即可,每个家公司格式不一样,无须一致,大体相同的。
测试用例一般包括用例编号、测试标题、测试项、优先级、预置条件、测试数据、预期结果、操作步骤,这几个说清楚即可。
测试用例的载体一般是excel或者qc,也有公司用testlink、禅道,面试时说qc即可。这个面试问题,一般直接说理论就可以了。
举例
面试官:“你们的测试用例一般包括哪些信息”
应聘者:“我们公司的测试用例一般包括这几个方面:用例编号、测试标题、测试项、优先级、预置条件、测试数据、预期结果、操作步骤等,一般在QC里写的,有些字段是QC自带,也有些是自定义加上的”
这么回答的目的是表明应聘者确实知道用例的格式,另一方面也说明工作中用到了一些工具,并可以根据需要自定义相关信息。前提是确实知道如何操作。
面试其实就是个自我推销的过程,自己能有什么能力,在面试过程中要尽量展现出来,短短的几十分钟,甚至是十几分钟,要充分利用机会展示自己的技能及工作能力。
4.你们的缺陷报告格式是怎么样的
缺陷报告的格式,往往讲的是缺陷报告包括哪些关键信息,这个知识点在教材的第七章。
举例
面试官:“你们公司的缺陷报告格式是怎样的”
应聘者:“我们公司的缺陷管理使用QC管理的,包含的字段基本都是采用默认的,主要有缺陷id,概要描述、详细描述、缺陷发现人、下步处理人、缺陷状态、缺陷严重度、缺陷发现时间。。。。”
把QC中缺陷模块缺陷信息记清楚即可。
软件测试刘氏秘籍三十六式 第四篇
1.发现了不能重现的bug怎么办?
面试官可能问你发现了不能重现的bug怎么办,这个问题我的回答是:
首先,我在测试时,每执行一个用例,或执行一个测试步骤,如果发现了缺陷,会立刻记录缺陷的相关信息,需要截图的会立刻截图,记录完成后,再重复执行步骤,看缺陷是否是稳定出现,如果是,则继续下面的测试,如果不是,我会再执行一次,观察其出现的机率,如果确实不能重现,我会初步判断下是什么原因,如果不能判断,则会如实记录缺陷的表象,发现步骤等,然后标识他的出现频率,尽可能还原这个缺陷出现时的环境,包括操作步骤,测试数据,系统环境等便于研发同事定位问题的因素。
发现缺陷的时候,如果有能力可适当分析定位缺陷,但在缺陷描述中,最好不要加上自己的判断。
2.能否介绍下你们的测试团队组织情况,大概多少个人
我们公司主要是接一些测试外包的单子,测试团队大概有12个左右,现在分成3个小组,各自做不同的项目,我在的组主要测试XXX、XXX等项目,(说自己简历上的项目)。
如果问到你们平时有交流吗,可说有,但不多,因为大家做不同的项目,不同的人管理。交流不多。
如果问到其他的情况,则根据实际情况回答。不清楚的不要瞎编,在面试前要做好充分的准备。
如果面试官说测试团队人少,你的回答就是公司目前就是这个规模,最近好像还在招人吧,如果说测试团队人多,回答就是还行吧,最近还在加班,项目都比较赶。
还是那句话,不存在非黑即白的问题,都有存在的道理。
3.你写用例的时候一般用哪些方法,你觉得你最喜欢用哪些方法
面试官如果问到这个问题,一般希望的是你能回答常见的几个,最好他能够理解的,当然他的心里想法不会明确说的。
应聘者需要注意的是,即使自己掌握了很多方法,也不要都在写在简历或表述处理,个人建议一般是这样,等价类、边界值必备,正交试验、判定表、状态迁移、流程分析备选,而且后面几种不是常用的,要指明在什么特定的项目或业务中才会用到。如果问到你喜欢哪种方法,可以告诉他没有喜欢的,不同的测试对象用不同的方法。
这个问题在回答的时候,面试官可能让你举例子,所以在准备面试的时候,必须每种方法准备至少3个业务点,及对应的用例。
具体的用例设计方法在教材的第五章,把课堂上的用例设计方法弄明白,同时要把项目实战时自己设计的用例再看看。
4.你们做的项目一般有没有需求,如果没有需求,你是如何开展测试的,如何保证测试的质量的
回答这个问题,测试人员必须了解有需求和没需求测试方法的区别。有需求测试,一般可能要写测试用例,判断标准相对明确,没有需求,一般不要写用例,测试判断标准模糊,往往依靠测试人员自身的经验或项目辅助文档。
举例
面试官:“你们做的项目一般有没有需求,如果没有需求,你是如何开展测试的,如何保证测试的质量”
应聘者:“我做过的项目有些有需求,有些没有,xxx项目有需求,xxx、xxx项目没有需求,如果没有需求的话,我们一般是这么测试,首先根据自己的测试模块任务分配,参照软件实现,写个功能点列表,然后根据自身的经验,项目其他的资料(功能说明、开发说明等资料)再进行测试,测试两轮后,每个组员交换测试任务再进行测试。”
这些问题都是开放性的问题,没有明确的答案,所以讲出自己的理解即可。同样的,面试官问比较尖锐问题时,也不要争辩,比如他说“我觉得你说的根本不能保证测试质量”,你可以回答“我们公司遇到没有需求的项目是这样要求我们实施测试的,应该有更好的方法吧。”
5.在你做过的项目中,碰到的最大困难是什么,你是如何解决的
这个问题的核心关注点是看应聘者在工作中碰到问题时是如何解决的,是否需要借助于他人。考察三个方面:理解能力,沟通能力,学习能力
回答这个问题,可以分成2个方面讲,一个是需求方面,一个是技术方面,需求不确定,将导致测试用例设计或测试执行困难,技术不过关,会导致测试质量有影响。如果不想纠结在需求,则可以说技术层面的,这里我举个常见的例子。
当面试官问到这个问题时,应聘者可做如下回答:
工作中确实碰到了一些比较困难的事,特别是在技术层面,当时有个项目是测试权限授权功能的,一共有12个功能模块,每个模块都有增、删、改、查四个功能,都是复选框,也就是可以选择该权限或不选,如果用普通的测试方面,就感觉不放心,一般考虑就是全选、全不选,如果全部组合测试,那么测试次数又非常多,后来自己在网上查了下类似的问题,学习了正交试验方法,最后搞定了这个问题。
通过一个案例介绍你碰到过的困难事情,如果讲技术,一定是确实有难度的,往往可以从冷门技术着手,如果你所了个面试官认为很简单的问题,那么他可能给你的判断就是你很差。所以,建议准备一两个冷门技术,并带有具体的案例。
软件测试刘氏秘籍三十六式 第五篇
1.在你做过的项目中,你最大的收获是什么
项目最大的收获,可以从管理、技术、沟通等几个方面考虑。
管理:通过这几个项目,我个人觉得收获还是比较多的,特别是在xxx、xxx项目中担任了测试组长,对测试计划、任务分配,测试风险、沟通协调等管理能力有了不少提高,以前自己做测试的时候,往往都是从自身的角度考虑,比如只想着把自己的任务做完了就行,但通过担任测试组长,就感觉到一个项目想测试好,想做好,要考虑很多因素,缺陷跟踪、用例评审管理、需求变更的跟踪等等,都需要考虑。所以我觉得通过这些项目,感觉个人的全局观,管理能力有了不少提高,碰到问题也会换位思考,从整体考虑测试质量和进度了。
技术:可以讲技术上面的提升,将自己以前不会,通过项目后学到的新技术,比如用例设计,测试工具,编程语言等。用例设计等价类、边界值是基本的,面试的时候就不要过多强调了,可以说些冷门的,比如状态迁移、流程分析、正交试验等。测试工具可以说缺陷管理、自动化、性能等,比如Quality Center、HttpWatch、UFT/QTP、LoadRunner等。前提是确实能说出来。编程方面,可以是脚本语言,不要去说编程语言,因为很多时候纯粹的编程没法跟测试结合,可以说vbs、python、ruby等。
沟通:测试人员一般接触不到客户,正常都是跟开发合作,如果讲沟通,最好是换身份,比如跟客户的沟通,可以说某个项目是客户参加验收测试的,每个测试人员需要辅导一个客户进行验收测试,这个时候可以说以前没有与客户直接打过交道,他们提出很多实际使用的问题,这些是我们从需求或测试时无法得到的,这个时候可以举个例子。收获就是通过与客户的沟通,知道了更好的从用户的实际应用角度出发考虑问题,模拟测试,也知道了在出现问题的时候,如何与客户沟通,降低产品上线的风险等等。
每个人根据自身的情况不同,如性格、技能等,选择不同的关注点。
2.你正常一天编写多少条测试用例,你觉得多吗?(少吗)
一天写多少测试用例,这个问题本身很无聊,项目不同,复杂度不同,编写用例的速度也不同,再说一般人也不同统计自己每天写多少用例,随口一说又不负责,所以,面试官问这个问题,个人觉得就是没啥问的了。。。:)
举例
面试官:“你一天大概编写多少条测试用例”
应聘者:“不好意思,这个还真没有统计过哦,我做过的三个项目中,有两个是要写用例,第一个大概写了200多条,第二个少些,100多吧,平均下来20多条吧,具体没太注意,不好意思”
面试官:“你觉得一天写20多条多吗?(或者问少吗)”
应聘者:“20多条确实不多,因为项目中涉及的流程比较多,写一条用例可能走的流程有6,7步,这个还要理解每个流程的分支走向,所有相对比较慢,如果只是增删改查类的用例,速度应该快些。”
根据简历上的项目复杂度来说,如果是金融项目,或者带业务流程,工作流类的项目,设计一条用例周期会比较长,不是几分钟、十几分钟搞定,同时,用例的详细程度要求也不一样,也会影响写用例的速度。
3.你一天大概执行多条用例,你觉得多吗(少吗)?
与上一个问题类似,如果测试用例比较复杂,跑流程的,执行的速度就比较慢,比如银行的业务,有时候为了测试一个用例,要构造若干测试数据,可能构造数据的时间远远超过用例本身执行的时间。所以没有定论,那么回答这个问题的方法与上一个问题类似。
4.你一天大概发现多少个bug,你觉得测试工程师每天最少应该发现多少个bug
同上,可说没具体统计过,自己做过的3个项目,每个项目差不多在20多个bug,注意不要说的太多,也不要太少,平均每天发现多少就说没注意过。
一个测试工程师每天发现多少bug,没有标准,肯定是越多越好,但往往都是开始多,后面少,到最后基本发现不了bug。
举例
面试官:“你一天大概发现多少个bug”
应聘者:“不好意思,这个真没注意过呢。我目前做了3个项目,一共bug大概在(稍微停顿下)70多个,具体多少不记得了。开始的时候发现的比较多,记得有一天xxx项目刚开始测的时候,发现了近20个bug,不过后来渐渐就少了。”
面试官:“你觉得测试工程师每天至少要发现多少个bug”
应聘者:“这个我觉得不好意思,每个项目开始的时候,可能bug比较多,后面产品,版本稳定了,bug会越来越少,所以我觉得应该没有标准吧。”
软件测试刘氏秘籍三十六式 第六篇
1.你发现的bug,开发人员不认可怎么办
这个问题一般关注的是应聘者沟通能力,直接举例
面试官:“你发现的bug,开发人员不认可怎么?”
应聘者:“首先,在提交缺陷的时候,需要自己确认认定缺陷的依据是否正确,缺陷表述是否正确,然后,当开发人员不认可的时候,我会跟他沟通不认可的原因是什么,是不是我需求理解错了,表述错了,还是需求、设计变更了,还是其他原因,找到他不认可的原因就好解决了,如果开发人员只是毫无理由的不认可,拒绝,那还是可以按照部门的缺陷管理流程走,可能需要我的经理去处理了。”
在实际工作中,这种情况并不少见,开发人员有时候认为测试人员很无聊,提一些无关痛痒的问题。想解决这个问题,测试工程师需要知道自己判断缺陷的依据是什么,是否有根据,表述是否合理,是否有不恰当言词,根据分歧点,就事论事,实在无法解决,可有各自的上级进行处理,甚至最后由项目经理处理,一般公司都有缺陷管理流程,按照流程走即可。
无论如何,测试人员需加强学习,储备专业知识,做到每个缺陷都能明确说出他可能造成的后果,判断的依据是什么,这样的开发不认可缺陷的情况会少得多。
2.你这个项目做了多久?你觉得一个项目测多久就可以停止了
我现在做的这个项目已经做了2个多月了,目前还在测试中,因为客户的需求有些变更,版本还在调整,估计还得继续测下去。
我觉得一个项目测多久要看他满足测试计划定义的停测标准,我之前做的几个项目,都是按照公司定义的停测标准执行,一般是如果有用例,则测试用例低级以上的用例都必须通过,低级的用例90%通过,并且缺陷库里Medium级别以上包括Medium的缺陷close,low级别的80%close,才停止测试。如果没有写用例,一般就是按照缺陷库的那个标准来执行。最近的一个项目测了5个版本还没结束呢,需求一致改,缺陷一直有,所有感觉确定不了多久能测完。
实际工作中,停测标准可能有更多,比如客户要求停止、项目经理要求停止,需求覆盖达到一定比例,建议大家就说上面的就行了。
3.你对数据库了解吗?
对于数据库,初级测试工程师一般需要了解数据库是什么,mysql、sql server、oracle、MongoDB等是干什么的。然后就是SQL语句,如DDL、DML、DQL、DCL,触发器、存储过程(匿名块、带名过程等)、索引的优缺点,存储过程要能编程。理解数据库的基本配置结构等。如果能讲出在测试过程中如何结合sql进行测试的最好。
举例
面试官:“你对数据库了解吗”
应聘者:“数据库了解,我们项目用的是Sql server 2008,常见的SQL语句用的比较多。”
面试官:“能不能讲下你测试的时候是如何结合数据库进行测试”
应聘者:“就拿我最近做的这个项目来说,项目中有些业务过程在功能界面中是看不到的,比如系统给每个客户端发通知消息,服务器端是批量发送的,每个客户端收到后会反馈状态标识,当时测试的时候,我就利用sql从数据库里查询,tmp表里的消息状态,0表示正在发送,1表示已接收,2表示发生失败,通过这个来统计发送成功率,然后看具体哪个帐号没收到。这个功能如果从功能界面上看,得用不同的帐号登录才行。”
数据库的知识非常多,也很重要,测试人员需不断学习,起初把常见的sql语句能搞清楚就行了。其他的后面慢慢学,还有个就是面试可能问你在linux会不会装oracle数据库。有兴趣的可自己研究下。
注意:不会的不要装,技术的东西不是吹牛你能吹出来的,不会就委婉的拒绝,可做如下回答:
面试官:“存储过程了解么?能不写?”
应聘者:“不好意思,存储过程了解些,但工作接触他不多,所以现在还不会写。”
软件测试刘氏秘籍三十六式 第七篇
1.你对linux了解吗?
linux建议大家学习常见的命令,然后在linux里搭建一两个测试环境,如j2ee、lamp等结构的。linux选择redhat、ubuntu、opensuse等几个类型,不需要每个都去弄。
命令学习用户、用户组管理、目录管理、文件管理、权限管理、文件安装与卸载、解压缩、网络管理、系统资源查看、linux工作原理等方面的知识,具体的请看linux视频及课件。
面试官:“你对linux了解吗?我看你简历上说对opensuse比较熟,能否介绍下”
应聘者:“对linux有些了解,做过使用linux做服务器的项目,当时用的是opensuse系统,常见的命令没有什么问题,也在上面搭建过测试环境,当时搭的是Tomcat+Mysql+JAVA的测试环境”。
如果面试官让你说出常见的命令,建议以一个顺序说。
面试官:“能不能说一些常见的命令”
应聘者:“好的,我大概说下吧,opensuse用户管理方面的命令是useradd、usermod、userdel、用户组管理的是groupadd、groupmod、groupdel等,目录管理的有mkdir、rmdir、ls、mv,系统资源查看的有top、ps、vmstat等。。。。。”
讲的时候按照应用类别讲,条理会清楚些。
2.你对java/c/python了解吗?
作为一个初级测试工程师,其实对编程没什么要求,有更好,所以如果自己具有编程方面的技能,在简历中可写出,那么面试官在面试的时候可能会问你。
举例
面试官:“我看你简历上说对java/c熟悉,能否介绍下?”
应聘者:“java我自己自学过,公司做的项目也是java开发的,所有有些了解,一些简单的代码阅读编写没什么问题,对面向对象有个初步的理解。”
面试官:“如果编程实现字符串拷贝,你觉得应该怎么设计?”
应聘者:“首先需定义源字符串,然后定义目的字符串,使用new string的方法实现拷贝吧”
C语言之类的问题一样,如果确实不会,就不要在简历上写,记住,简历上写的,都要会,至于会到什么程度就看个人发挥了,如果一点都不了解的,就不要写,别自己给自己挖坑。
3.你对自动化了解吗?有没有做过自动化测试
针对初级测试工程师,如果自动化确实不了解,就不要去说了,如果问到,就这么说:“不好意思,一直做功能测试,自动化这块基本没有接触,平时自己也是自学着,工作中还没有真正做过。”
如果有这方面的知识,比如对qtp,selenium比较了解,可以说用过几次,然后再根据面试官问题去回答,需要主要的是,千万不要去讲什么录制回放类的,现在企业面试对这个自动化还停留在录制回放上的,比较鄙视,虽然他自己也不一定会。
4.你对性能测试了解吗?有没有做过性能测试
与自动化一样。记住一个,不会不要装,技术装不出来,但回答可以委婉些。
5.能不能介绍下Web测试需要关注哪些方面?
web测试需要关注功能、兼容性、前端性能、用户体验几个环境,具体可看教材第八章,如果面试时问到这个问题,可以从以下几个方面回答。
举例
面试官:“对web测试熟悉,能不能给我讲下做web测试时你关注哪些方面”
应聘者:“web测试比较熟悉,之前做的都是web类型的系统,我做web测试时一般关注web系统的功能、兼容性、前端性能、用户体验几个方面,有时候根据需要还要考虑安全性方面的问题。功能方面,首先要满足用户的业务需求,需求中或测试要求中需实现的功能必须实现,一般我是将页面分为几个组件部分进行测试,如文本框、按钮、下拉列表等,保证功能没有问题,然后要考虑兼容性问题,一般我们要求在ie、360、chrome、firefox等几个常用浏览器上测试下,看看是否兼容。前端性能,我们一般用htttpwatch工具进行,分析下每个页面的响应时间,如果是并发性能,会利用loadrunner进行测试。用户体验主要关注用户的使用习惯,易用性方面。”
软件测试刘氏秘籍三十六式 第八篇
1.你们公司在哪里,主要做哪方面的业务
根据简历上的公司,说出公司地址,如果可能可说个离你现在面试公司距离较远的地方。这样也是为了后面别人问你为什么离职打下伏笔。
公司主要做什么,现在很多外包公司,如果可以就说是外包,有什么项目都接,所以做的项目看起来比较杂。
2.能不能介绍下等价类、边界值、正交试验、流程分析、状态迁移等用例设计方法
这个问题大家把教材上的第五章内容看透了,带着项目去讲即可。需要主要的是,在面试过程,如果面试官不认可你的讲法,理解,要谦卑,不要反问,比如
面试官:“你觉得你刚才说的等价类设计法对吗?”
应聘者:“我工作中是这样用的,感觉没什么问题,评审的时候一般都是通过的”
不要去质疑,反问,否则死得很惨。
3.能否介绍下黑盒、白盒、灰盒测试方法
知识点看教材第三章,讲的时候举项目中的例子。这个问题问到的概率不高
举例
面试官:“能否讲下黑盒、白盒、灰盒三种方法的区别”
应聘者:“好的,我从我的理解讲下。黑盒测试方法关注被测对象整体外部特性,不关注他的内部构造设计,比如一个接口,一个功能,我仅关注他表现出的功能应用特性,对于他内部设计无须关注,如果是功能,则以用户角度来使用他,看看是否满足需求设计。白盒测试与黑盒相反,不关注他的外部特性,只关注他的内部设计,比如接口,函数,我之关注他的内部逻辑处理过程,不关注外部程序、功能调用的情况。灰盒则是白盒与黑盒的结合体,既关注被测对象的内部特征,又关注他的外部使用情况。”
回答的时候,不必太过理论,口水话适当多些,加些自己的理解。如果可能,可具体举列子。
黑盒:某个查询功能,精确查询、模糊查询
白盒:某个类,函数,内部设计构造,比如一个sql语句,一个存储过程
灰盒:数据库测试,即从软件界面看业务流程的变化,又要从数据库中看流程事务的状态变化,往往复杂业务在后台有状态标识。
4.你了解测试计划/方案吗?有没有编写过,他们都包括哪些具体内容
回答是了解,没有编写过,这里面有个注意点,测试计划,方案,往往都是测试经理,或者资深的测试工程师写的,作为一个普通的测试工程师,基本不会去写计划或方案的,所以,如果你回答是写过,可能就会问的比较深入了,除非确实对计划比较了解,否则不要去讲自己写过。
这个方面需要的知识在教材第四章测试流程,可以看看一个计划或方案都包括哪些内容,也可以在网上找些计划和方案的模块看看,熟悉下。
5.你熟悉哪些测试工具呢?
测试工具目前主要有测试管理工具、自动化测试工具、性能测试工具,其他也有些,但不建议去说,这样的话,符合企业的实际情况。回答的时候,可以讲HP的几个工具,但前提是必须说清楚,因为这些工具还是比较复杂的,如果测试过程中,只用到了缺陷管理工具,比如bugzilla,matins等,也可以只说一个,一般情况下,不会因为你不会什么工具,就不要你,这个问题是个可选项。
6.你的职业规划是如何的?能否介绍下
这个问题有时候面试官会问,特别是HR面试时,他会从你的职业规划看你的学历能力,稳定性等等。
一般测试工程师的职业发展规划可以这么规划:
先做2-3年的功能测试,把业务流程、用例设计、需求管理、测试流程、缺陷管理都掌握熟练了,作为后续职业发展的基础,在这个过程中利用业余时间再进行编程、linux、数据库方面知识的学习,在3年左右的时候进行自动化、性能测试的学习,这样技术上面来说全面些,说的这个地方,需要结合自身的性格进行阐述了。如果性格是交际型的,可以从管理角度考虑,如果是分析型可以从技术角度考虑,当然也可以根据自己的爱好来定,目标一定要明确。规划时间在4年左右即可,总之要思路清晰,规划明确,同时要表明自己愿意沉淀,不愿意频繁的换工作等。但是不能说的太过明确。
软件测试刘氏秘籍三十六式 第九篇
1.你们做过需求评审/测试用例评审吗?是怎么做的,你担任的是什么角色
评审一般考虑的是比较规范的过程,具体的知识点,可以看教材的第六章,讲的比较多,特别是同行评审中的正规检视。必须理解整个流程,特别是同行评审中的正规检视流程,以及常见的几个错误。
如果评审能讲出规范的流程,也可以,前提是团队人是比较多的,一般小公司不会很规范,所以,回答的太规范反而不合适。
举例
面试官:“你们做过需求评审吗?一般是怎么做的呢?”
应聘者:“需求评审是要做的,但是做的不太规范,一般都是根据需求提取了测试需求后对测试需求进行的评审,测试经理组织我们每个人先统一看下项目的测试需求,然后各自讲解下自己负责的功能模块的测试需求,然后大家提问题,一般都是在QC上直接看,直接讲。发现了问题就记录下来,评审结束后再修改。”
面试官:“这样做你觉得有效果吗?”
应聘者:“我觉得效果还是有些,有时候确实也能发些一些写的不细致,甚至是划分错误的地方。但是也觉得整个流程不是很规范。(这个时候可能说下规范的流程)”
2.你觉得一个测试工程师应该具备哪些素质?
教材上第一章写了很多,如果面试官问到这样的问题,回答的时候要注意讲自身素质的时候,最好有案例支撑,比如说责任心、学习能力等。
举例
面试官:“你认为一个优秀的测试工程师应该具备哪些素质”
应聘者:“我觉得一个优秀的测试工程师,应该具备(稍微停顿下,表示在思考,5秒钟)责任心、学习能力、沟通能力等几个方面吧”
面试官:“能不能具体介绍下呢?”
应聘者:“责任心我是这么想的,现在的测试工作给我的感觉很多时候都是靠测试工程师通过需求、自身的经验进行测试,特别是没有需求的时候,想保证测试的质量,测试人员自身的主观想法占了不少比例,如果他不负责,不认真,测试不细致,可能会造成很多的遗漏,而项目也不太可能安排别人重测,这样就会造成比较大的隐患,所以责任心很重要。沟通能力在测试工作中也很重要,比如有时候咱们发现了一些bug,因为观点,评判标准不同,可能开发同事不认可这个bug,这个时候就需要我们从专业知识的角度与他们沟通,解释清楚为什么我们评定为一个bug,当然过程中是需要一定的沟通技巧了,比如对事不对人,讲话委婉些,从对方的角度考虑等。学习能力我是这么认为,在测试工作中肯定会碰到一些比较棘手技术问题,或者其他的问题吧,在自身技术能力不具备的时候,就应该快速的学习,快速的应用,从而提高工作的质量与效率。这点我认为很重要。”
回答这些问题,多从自身的体会考虑,讲出自己的感受。
3.测试时发现测试的版本问题太多,你怎么办?
这个问题可以先梳理下测试流程,在执行测试的时候,有个冒烟测试,或者叫预测试,回答这个问题时,可以从冒烟测试、测试挂起/恢复标准考虑。
应聘者:“我们测试的流程一般是这样的,在执行测试的时候,会选择级别为高级的用例先进行冒烟测试,如果高级别的用例都通过,则说明冒烟测试通过,然后再开始细致的系统测试。这个时候,如果冒烟测试不通过,我们会告诉经理,经理会及时暂停测试,与开发那边沟通确认具体问题,看看是不是重新打版本,所以,冒烟测试不通过,测试就暂停了,不会继续测,如果冒烟测试通过了,但是很多中级或低级的用例执行失败,一般我们的标准如果各级别失败用例占此级别用例数的20%,测试也会暂停,由经理去协商是否重新打版本。都是有流程处理。”
这个问题我觉得不要纠结在你是如何做的,就说你所在的团队是有流程的,这样说我觉得可以避免一个问题,他追问你为什么。。。如果是团队的管理流程,你又不是管理者,所以他能理解。面试时自己拿捏不住的问题,不要揽到自己身上,应该想办法说成团队的,即使流程不合理,也是当时的团队流程问题,而不是你自身的问题。
4.测试时找不到缺陷,你怎么办?
问这个问题,一般是想了解应聘者在日常工作中是如何寻找bug的,有没有一些思路。回答时可以先实际后理论来回答。
举例
面试官:“测试时有没有碰到找不到bug的时候,你怎么调整的?”
应聘者:“这个问题我在测试的时候确实碰到了,特别是项目后期的时候,用例都执行完了,遗留的缺陷也基本解决了,但还有时间,经理会让继续测测,这时候我很难发现bug了。不光是我,还有我的其他同事基本都这样。这种情况,我们一般是这么做,一是从需求的角度再入手,看看功能、性能、UI方面的需求是不是都考虑了,有没有遗漏,第二就是从web测试的角度考虑,比如界面设计、易用性、安全性、兼容性等等,最后再进行测试组内的交换测试,也就是每个人把自己负责的模块交换测试下,避免思维定势遗漏了某些缺陷。然后大家在针对项目做头脑风暴,如果还找不到bug,测试经理这边可能就停止测试了。”
文章出自:http://qh.itpxw.cn/tech/201840541.html
文章标题:不为人知的软件测试方法
免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员
用户级别:10
机构名称:IT培训网
联 系 人:罗老师
联系电话:13783581536
联系手机:13783581536
在线客服:
在 线 QQ:
电子邮件:
网站域名:http://www.itpxw.cn
注册时间:2016-07-18 11:07
最后登录:2024-02-20 13:02
东南亚比邻中国,作为当今世界经济发展最具活力和潜力的地区...
负载均衡可以分为硬件负载均衡和软件负载均衡,前者一般是专...
现阶段小程序中兴的原因到底在哪?“用完即走”不是关键因素...