「软件测试」最全面试问题和回答,全文背熟不拿下offer算我输

一般要应聘关于测试的工作,面试题会不会很难?下面小编整理了软件测试面试题及答案,欢迎参考!

一、引言

1.1 文档目的

本次文档是为了收集在面试中遇到的一问题与常见的一些答案并不是唯一答案

二、职业规划

2.1 简单的自我介绍下

面试宫,您好,我叫 XXX,来自于 XXXX,目前从事软件测试工作,已经三年工作经验,个人性格,比

较开朗,跟人关系比较好,做事也比较细心三年测试工作经验中,过了不少项目,积累不少项目经验,

前面 1-2 年主要是功能测试,后面这一年主要做接口测试,app 自动化测试能够独立完成软件产品测

试工作,能够独立编写测试文档,包括用例,计划,报告等,熟悉 lnux 跟数据库,熟悉 jmeter 与 python

+ request进行接口测试,也可以使用 pytest框架进行接口自动化测试, python + selenium + pytest

框架进行自动化测试,python + appnium + pytest 移动 app 自动化测试框架,熟悉使用 Jenkins 持

续集成,熟悉 app 专项测试与小程序测试,熟悉抓包工具。

我个人平常喜欢…看书…

我个人觉得测试这一块,主要是对需求了解,需求理解到位,工作当中,一定细心耐心,技术这块,

不断学习能力

如果面试没有说话, 这个是我的一个简单自我介绍,看面试官还有什么需要了解的

2.2 为什么离职

①、尽量谈化敏感答案比如,人际关系不好处理,与上司相处不好、工作压力大等。

人际关系复杂,现代企业讲求团队精神,要求所有成员都能有与别人合作的能力,你对人际关系

的胆怯和避讳,可能会被认为是心理状况不佳,处于忧郁焦躁孤独的心境之中,从而妨碍了你的从业

取向。

收入太低,这样回答会使对方认为你是单纯为了收入取向,很计较个人得失,并且会把“如有更

高的收入,会毫不犹豫地跳槽而去的”这种观念形成对你的思维定势。

分配不公平。现在企业中实行效益薪金、浮动工资制度是很普遍的,旨在用物质刺激手段提高业

绩和效率;同时,很多单位都开始了员工收入保密的措施,如果你在面试时将此作为离开原单位的借

口,则一方面你将失去竟争优势,另一方面你会有爱打探别人收入乃至隐私的嫌疑。

工作压力太大。现代企业生存状况是快节奏的,企业中的各色人等皆处于高强度的工作生存状态

下,有的单位在招聘启事上干脆直言相告,要求应聘者能在压力下完成工作,这是越来越明显的趋向

②、尽量采用与工作能力关系不大、能为人所理解的离职原因。

寻求更大的发展:现有的企业岗位设置难以满足自身职业进一步发展的要求,

换一个更好的平台来挑战自我。

原公司发生了重大客观变化:公司重组或部内部变动,导致工作内容发生重大变化,

无法再继续履行劳动合同,或者直接被裁员等

与公司文化无法融合:每一家企业其实都有自己特有的“文化”,如果你在这家公司里工作,

却无法认可这家公司提倡的一些文化,这就会对企业的发展以及对自己的发展都非常的不利。

所以你想要走出企业的束缚,找到一家跟你更契合的公司工作也是可以的。

个人原因:上班太远影响工作、家中有事、充电、休假、生病等等。注意:避免敏感答案,

并不意味着欺骗,如招聘人员问及细节问题,应如实回答。否则求职者的诚信度可能大打折扣,

成功可能性更小。

③、不要诋毁你的老东家

相信很少会有人犯这样的错误,这的确是一个不可取的方式,你应该把你的离职原因集中表述

在“寻找新机会或新的平台”以及尝试在新的岗位上提升自己。职场虽然没有战争那么血腥,

但也有很多委屈、不被理解或被无故受伤,这些都很正常的。我们要用一颗阳光的心去面对,

用一颗阳光的心去照耀。

在离职后,永远要用赞美的词语来评价你的老东家,哪怕他在公开场合去骂你,你都要用最美的词语

去评价他。别忘记,你赞美他,是你素养高;他骂你,是他素质的问题。你永远改变不了别人,但你

有能力改变自己。

④、体现你的忠诚度

如果你轻描淡写地就离开了之前的团队,那么面试官会觉得你在新公司也可能会轻易走人,

所以,在体现忠诚度的时候,你可以试着谈谈你离开上一家公司时有多么痛苦依依不舍(即使并没有),

聊聊如果有办法使你能在原来的岗位上持续得到提升或者如果不是因为股东之间的权利斗争(可适当

显得痛心疾首些),你肯定不会离开。

而在体现责任感时,你需要表达两层意思:

首先,你从上家公司离职时已经为继任者做了充分的交接。你需要清楚地表明:你在上家公司也很认

真尽职,并且同事之间一直保持互助互利的工作氛围。也许你可以说说你也想过要早些辞职,但是考

虑某个未完成的重要项目、或是继任者短期内还不能胜任角色所以晚了一些。

其次,就是你很期望承担新的职责,并表现出你的热枕,这种热枕除了对工作的热忱之外,

也可以适当的通过向你的面试官(不仅是 HR)提问表现出来对面试官的兴趣、对他们技能的

认可以及共鸣,例如,“那么,你是如何做到现任职位的?”或:“如果我有幸担任这个职位,

你会给我哪些建议?”

通用说法:家人在这边,或者想到大城市发展。

