转眼2021年招聘季已将到来,没点真本事真技术,没点面试经验,不了解点职场套路,如何过五关斩六将?如何打败面试官?如何拿下那梦寐以求的offer?
如果你的跳槽意向已经很确定,那么请往下看!
跳槽最重要的一步自然是面试,马上跳槽季,网上出现了各种面试题,一时会让人眼花缭乱,分不清最该看哪个,所以小编整理出以下资料仅供大家参考。
Linux操作系统
java
c#
c++
python
shell
SQL语句也是必须的
01、什么是bug?
答:软件的bug指的是软件当中不符合用户需求的问题。
常见的软件bug分为以下三类:
没有实现的功能
完成了用户需求的功能,但是运行时会出现一些功能或性能上的问题
实现了用户不需求的多余功能
02、简单概述缺陷报告,并说明包括哪些项?
答:现在缺陷报告一般不再使用纸质档文档编写,而是专用测试管理工具(如TestDirector),这样便于缺陷管理。在这些工具中,每个缺陷作为一条记录输入指定的缺陷管理系统中。
缺陷报告包括:软件名称、版本号、功能模板、缺陷编号、对应的用例编号、编写时间、编写人、测试员、预期结果、实际结果、缺陷描述、严重级别、优先级别
03、开发人员修复缺陷后,如何保证不影响其他功能?
答:重新执行用例、看是否出现错误结果。并对周围的一些相关功能点追加新的测试用例。
04、什么时候功能测试?
答:功能测试是在规定的一段时间内运行软件系统的所有功能,以验证这个软件系统有无严重错误。
05、请问功能测试和性能测试的区别是什么?
功能测试 | 性能测试 | |
---|---|---|
测试目的 | 检测实际软件的功能是否符合用户需求,测功能是不是全部实现,某个实现是不是有BUG。 | 验证软件质量的三个质量特性,可靠性,正确性和效率。主要是测试产品的健壮性 |
测试方式 | 功能测试按照系用例,按照系统需求说明书和测试用例,对产品的功能一步步进行测试。找出产品功能是否全部实现 | 一般都使用性能工具对产品的健壮性进行评估。通过创建场景和虚拟用户模拟真实环境,进行压力测试和负载测试。 |
06、为什么选择测试这行?
答:它是一个新兴的行业,有发展潜力,而且很锻炼人,需要掌握更多的技能,比做开发要更全面。
Q1:项目中相关需求问题,测试可以直接和客户沟通吗?
A1:可以,最初与客户沟通需求时,测试人员直接参与,所以我们可以直接和客户方的代表开会进行沟通。
A2:不可以,我们的需求是产品线提的,产品线与客户直接沟通,所以关于需求问题我们直接找产品线。
Q2:需求确定中不确定的需求怎么解决?
A2:一般情况下先由项目组内讨论解决,如果依旧得不到解决,则直接与需求方确认。
Q3:什么是测试方案,什么是测试策略?
A3:测试方案是指导我们怎么测的问题,里面的主要内容是测试点。策略是指导我们要测什么方面,比如要进行功能测试,性能测试,兼容性测试等等,并指出需要依赖与什么工具。
Q4:测试方案包含哪些内容?
A4:业务功能的描述,对需求功能的理解,业务流程图,业务表,测试点等。
Q5:测试用例设计方法有哪些?
A5:等价类、边界值、错误推测法、场景法、因果图、判定表。
Q6:测试用例内容有哪些?
A6:ID 、标题、 优先级、 预置条件 、操作步骤 、预期结果、 实际结果、测试人、测试时间。
Q7:测试用例为什么需要有优先级,有哪一些优先级?
A7:因为在不同阶段执行的用例数目是不同的,用例对应的功能的重要程度也是不同的,我们用的是高中低三级。
Q8:你们项目一共有多少条测试用例?
A8:500-------到2000,具体项目具体分析,和项目大小颗粒度大小都有关系。
Q9:测试用例需要哪些人来评审?
A9:测试组内评审的,因为我们的方案是全体项目组成员(PM/SE开发和测试)来评审的并且方案里的测试点写到了测试用例标题的程度。我们是项目组全体来评审的额,毕竟测试是保证软件质量的最后一个环节,测试用例是测试执行的依据,所以测试用例十分重要,项目组非常重视测试用例的评审,希望把漏测的降到最低,所以我们的测试用例是项目组全体成员来评审的。
Q10:一个项目需要写多少测试用例怎么估算?
A10:这个在需求分析之后根据测试点来评估的,我们的测试点写的很细,所以测试用例的数目几乎等于测试点的数目。
Q11:不能发现BUG的测试用例不是好的测试用例吗?
A11:我不这样认为,我觉得在执行之前,每个用例都可能发现缺陷,好的测试用例是一套完整的不遗漏的测试用例,是能够被其他的测试人员执行的测试用例。不能因为是否找到BUG来说明用例是否好。
Q12:为什么要进行交叉测试?
A12:因为自己执行自己设计的用例,会按照设计用例的思路来执行用例,可能会忽略一些偶然或异常的情况,交叉执行可能会发现新的BUG,当然如果用例已经写得很细,颗粒度很小吗,输入输出写得很全面交叉执行的结果都会差不多,无论谁来执行结果都是一样的。
Q13:什么叫预测试,预测试是怎么进行的,预测试一般为多长时间?
A13:预测试就是开放刚刚开发完成,测试环境刚搭建起来,这时我们要对系统的各种功能能不能跑通,业务流程能不能完成进行测试,就是冒烟测试,这就是转测试,我们转测试大概需要一天的时间。
Q14:你的测试职业发展是什么?
A14:测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年积累测试经验,按如何做好测试工程师的要点去要求自己,不断更新自己改正自己,做好测试任务。
Q15:你认为测试人员需要具备哪些素质?
A15:做测试应该要有一定的协调能力,因为测试人员经常要与开发接触处理一些问题,如果处理不好的话会引起一些冲突,这样的话工作上就会不好做。还有测试人员要有一定的耐心,有的时候做测试很枯燥乏味。除了耐心,测试人员不能放过每一个可能的错误。
Q16:你为什么能够做测试这一行?
A16:虽然我的测试技术还不是很成熟,但是我觉得我还是可以胜任软件测试这个工作的,因为做软件测试不仅是要求技术好,还有有一定的沟通能力,耐心、细心等外在因素。综合起来看我认为我是胜任这个工作的。
22、软件的评审一般由哪些人员参加?其目的是什么?
参加人员:客户、项目经理、开发人员、测试人员
目的:查看软件在未正式投入运行前是否还存在问题。对于不同软硬件平台能否正常运行
是否有与客户理解不一致的地方,同时可以对一些可以改进的地方再多加改进。
23、什么是软件测试,软件测试的目的?
软件测试是通过人工或者自动化的操作进行还没有商业化用途的程序,查看他们的功能是否满足客户需求。
目的:在最短时间内找出尽可能多的软件缺陷。
24、什么是兼容性测试?
兼容性测试是检查软件在不同软件平台,硬件平台上是否可以正常运行的测试。主要查看软件在不同操作系统、浏览器、数据库中是否运行正常。
01、您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。
答:有黑盒和白盒两种测试种类,黑盒有等价类划分法,边界分析法,因果图法和错误猜测法。白盒有逻辑覆盖法,循环测试路径选择,基本路径测试。
例子:在一次输入多个条件的完整性查询中。利用等价类划分法则和边界分析法则,首先利用等价划分法,可以一个或多个结果是OK的测试用例,然后确认多个NG的测试用例,然后利用边界值分析法,可以对结果分别是OK和NG的测试用例进行扩展和补充。
02、您认为做好测试用例设计工作的关键是什么?
答:测试用例设计工作的关键是对可行的和不可行的都要考虑。
1,输入 2,详细的操作步骤 3,预期输出 4,实际输出。
03、您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。
答:有使用过LoadRunner,该工具能够录制测试人员的操作步骤,然后对这个操作步骤模拟出多个用户来播放出来。
1、Visural User Genertor 创建脚本,选择协议,录制操作,编辑操作。
2、中央控制器(Controller)调度虚拟用户,创建场景,选择脚本,建立虚拟用户,设计shedual,设置ip spoofer。
3、运行脚本。分析shedual。
4、分析测试结果。
04、您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?
答:性能测试工作的目的是检查系统是否满足在需求说明书中规定的性能,性能测试常常需要和强度测试结合起来,并常常要求同时进行软件和硬件的检测。
性能测试主要的关注对象是响应时间,吞吐量,占用内存大小(辅助存储区),处理精度等。
05、在您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录?
答:检测时间,系统环境,硬件环境,严重程度,程式版本,确认人,功能模板,问题描述,详细操作步骤,是否会重现。
问题描述和详细操作步骤要尽可能详细。Bug应该尽量用书面语,对于严重程度比较高的缺陷要在相同环境下测试一遍。
在C\S模式下,如果条件满足可以使用替换法来确认是client端的问题还是server端的问题。
06、你对测试最大的兴趣在哪里?为什么?
答:最大的兴趣就是具有挑战性。
因为我并不知道哪里会出现bug,在找到一个bug后会很高兴。并且测试需要很强的耐心和细心。我可以很容易的找到一些细节问题。
07、测试活动中,如果发现需要文档不完善或者不准确,怎么处理?
答:要及时的与项目经理进行沟通协调。要在邮件中详细的把不完善不准确的地方描述出来,并提出自己的意见。
08、你认为做好测试计划工作的关键是什么?
答:首先,要有一个明确的目标,详细的阅读需求文档说明。
其次,要对整个测试人员、测试时间、测试进度进行一个预估,并预先进行管理。
最后,要对整个测试流程设定一个规范,所有测试人员都按着规范做事,不能随心所欲的测试。
09、软件配置管理工作开展的情况和认识?
拿到一台裸机过后要安装客户需要的操作系统,并且安装一些所必须的软件。
10、你觉得软件测试通过的标准应该是什么样的?
答:测试用例完全执行,测试用例覆盖到所有的测试点,并且缺陷的密度达到客户的需求。
11、软件测试的文档测试应当贯穿于软件生命周期的全过程,其中用户文档是文档测试的重点。那么软件系统的用户文档包括哪些?
答:用户安装文档、用户配置文档、用户使用手册、联机指导等。
12、简述软件系统中用户文档的测试要点?
完整性:用户文档中功能的描述要完整的。不能让用户产生疑问。
一致性:用户文档中的功能描述要与实际软件中的功能一致。不能描述过盛。
易使用性:用户文档描述的内容要方便用户阅读并且能够让用户很清楚的知道如何操作。
图表:有的时候用图表描述会很明了。
13、测试用例如何设计的?
答:在测试用例的设计之前首先要仔细阅读开发的详细设计文档,充分了解产品的详细功能,不清楚的地方与开发人员进行沟通,搞懂每个功能,尽量详细到输入框、按钮等小功能,功能点清楚之后按照功能模块分类进行用例编写。在具体的用例设计中会运用到等价类边界值等黑盒测试方法
在项目中,算法任务有时也会和一些客户端的功能相结合,举几个例子 负反馈过滤如用户选择不喜欢后不再出现;曝光过滤如规定出现几次后不再出现;刷新规则如规定刷新后推荐数据的变化;还有一些如关注等操作后对于算法的实时影响等。对于这部分的测试,我们一般和客户端的功能测试结合起来,手动操作客户端,并检查后续反馈的算法结果。
01、按你的理解,软件接口是什么?
答:
就是指程序中具体负责在不同模块之间传输或接受数据的并做处理的类或者函数。
02、HTTP和HTTPS协议区别?
答:
https协议需要到CA(Certificate Authority,证书颁发机构)申请证书,一般免费证书较少,因而需要一定费用;
http是超文本传输协议,信息是明文传输,Https协议是由SSL+Http协议构建的可进行加密传输、身份认证的网络协议,比http协议安全;
http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443;
03、HTTPS在哪一层?
以前我面试很喜欢提网络协议的问题,有朋友说我装X,不实用。稍有点研究网络知识,实际就不难回答
答:HTTPS在应用层。
HTTPS在哪一层
04、get和post区别是什么?
答:POST和GET都是向服务器提交数据,并且都会从服务器获取数据。
区别:
1)传送方式:get通过地址栏传输,post通过报文传输
2)传送长度:get参数有长度限制(受限于url长度),而post无限制
3)GET产生一个TCP数据包(对于GET方式的请求,浏览器会把http header和data一并发送出去,服务器响应200返回数据),POST产生两个TCP数据包(对于POST,浏览器先发送header,服务器响应100 continue,浏览器再发送data,服务器响应200 ok返回数据)
4)get请求参数会被完整保留在浏览历史记录里,而post中的参数不会被保留
5)在做数据查询时,建议用GET方式;而在做数据添加、修改或删除时,建议用post方式
05、常见的POST提交数据方式
答:
主要有四种方式:application/x-www-form-urlencoded、multipart/form-data、application/json、text/xml等。
06、什么是Http协议无状态协议?怎么解决HTTP协议无状态协议
答:
无状态是指协议对于事务处理没有记忆能力,服务器不知道客户端是什么状态。即我们给服务器发送 HTTP 请求之后,服务器根据请求,会给我们发送数据过来,但是,发送完,不会记录任何信息。HTTP 是一个无状态协议,这意味着每个请求都是独立的,Keep-Alive 没能改变这个结果。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。HTTP 协议这种特性有优点也有缺点,优点在于解放了服务器,每一次请求“点到为止”不会造成不必要连接占用,缺点在于每次请求会传输大量重复的内容信息。客户端与服务器进行动态交互的 Web 应用程序出现之后,HTTP 无状态的特性严重阻碍了这些应用程序的实现,毕竟交互是需要承前启后的,简单的购物车程序也要知道用户到底在之前选择了什么商品。于是,两种用于保持 HTTP 连接状态的技术就应运而生了,一个是 Cookie,而另一个则是 Session。
07、cookie和session的区别
答:
cookie数据存放在客户的浏览器上,session数据放在服务器上
cookie不是很安全,别人可以分析存放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session
session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能,考虑到减轻服务器性能方面应当使用cookie
单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie
可以将登陆信息等重要信息存放为session;其他信息需要保存,可以放在cookie
08、请求接口中常见的返回状态码
答:
1 – 信息提示(表示临时的响应。客户端在收到常规响应之前,准备接收一个或多个1xx响应)
2 – 成功(表明服务器成功地接受了客户端请求)
3 – 重定向(客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求)
4 – 客户端错误(发送错误,客户端有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份证验证信息)
5 – 服务器错误(服务器由于遇到错误而不能完成该请求)
unittest
spring
如何测试一个纸杯?
有清晰的思路,有的时候比确切的答案更重要
从功能测试的角度分析
功能度:用水杯装水看漏不漏;水能不能被喝到
界面:杯子的外形,界面上的文字,图形,颜色等是否符合原型图
易用性:杯子是否烫手、是否有防滑措施、是否方便饮用
用户文档:使用手册是否对杯子的用法、限制、使用条件等有详细描述
兼容性:杯子是否能够容纳果汁、白水、酒精、汽油等
你的测试职业发展是什么?
测试经验越多,测试能力越高。所以我的职业发展是需要时间累积的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前3年累积测试经验,按如何做好测试工程师的点要求自己,不断的更新自己改正自己,做好测试任务。
总结
面试的时候,我觉得我被问过很多奇葩的问题,有的时候不仅仅只有一个,有的时候会有很多,他们会从一个问题里抽出更多的问题来回让人觉得是在刁难,但是又不得不回答这些问题。这时候需要注意随机应变,不可慌乱,祝君顺利。
衷心希望文章有帮助到大家,如有其他问题,也欢迎大家前来交流和补充(644956177(有清晰的思路,有的时候比确切的答案更重要),分享更多技术、面试资料,群里还有同行一起交流技术。