2.3 加班的看法

1、(将问题抛给 HR,)在回答您的问题之前我想了解一下贵公司的加班制度是怎样的。

(这种回答,其实是把问题抛回给 HR,让 HR 表明公司对于加班的态度,其实很多大公司

对于加班都有明确的规定,什么情况该加班,加班会有什么福利等等问题都是确定的,

而小公司就随意很多,往往是老板要求加班员工就得无条件加斑。因此,如果公司的加班制度明确,

那么 HR 就能够明确地向你介绍,你在了解过后再给出回应也不迟。面试本就是双向选择的过程,

你也没必要为了通过面试,满口答应自己愿意加斑。)

2、在 IT 行业里,加班是比较正常的,首先我会了解加班的原因,如果公司近段时间需要赶

项目进度或者是站在重要的关键节点上需要加班,我会站守自己的岗位,把自己手上的事做好,

和团队一起加班,让公司按预期的进度推进项目,这在我看来是必要的加班,

如果是其他的原因,比如个人原因,我会努力不加班,在保证工作质量的前提下,

我会提高自己的工作效率,避免加班。

如果说公司基本上天天都要加班,加班的频车较高,我希望可以减少不必要的加班,让员工

得到充分的休息,有休息才会把工作效率提升上来,工作才会更有效率,另外有些工作上的

能力炼可以在其它地方,而不在工作的本身,比如对生活的理解和感悟等之类,

是从工作中学习不到的,正所谓功夫在诗外嘛。

还有,我之前在上一个公司上班,住的地方离公司较远,作为一个女生,出于个人人身安全考虑,

我更希望不加班,毕竟生命健康是从事一切活动的前提嘛。

通用说法:如果项目组比较忙,加班是没有问题的。

2.4 你还有什么问题要问? ?

少问一些福利相关的问题

1.公司现在做什么项目 2.公司目前做哪方面测试 3.公司这边测试人员分配比例

4.进入公司,我这边大概的工作安排 5,公司这么后续发展机会还有培养

6,有没有培训 7,面试没有回答上的问题,再去请教

2.5 你的职业发展规划和职业目标

根据公司况,个人原因来说:看公司的岗位要求,招岗位就是攻能

公司只做功能测过

接下来一年时间内,更加完善自己的功能测试,2-3 年内熟自动化或者性能,

3-5 年内系统成为自动化或者性能,成为资深技术人员

公司做自动化与性能测试

1-2 年内熟恐自动化或者性能,3-5 系统成为自动化或者性能,成为资深技术人员性能与自动测试

找一个比较稳定平台,跟公司长期发展,后期走管理或者产品路线

2.6 你最近测试的论坛和网站是什么? ?

工作中积累,查看网站论坛(51 testing),CSDN,书籍《性能测试专家》,《性能之巅》

偏开发, python 自动化, selenium 自动化

2.7 对于一个新的工具你有什么看法

1.自己先去研究 2,找会的去请教 3,百度去找资料 4,工具原始文档

2.8 你做了 3 3 年测试收获,你的测试心得

3 年的测试经验,对我来说也是 3 年的工作经验,在这 3 年的工作经验当中,我觉得态度比能力要重

要,做好一个测试,最主要是性格,信心,耐心,细心还需要良好的沟通能力。不断学习的能力,产

品质量,测试流程这块很关键,好的计划加好的执行才能成就好的产品。

2.9 怎么转行的,毕业之后一直从事软件测试吗

非专业

1、培训,不要说刚培训出来 2019 年底开始

2、自学,不断一直学习

3、家里有关系,带你入行,后面学习过程很勤奋

计算机相关专业

1,实习开始,公司分配到做测试,做测试过程,比较喜欢测试,一直做下来

2.10 以前在哪里上班,公司地址,测试多少人,开发多少人

根据你简历上面写的,公司详细地址

产品 1、项目 1 个、架构师 1 个、前端 3 个、后端 5 个、0os 1 个、Android 1 个,

测试 3 个(测试主管,核心测试人员)、运维 1 个、ui 1 个

2.11 你的期望薪 资是多少? ?

1,期望薪资不要说区间比如说:6-8,那肯定是 6

2,如果原来公司在二线城市原有薪资不要说太高,

3,深圳那边薪资,比广州高 10% - 15%

2.12 多久能入职? ?

1,公司比较满意,直接随时过去。

2,不是很满意,下周一,个人有点事情,比如说回家一趟等等。

2.13 是怎么考虑做软件测试呢? ?

1、个人性格合适 2、前景还可以 3、个人技能也匹配

2.14 是否有考虑往开发方面测试? ?

我觉得,IT 行业,没有具体的界限,后期,开发也要懂测试,测试也要懂开发,

如果公司有机会,愿意去尝试

2.15 计算机专业课程有哪些? ?

公共课程:数学(高等数学、线性代数、概率论与数理统计、离散数学、数值分析),

政治(马克思主义思想概论、毛泽东思想概论与中国特色社会主义思想、

思想道德修养与法律基础、中国近现代史纲要)、大学英语、体育。

专业基础课程:电路原理、模拟电子技术、数字逻辑、微机原理、汇编语言、操作系统原理、

编译原理、算法与数据结构、面向对象方法、C 语言/C++语言等。

专业方向课程:计算机数据库原理、python 语言、图形学、人工智能,多媒体技术、

网络安全、人机交互、无线互联网技术、软件开发方法、高性能技术系统仿真和虚拟现实等。

大专 3 年、本科 4 年,

本科四级、大学英语四级及格 425 分、总分 710

2.16 说一下上一个公司背景? ?

了解公司主要是什么项目,百度查下,

如果公司主营产品跟你项目不匹配

比如:原来公司做医疗设备,那就说:我们是项目外包的部门,专门接项目

2.17 超过 6 26 岁女孩子,目前有没有打算结婚

暂时没有结婚的计划与打算,如果已经有小孩,说暂时不考虑二胎,

有小孩,可以说小孩在老家(原来有学员因为这个问题,被公司 pas 过)

三、测试理论 论

3.1 你们原来项目的测试流程是怎么样的? ?

我们的测试流程主要有三个阶段:需求了解分析、测试准备、测试执行。

1、需求了解分析阶段

我们的 SE 会把需求文档给我们自己先去了解一到两天这样,之后我们会有一个需求澄清会议,

我们会把不明白不理解的需求在会议上说出来,包含需求的合理性还有需求的可测性等,

产品这边解答,目的是让我们测试这边和开发对需求的理解达到一致。

2、测试准备阶段

会议结束之后我们开始准备测试工作,我们测试这边会写一个测试计划,分配每个人负责的模块,

然后我们就根据自己负责的模块用 xmind(思维导图)进行测试需求分析,分析测试点,

以及编写测试用例,之后我们会在自己的组内先进行评审,评审修改之后还会在我们的项目组评审,

评审完后进行修改测试用例。

3、测试执行阶段

开发人员编写好代码之后,我们会把代码包通过 Jenkins 部署到测试环境提测,进行 SIT 测试,

在正式测试之前我们会先做一个冒烟测试,冒烟测试通过之后我们才转测,在执行测试的过程中,

我们如果发现 bug 就会用 tapd(或者禅道)记录并且提交 bug,也会进行 bug 复测,以及回归测试,

每一轮测试结束之后我们都会写一个测试报告,一般情况下,测试 4-5 轮之后会达到上线要求,

当达到上线的标准后,测试报告会认为测试通过,上线前我们会做预发布测试,预发布通过后,

由项目组与产品决定时间上线,上线完成,一周左右我们会写一个项目总结测试报告,

总结我们在上一个版本中遇到的问题以及今后有哪些地方需要改进,在产品选代过程中,

我们会跑自动化用例来进行回归测试。

3.2 如果需求不明确的话你怎么办? ?

需求不明确的话我会在需求澄清会议上面提出来,问清楚这个需求只有明确需求,

才能更好的完成工作,后续工作中还是不清楚,可以找产品再去确认这个需求。

3.3 有哪些需要评审,哪些人在

1、 xmind 思维导图评审,主要是测试人员

2、测试用例需要评审,测试人员,开发人员,产品人员

3、需求文档,项目组所有的人员,都会到场

3.4 有没有写过测试计划,具体包括哪些内容? ?

参考答案 1:

测试计划内容:

(1)目的和范围 (2)规程 (3)测试方案和方法 (4)测试的准入和准出

(5)测试计划(流程、时间安排、对应人员) (6)测试的环境配置和人员安排 (7)交付件

参考答案 2

我们公司之前按照考核要求写过测试计划,不过后面老大觉得太耽误工作进度,

后面一般都不再写测试计划,而是写版本计划,这个在版本计划,每个人的任务列出来,

负责人列出来,自己根据自己的情况分配时间,然后汇总,大家一起开个小会评审就可以了。

3.5 用例包含哪些部分,哪些用例设计方法,你一般常用哪些方法? ?

原来我们用例包含

测试项目,用例编号、测试标题、优先级、预置条件、操作步骤、测试数据、预期结果

黑盒测试用例设计方法:主要是等价类、边界值、错误推测法、判定表、因果图、正交表、

流程分析法、状态迁移法、异常分析法。

常用的:等价类、边界值、判定表、流程分析法、错误推测法。

等价类是指某个输入域的子集合,在该子集合中,

各个输入数据对于揭露程序中的错误都是等效的,

并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部

输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件,

就可以用少量代表性的测试数据取得较好的测试结果,

等价类划分可有两种不同的情况有效等价类和无效等价类。

边界值的话就是对等价类划分方法的补充。测试工作经验告诉我,大量的错误往往是发生在输入或输

出范围的边界上而不是发生在输入输出范围的内部,因此的话针对各种边界情况来设计测试用例,可

以查出更多的错误,使用边界值分析方法设计测试用例的话,首先应该确定边界情况,通常输入和输

出等价类的边界,就是应着重测试的边界情况应当选取正好等于,刚刚大于或刚刚小于边界的值作为

测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

对于错误推断法,这个是基于经验和直觉推测程序中所有可能存在的各种错误,

从而有针对性的去设计测试用例的方法的,主要就是列举出程序中所有可能有的错误和容易发生错误

的特殊情况去根据这些情况来选择测试用例,例如,在单元测试时曾列出的许多在模块中常见的错误

以前产品测试中曾经发现的错误等,这些就是经验的总结。还有,输入数据和输出数据为 0 的情况。

输入表格为空格或输入表格只有一行。这些都是容易发生错误的情况,可选择这些情况下的例子作为

测试用例。

前面介绍的等价类划分方法和边界值分析方法都是着重考虑输入条件但都没有考虑输入条件之间的

联系,相互组合等等的情况。考虑输入条件之间的相互组合,可能会产生一些新的情况,

但是要检查输入条件的组合并不是一件容易的事情,即使把所有输入条件划分成等价类,

他们之间的组合情况也相当多,因此的话可以考虑采用一种适合于描述对于多种条件的组合,

相应产生多个动作的形式来考虑设计测试用例,这就需要用到因果图(逻辑模型)。

因果图方法最终生成的就是判定表它适合检查程序输入条件的各种组合情况。

3.6 TestLink 工具使用? ?

(1)创建用户,并给新创建的用户指定权限。

(2)创建测试用例,对测试用例进行增、删、改、查

(3)把测试用例关联到对应的测试计划中。

(4)把测试用例指派给对应的测试人员。

(5)对应的测试人员,查看被指派的测试用例,并执行测试用例。

3.7 如何提交一个好的 BUG

对 BUG 有一个清晰明了的描述; 详细描述 BUG 重现的步骤

对于产生 BUG 的环境进行描述; 提交 BUG 相关的图片和日志;

定位好 BUG 的等级; 将预期结果与实际结果进行对比。

3.8 提 提 g bug 需要注意哪些问题? ?

1) 不要急着提交,先跟开发说明 bug 的情况,定位分析下 bug。

是前端问题还是后端问题再去提交 bug。

2) 简单明了的概括 bug 标题,清晰的描述 bug 重现步骤,分析 bug 和预期正确结果,附加 bug 的截

图或者日志。描述 bug 的时候。

3) 在不能确认该情况是否为 bug 的时候,可以请教其他人。

4) 提交完 bug 以后,后面还要跟踪 bug 修复情况。

g 3.9 bug 怎么管理的,g bug 的生命周期或者是 g bug 的状态

原来 bug 是用禅道来管理的

原来我们公司 bug,提交 bug 直接给对应的开发人员,对应开发人员修复完成,交给测试复测,

复测通过关闭 bug,不通过打回给对应开发。

提交-开发人员(已激活未确认)-开发进行确认,状态变成已激活,已确认,开发修复完成,

标注状态是已修复,测试人员复测通过,已关闭,打回给对应开发,已经激活。

3.10 提交 g bug 包含 哪些内容

所属产品、所属模块、所属项目、影响版本、指派人员

截止日期、严重程度、优先级、bug 类型、bug 环境

Bug 标题、重现步骤、附件

3.11 你提交的 bug ,开发不认可怎么办? ?

首先我会再看需求文档,是不是我的理解有误,如果是我对需求理解错的话我就去关闭 bug。

如果是 bug 再去让其他测试人员看看听下他们的意见,然后自己先再三去复测,并目保存好截图和日

志,确定这是一个 bug 之后我就去跟开发说明白,并且给他看 bug 重现的截图以及日志,如果开发还

是不认可的话我就跟产品或项目经理说明白情况。

3.12 对 应无法重现 bug ,应该怎么处理? ?

首先,我会多测几次,测了好多次都无法重现的话我就先把 bug 挂起,并且留意一下,看看往后的测

试中,如果在后面的测试中重现 bug 就激活,如果经过几个版本都还没发现的话就关闭 bug。

3.13 界面中的乱码可以是哪里导致的? ?

(1)数据库中的编码设置 (2)前端页面编码 (3)后台代码也会编码

3.14 bug 的级别有哪些,级别如何判断

1、致命:对业务有至关重要的影响,业务系统完全丧失业务功能,无法再继续进行,

或业务系统丢失了业务数据且无法恢复,影响公司运营的重要业务数据出错。

2、严重:对业务有严重的影响,业务系统已经丧失可部分的重要的业务功能,或业务系统

丢失了业务数据且可以恢复,一般业务数据出错。

3、一般:对业务有较小的影响,业务系统丧失了较少的业务功能,

例如:界面错误,打印或显示格式错误。

4、提示:对业务没有影响,不影响业务过程正常进行,

例如:辅助说明描述不清楚,提示不明确的错误提示。

3.15 测试中,如何判断是前端的 g bug 还是后端的 g bug 呢? ?

通常可以利用抓包工具来进行分析。可以从三个方面进行分析:请求接口、传参数、响应。

1)请求接口 un 是否正确如果请求的接口 ur 错误,为前端的 bug

2)传参是否正确如果传参不正确,为前端的 bug

3)请求接口 u 和传参都正确,查看响应是否正确如果响应内容不正确,为后端 bug

4)也可以在浏览器控制台输入 js 代码调试进行分析

3.16 项目上线后发现 bug ,测试人员应该怎么办

看严重级别:严重还是不严重

严重的:紧急变更上线

不严重:修复好后跟下个版本一起上线

用户会通过运维反馈到项目组这边,项目经理会根据功能模块的负责人,分给对应的开发与测试。

测试人员:编写对应的测试用例、测试环境中重现 bug、提交 bug、

交给开发进行修复、修复完成 bug、进行 bug 的复测。

如果测试环境无法重现,可以导入生产环境的包到测试环境中测试,

还是不能复现,查看生产环境的日志去定位问题。

3.17 如何保证质量

(1)需求要吃透,多问,多去了解。

(2)严格按照测试流程去执行:多考虑用户测试场景,使用测试用例设计方法,多评审。

(3)要有良好的测试执行:要求用例执行率达到 100%,多轮测试,进行探索性测试,

需要测试之间交叉测试,用工具来管理我们的测试工作(禅道, testlink, excel,tapd)

(4)不断的反思与提升。

3.18 产品是怎么上线的? ?

一般我们会选择晚上上线,开发测试还有产品全部到场,进行上线测试。

首先,开发将代码打包到生产环境的服务器中,如果数据表有变化,就会运行 sql 文件,

对表的一些操作,接着,我们测试就开始先测试主体业务功能以及新增的功能模块;

测试通过之后,我们会在界面上把上线测试的数据删除,正常上线。

如果发现 bug,开发人员当场修复 bug,修复成功之后我们测试再复测,通过就可以正常上线

如果发现了 bug 开发人员在上线规定时间之前都还没有修复好的话,就看问题的严重性,

如果严重就延期上线,如果我们是迭代版本的话我们还需要版本回滚。

如果不严重,产品跟客户觉得可以上线,就正常上线。

3.19 你测试数据是从哪里获得? ? 怎么获得的,假如不告诉你,你怎么处理? ?

(1) 一般都是我们测试人员在测试过程自己造的测试数据,如果大量数据,我们可以用到存储过程。

(2) 也可以让运维人员帮忙从生产环境导出相关的测试数据,如果测试数据中涉及安全性的数据,

直接是不能导出。

3.20 如何测试万分之一概率问题

1) 用 Jmeter 或者其他自动化测试工具造大量数据

2) 让开发修改概率的比例

3.21 为什么要写测试用例? ?

1)提高测试效率 2)提高测试覆盖率 3)监控测试进度情况 4)也是质量的标准指标

CMM 质量体系(用例数也是一个度量标准 QA 岗位)

3.22 那你们测试用例是怎么编写的

原来我们主要是用 exce 编写的,当然也用过用禅道, testlink 去编写,禅道都是 excel 表格编写

完成,导入禅道系统, testlink 也可以 Exce 表格,编写,编写测试,导入 testlink

3.23 有没有写过测试报告,具体包括哪些内容? ?

参考答案 1:

1)项目背景和目的 2)测试用例设计 3)测试环境 4)测试过程用到的工具

5)测试范围 6)测试用例执行情况 7)测试缺陷分析和总结 8)测试结果

参考答案 2:

这个是写过的,测试报告,其实就是把我们测试的整个过程情况,数据统计,做成报告,包括用例执

行情况,测试了哪些模块,多少用例,会哪里模块,自动化通过率,自动化跑了多少,是否全部通过,

发现了多少 bug,bug 的情况,是否遗漏 bug,测试结论等等这些,基本就这些。

3.24 测试报告中测试的结论是什么? ?

测试报告里面有个测试结论:

1)bug 的情况、bug 级别、bug 分布情况(分布哪些模块)、

bug 产生原因(设计问题,需求问题,代码问题)

2)测试是否通过

3.25 如何写好一个测试用例

能够发现 bug 的用例就是一个好的测试用例

当然我们在编写测试用例的时候,一定要步骤、场景清晰、尽量去覆盖所有的测试场景

3.26 什么是冒烟测试 ? 在什么时候进行冒烟测试? ?

冒烟测试一般我们是在系统测试之前,对所有主体的业务功能,测试看是否存在严重 bug,

如果存在严重 bug,表示,冒烟测试不通过

3.27 回归测试策略

1)功能的回归

优先测试用例级别比较高的功能模块,可以进行自动化测试

如果时间够,进行全量测试

2)bug 回归

复测这个 bug,并且相关联的模块与功能也会测试一遍,以免由于修改 bug 导致其他问题产生

3.28 和开发沟通。是怎么沟通的

一般我在提 bug 的时候跟开发沟通最多,比如有一些不清晰的内容会去问开发,还有提完 bug 后会跟

踪 bug 的进度,提醒开发尽快修复 bug,还有测接口的时候去找开发拿接口文档,其实我们的工作跟

开发都是息息相关的所以都经常都会有沟通的。

3.29 测试中有哪些风险

1)测试,需求理解上面有偏差

2)测试人员水平不够,测试人员覆盖点不全

3)测试人员时间不够,导致测试不完全

4)测试环境上面不足,导致测试点不能完全测试完成

3.30 怎么保证测试质量或者你怎么保证你 100% 覆盖了需求

把需求了解通透,引用用例评审机制,然后编写测试用例的时候用边界值,用等价类补充一些用例,

根据过往经验用错误推断法来追加一些用例,如果存在组合情况的话我会用因果图或者判断表来编写,

如果业务场景清晰的情况下我会用流程分析法,如果状态有发生改变的话我就会用状态迁移法。编写

用例一个极其考验耐心的事情,要考虑到各种场景,全面覆盖到会出现的场景。

3.31 一个需求,7 7 天要上线,你怎么做?

先跟面试官确定,产品什么是转测;

1)如果转测时间,在最近 1-2 天,直接了解需求开始测试。

2)如果三天后转测,一天半时间了解需求,一天写测试点和写测试用例,一天进行评审和修改测试

用例,2 天执行试用例与理交 bug,最后一天半进行回归测试与编写测试报告。

3)如果 4-5 天后进行转测试,边开发边测试,一天半时间了解需求,一天写测试点和写测试用例,

一天进行评审和修改测试用例,开始执行测试,开发一部分,我们就测试一部分。

3.32 产品上线评判的标准? ?

1)测试用例执行率 100%,通过率 95%

2)1-2 级 bug 修复率达到 100%,3-4 级 bug 修复率达到 95%

3.33 测试过程中,发现很多用例重复的,有的人认为没必要再测,你怎么看? ?

如果是同一个模块,重复用例,我们可以考虑不再进行重复测试,如果不同模块,引用相同的测试用

例,我们还是需要重复测试

3.34 上线后有没有另外的测试用例在生产环境里测试

有:我们会去单独去编写测试用例,只是主体流程用例,新增功能的用例

没有:我们会挑选原来测试用例中,级别比较高的用例去执行,或者我们建立一个 checklist 列表,

去检查功能是否正常使用。

3.35 什么是多分支开发和单分支开发? ?

git 工具相当于 svn 工具,分支开发每个版本或者模块,开发不同模块,分支合并,把所有的功能全

部整合起来,其实就划分功能模块去开发。

3.36 兼容性测试你们是怎么测的? ? p app 与 与 web

Web:

不同的浏览器,E,谷歌,火狐,浏览器显示比例,浏览器前进,后退,刷新按钮。

App:

不同手机厂商,型号,系统版本,内存大小,分辨率,屏幕的大小,高端机与低端机,考虑平板

3.37 功能测试重复测试比较高,怎么看待这个问题? ?

1)对于测试来说,还是良好耐心,问题无法避免事情,重复的事情还是要去执行

2)重复事情,我们用自动化测试来进行替代

3.38 项目同时发布,你怎么处理? ?

1)确定下,我们几个项目是否可以同步发布完成

2)如果确定项目不是同时发布(时间问题,人员问题)

确定下项目的优先级,跟客户这边商量优先级低一些项目推迟发布(产品跟客户)

3.39 你们开发转测试怎么转的

1)开发人员发邮件告知对应的测试人员:新的代码地址、最新的 sql 文件、需求开发完成的情况。

2)测试人员把最新的代码和 sql 脚本更新到测试环境中,并进行冒烟测试,

要是冒烟测试不通过则转测失败。

3.40 你们的开发语言是什么?

java 后台开发:

SSM spring + springy + mybaits(数据的封装)

SSH sprint + springmvc + hibernate

springboot

fianl 极速开发框架

maven 项目 pom.xml 文件 ...中央仓库

python 后台开发框架

Django flask

前端开发语言:

JavaScript + css+ html bootstrap 框架 常用库: jquery 简称 JQ Es6/E57

php ThinkPHP 框架

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

  • 20
    点赞
  • 223
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
1、什么是兼容性测试?兼容性测试侧重哪些方面? 5 2、我现在有个程序,发现在Windows上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题? 5 3、测试的策略有哪些? 5 4、正交表测试用例设计方法的特点是什么? 5 5、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程? 5 6、你觉得bugzilla在使用的过程中,有什么问题? 5 7、描述测试用例设计的完整过程? 6 8、单元测试的策略有哪些? 6 9、LoadRunner分哪三部分? 6 10、LoadRunner进行测试的流程? 6 什么是并发?在lordrunner中,如何进行并发的测试?集合点失败了会怎么样? 6 12、使用QTP做功能测试,录制脚本的时候,要验证多个用户的登录情况/查询情况,如何操作? 6 13、QTP中的Action有什么作用?有几种? 6 14、TestDirector有些什么功能,如何对软件测试过程进行管理? 7 15、你所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……)? 7 16、条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录? 8 17、Beta测试与Alpha测试有什么区别? 8 18、软件的评审一般由哪些人参加?其目的是什么? 8 19、测试活动中,如果发现需求文档不完善或者不准确,怎么处理? 8 20、阶段评审与项目评审有什么区别? 8 21、阐述工作版本的定义? 8 22、什么是桩模块?什么是驱动模块? 8 23、什么是扇入?什么是扇出? 8 24、你认为做好测试计划工作的关键是什么? 8 25、你认为做好测试用例工作的关键是什么? 9 26、简述一下缺陷的生命周期? 9 27、软件的安全性应从哪几个方面去测试? 9 28、软件配置管理工作开展的情况和认识? 9 29、你觉得软件测试通过的标准应该是什么样的? 10 30、引入测试管理的含义? 10 31、一套完整的测试应该由哪些阶段组成? 10 32、单元测试的主要内容? 10 33、集成测试也叫组装测试或者联合测试,请简述集成测试的主要内容? 10 34、简述集成测试与系统测试关系? 10 35、软件测试的文档测试应当贯穿于软件生命周期的全过程,其中用户文档是文档测试的重点。那么软件系统的用户文档包括哪些? 10 36、软件系统中除用户文档之外,文档测试还应该关注哪些文档? 10 37、简述软件系统中用户文档的测试要点? 11 38、单元测试主要内容是什么? 11 39、如何理解强度测试? 13 40、如何理解压力、负载、性能测试测试? 13 41、什么是系统瓶颈? 13 42、文档测试主要包含什么内容? 13 43、功能测试用例需要详细到什么程度才是合格的? 14 44、配置和兼容性测试的区别是什么? 14 45、软件文档测试主要包含什么? 15 46、没有产品说明书和需求文档地情况下能够进行黑盒测试吗? 15 47、测试中的“杀虫剂怪事”是指什么? 15 48、在配置测试中,如何判断发现的缺陷是普通问题还是特定的配置问题? 15 49、为什么尽量不要让时间有富裕的员工去做一些测试? 16 50、完全测试程序是可能的吗? 16 51、软件测试的风险主要体现在哪里? 16 52、发现的缺陷越多,说明软件缺陷越多吗? 16 53、所有的软件缺陷都能修复吗?所有的软件缺陷都要修复吗? 17 54、软件测试人员就是QA吗? 17 55、如何减少测试人员跳槽带来的损失? 17 56、测试产品与测试项目的区别是什么? 17 57、和用户共同测试(UAT测试)的注意点有哪些? 18 58、如何编写提交给用户的测试报告? 18 59、测试工具在测试工作中是什么地位? 18 60、什么是软件测试软件测试的目的? 18 61、简述负载测试与压力测试的区别。 19 62、写出bug报告流转的步骤,每步的责任人及主要完成的工作。 19 63、写出bug报告当中一些必备的内容。 19 64、开发人员老是犯一些低级错误怎么解决? 20 65、画出软件测试的V模型图。 20 66、为什么要在一个团队中开展软件测试工作? 20 67、您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作? 20 68、您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性能测试……) 20 69、您认为做好测试用例设计工作的关键是什么? 21 70、请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。 21 71、测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的? 22 72、您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 22 73、请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。 23 74、您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。 23 75、你对测试最大的兴趣在哪里?为什么? 23 76、你以前工作时的测试流程是什么? 24 77、当开发人员说不是BUG时,你如何应付? 24 78、软件的构造号与版本号之间的区别?BVT(BuildVerificationTest) 24 79、您以往的工作中,一条软件缺陷(或者叫Bug)记录都包含了哪些内容?如何提交高质量的软件缺陷(Bug)记录? 25 80、您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷(Bug)的管理?如果有,请结合该工具描述软件缺陷(Bug)跟踪管理的流程。 25 81、您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么? 25 82、单元测试、集成测试、系统测试的侧重点是什么? 25 83、集成测试通常都有那些策略? 25 84、一个缺陷测试报告的组成 25 85、基于WEB信息管理系统测试时应考虑的因素有哪些? 25 86、软件测试项目从什么时候开始,?为什么? 26 87、需求测试注意事项有哪些? 26 88、简述一下缺陷的生命周期 26 89、你在你所在的公司是怎么开展测试工作的?是如何组织的? 26 90、你认为理想的测试流程是什么样子? 26 91、您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体的工作中的例子描述该工具是如何在实际工作中应用的。 26 92、软件测试活动的生命周期是什么? 26 93、请画出软件测试活动的流程图? 26 94、针对缺陷采取怎样管理措施? 26 95、什么是测试评估?测试评估的范围是什么? 26 96、如果能够执行完美的黑盒测试,还需要进行白盒测试吗?为什么? 26 97、测试结束的标准是什么? 26 98、软件验收测试除了alpha ,beta测试以外,还有哪一种? 26 99、做测试多久了?以前做过哪些项目?你们以前测试的流程是怎样的?用过哪些测试工具? 27 100、请就如何在开发中进行软件质量控制说说你的看法 27 101、一套完整的测试应该由哪些阶段组成?分别阐述一下各个阶段。 27 102、软件测试的类型有那些?分别比较这些不同的测试类型的区别与联系。 27 103、测试用例通常包括那些内容?着重阐述编制测试用例的具体做法 27 104、在分别测试winform的C/S结构与测试WEB结构的软件是,应该采取什么样的方法分别测试?他们存在什么样的区别与联系? 27 105、在测试winform的C/S结构软件时,发现这个软件的运行速度很慢,您会认为是什么原因?您会采取哪些方法去检查这个原因? 27 106、描述使用bugzilla缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程 27 107、你都用什么测试方法 针对不同的产品或者系统或者模块,有不同的测试方法。总体而言有白盒测试和黑盒测试。 27 108、怎么编写案例 案例的编写与测试阶段的定义有很大的关系。系统测试和unit测试的案例可能不同。总体而言测试案例根据系统的需求而定。 27 109、怎么才能够全面的测试到每一个点 测试的全面性主要需要在设计测试计划的时候考虑,从测试策略,产品需求等等多个角度考虑从而定义全部的测试点。 27 110、谈谈软件测试技术,以及如何提高 27 111、谈谈软件测试职业发展,以及个人的打 27 112、谈谈软件测试在企业的地位,也可以结合软件生命周期来谈 27 113、一般公司里实际的软件测试流程是什么样的?你们公司又是怎样的? 27 114、软件工程师要具有那些素质? 27 115、你会哪些测试工具?怎么操作? 27 116、你能不能说下你的3到5年的职业计划(规划) 27 117、你觉得你来应聘有那些优势? 27 其他问题:(有可能清晰的思路比确切的答案更重要) 27 开发及环境搭建类面试题 28 1、描述软件产生内存泄露的原因以及检查方式。(可以结合一种开发语言进行描述) 28 2、简述什么是值传递,什么是地址传递,两者区别是什么? 28 3、结构化程序设计和面向对象程序设计各自的特点及优缺点是什么? 28 4、简述什么是存储过程和触发器? 28 5、使用C语言编写一个函数,用于交换两个变量的值(地址传递)。 29 6、请简述DNS、活动目录、域的概念。 29 7、描述TCP/IP协议的层次结构,以及每一层中重要协议。 29 8、简述子网掩码的用途。 29 9、说出4种以上常用的操作系统及其主要的应用范围(微软的操作系统除外)。 29 10、在Linux系统中,一个文件的访问权限是755,其含义是什么? 29 11、Windows操作系统中PATH环境变量的作用是什么? 30 12、Ghost的主要用途和常用方法? 30 13、在RedHat中,从root用户切到userl用户,一般用什么命令? 30 14、Linux中,一般怎么隐藏文件? 30 15、如何将自己的本地磁盘(D)做成FTP供远端主机使用? 30 16、对RUP.CMM,CMMI,XP,PSP.TSP的认识? 30 17、DNS是什么,它是如何工作的? 31 18、防火墙如何保证安全的?主要有哪些? 31 19、目前流行的操作的系统有哪些?请举例说明安装操作系统的注意事项? 33 20、简述一下c/s模式或者b/s模式? 33 21、TCP/UDP有哪些区别? 34 22、ISO模型?HUB、tch、Router是ISO的第几层设备? 34 23、内存有哪几种存储组织结构.请分别加以说明? 34 人力资源面试题 34 1、你的测试职业发展是什么?你自认为做测试的优势在哪里? 34 2、你为什么想离开目前的职务? 34 3、你对我们公司了解有多少? 34 4、你找工作时,最重要的考虑因素为何? 34 5、为什么我们应该录取你? 34 6、请谈谈你个人的最大特色。 34 7、一个测试工程师应具备那些素质和技能? 35 8、您认为在测试人员同开发人员的沟通过程中,如何提高沟通的效率和改善沟通的效果?维持测试人员同开发团队中其他成员良好的人际关系的关键是什么? 35 9、在您以往的测试工作中,最让您感到不满意或者不堪回首的事情是什么?您是如何来对待这些事情的? 35 10、在即将完成这次笔试前,您是否愿意谈一些自己在以往的学习和工作中获得的工作经验和心得体会?(可以包括软件测试、过程改进、软件开发或者与此无关的其他方面) 35 11、为什么选择测试这行? 35 12、你的工作通常能在时限内完成吗.(我想问一下就是她问这个问题的动机是什么) 35 13、通常你对于别人批评你会有什么样的反应 35 14、如果明知这样做不对,你还会依主管的指过去做吗? 35 15、如果你接到一个客户抱怨的电话,你确知无法解决他的问题,你会怎么处理? 35 16、请就软件测试人员应该具备什么样的基本素质说说你的看法。 36 17、你在五年内的个人目标和职业目标分别是什么? 36 18、你怎样做出自己的职业选择? 36
好的,以下是一些基础软件测试面试题及答案: 1. 什么是软件测试? 答:软件测试是指通过运行程序、检查代码、评估性能等手段,发现软件中的错误和缺陷,以便及早发现并解决这些问题,保证软件的质量和可靠性。 2. 软件测试的目的是什么? 答:软件测试的目的是发现软件中的错误和缺陷,以便及早发现并解决这些问题,保证软件的质量和可靠性。 3. 软件测试的分类有哪些? 答:软件测试可以分为功能测试、性能测试、压力测试、安全测试等。 4. 什么是黑盒测试?它的优点和缺点是什么? 答:黑盒测试是指不考虑程序内部结构,只通过入和出数据来测试软件的功能和性能的测试方法。它的优点是测试人员不需要了解程序的内部结构,只需要关注程序的入和出;缺点是可能无法发现程序内部的问题和缺陷。 5. 什么是白盒测试?它的优点和缺点是什么? 答:白盒测试是指考虑程序内部结构,通过检查程序的代码来测试软件的功能和性能的测试方法。它的优点是可以发现程序内部的问题和缺陷;缺点是需要测试人员了解程序的内部结构。 6. 什么是功能测试?它的目的是什么? 答:功能测试是指测试软件的功能是否符合用户的需求和规格说明书的测试方法。它的目的是发现软件的功能缺陷和错误。 7. 什么是性能测试?它的目的是什么? 答:性能测试是指测试软件在不同负载下的性能表现的测试方法。它的目的是评估软件在不同负载下的性能表现,发现性能瓶颈和性能问题。 8. 什么是压力测试?它的目的是什么? 答:压力测试是指通过模拟大量用户同时访问软件,测试软件在高并发负载下的性能表现的测试方法。它的目的是发现软件在高并发负载下的性能问题和瓶颈。 9. 什么是安全测试?它的目的是什么? 答:安全测试是指测试软件的安全性和安全策略的测试方法。它的目的是发现软件的安全漏洞和安全问题,保证软件的安全性和可靠性。 10. 什么是测试用例?你是如何设计测试用例的? 答:测试用例是指一组测试步骤、入和预期出,用于测试软件的功能和性能。我会首先分析需求和规格说明书,然后根据需求和规格说明书编写测试用例,保证测试用例覆盖了所有的功能和场景。 11. 什么是Bug?你是如何跟踪、管理和报告Bug的? 答:Bug是指软件中的错误和缺陷,包括功能问题、性能问题、安全问题等。我会使用Bug跟踪工具来跟踪、管理和报告Bug,包括记录Bug的详细信息、优先级和状态,以及分配给开发人员和测试人员进行处理。 12. 什么是回归测试?为什么要进行回归测试? 答:回归测试是指在软件发生变化时,重新运行测试用例以确保没有引入新的错误和缺陷的测试方法。回归测试的目的是保证软件的稳定性和可靠性。 13. 什么是自动化测试?你是如何选择测试工具的? 答:自动化测试是指使用自动化测试工具来执行测试用例的测试方法。我会根据软件的需求和测试计划,选择适合的自动化测试工具,并根据测试用例的复杂度和覆盖面选择合适的自动化测试方法。 14. 你是如何评估测试完成度的? 答:我会根据测试计划中规定的测试用例和测试场景,以及测试进度和测试报告来评估测试完成度。 15. 你是如何评估测试质量的? 答:我会根据测试报告和测试指标来评估测试质量,包括Bug数量、Bug解决率、测试覆盖率、测试效率等指标。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值