软件测试面试八股文(2024新版)

🍅 视频学习:文末有免费的配套视频可观看

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

1、你的测试职业发展是什么?

测试经验越多,测试能力越高。所以我的职业发展是需要时间积累的,一步步向着高级测试工程师奔去。而且我也有初步的职业规划,前 3 年积累测试经验,按如何做好测试工程师的要点去要求自己,不断更新自己改正自己,做好测试任务。

2、你认为测试人员需要具备哪些素质?

做测试应该要有一定的协调能力,因为测试人员经常要与开发接触处理一些问题,如果处理不好的话会引起一些冲突,这样的话工作上就会不好做。还有测试人员要有一定的耐心,有的时候做测试很枯燥乏味。除了耐心,测试人员不能放过每一个可能的错误。

3、你为什么能够做测试这一行?

虽然我的测试技术还不是很成熟,但是我觉得我还是可以胜任软件测试这个工作的,因为做软件测试不仅是要求技术好,还有有一定的沟通能力,耐心、细心等外在因素。综合起来看我认为我是胜任这个工作的。

4、测试的目的是什么?

测试的目的是找出软件产品中的错误,使软件尽可能的符合用户的要求。当然软件测试是不可能找出全部错误的。

5、测试分为哪几个阶段?

一般来说分为 5 个阶段:单元测试、集成测试、确认测试、系统测试、验收测试

6、单元测试的测试对象、目的、测试依据、测试方法?

测试对象是模块内部的程序错误,目的是消除局部模块逻辑和功能上的错误和缺陷。测试依据是模块的详细设计,测试方法是采用白盒测试。

7、怎样看待加班问题?

加班的话我没有太多意见,但是我还是觉得如果能够合理安排时间的话,不会有太多时候加班的。

8、结合你以前的学习和工作经验,你认为如何做好测试。

根据我以前的工作和学习经验,我认为做好工作首先要有一个良好的沟通,只有沟通无障碍了,才会有好的协作,才会有更好的效率,再一个就是技术一定要过关,做测试要有足够的耐心,和一个良好的工作习惯,不懂的就要问,实时与同事沟通这样的话才能做好测试工作。

9、你为什么选择软件测试行业?

因为之前了解软件测试这个行业,觉得他的发展前景很好。

10、根据你以前的工作或学习经验描述一下软件开发、测试过程,由哪些角色负责,你做什么?

要有架构师、开发经理、测试经理、程序员、测试员。我在里面主要是负责所分到的模块执行测试用例。

11、根据你的经验说说你对软件测试/质量保证的理解

软件质量保证与测试是根据软件开发阶段的规格说明和程序的内部结构而精心设计的一批测试用例(即输入数据和预期的输出结果),并根据这些测试用例去运行程序,以发现错误的过程。它是对应用程序的各个方面进行测试以检查其功能、语言有效性及其外观排布。

12、软件测试的流程是什么?

需求调查:全面了解系统概况、应用领域、软件开发周期、软件开发环境、开发组织、时间安排、功能需求、性能需求、质量需求及测试要求等。根据系统概况进行项目所需的人员、时间和工作量估计以及项目报价,制定初步的项目计划。

测试准备:组织测试团队、培训、建立测试和管理环境等。

测试设计:按照测试要求进行每个测试项的测试设计,包括测试用例的设计和测试脚本的开发等。

测试实施:按照测试计划实施测试。

测试评估:根据测试的结果,出具测试评估报告。

13、你对 SQA 的职责和工作活动(如软件度量)的理解?

SQA 就是独立于软件开发的项目组,通过对软件开发过程的监控,来保证软件的开发流程按照指定的 CMM 规程(如果有相应的 CMM 规程),对于不符合项及时提出建议和改进方案,必要时可以向高层经理汇报以求问题的解决。通过这样的途径来预防缺陷的引入,从而减少后期软件的维护成本。SQA 主要的工作活动包括制定 SQA 工作计划,参与阶段产物的评审,进行过程质量、功能配置及物理配置的审计等;对项目开发过程中产生的数据进行度量等等。

14、说说你对软件配置管理的理解

项目在开发过程中要用相应的配置管理工具对配置项(包括各个阶段的产物)进行变更控制,配置管理的使用取决于项目规模和复杂性及风险的水平。软件的规模越大,配置管理就越显得重要。还有在配置管理中,有一个很重要的概念,那就是基线,是在一定阶段各个配置项的组合,一个基线就提供了一个正式的标准,随后的工作便基于此标准,并只有经过授权后才能变更这个标准。配置管理工具主要有 CC,VSS,CVS,SVN 等,我只用过 SVN,对其他的工具不是很熟悉。

15、怎样写测试计划和测试用例?

简单点,测试计划里应有详细的测试策略和测试方法,合理详尽的资源安排等,至于测试用例,那是依赖于需求(包括功能与非功能需求)是否细化到功能点,是否可测试等。

16、说说主流的软件工程思想(如 CMM、CMMI、RUP,XP,PSP,TSP 等)的大致情况及对他们的理解

CMM:SW Capability Maturity Model 软件能力成熟度模型,其作用是软件过程的改进、评估及软件能力的评鉴。

CMMI:Capability Maturity Model Integration 能力成熟度模型集成 CMMI 融入了大部分最新的软件管理实践,同时弥补了 SW-CMM 模型中的缺陷。

RUP:rational unified process 是软件工程的过程。

XP:extreme program,即极限编程的意思,适用于小型团队的软件开发,像上面第三个问题就可以结合原型法采用这样的开发流程。要明白测试对于 xp 开发的重要性,强调测试(重点是单元测试)先行的理念。编程可以明显提高代码的质量,持续集成对于快速定位问题有好处。

PSP,TSP 分别是个体软件过程和群体软件过程。大家都知道,CMM 只是告诉你做什么但并没有告诉你如何做,所以 PSP/TSP 就是告诉你企业在实施 CMM 的过程中如何做,PSP 强调建立个人技能(如何制定计划、控制质量及如何与其他人相互协作等等)。而 TSP 着重于生产并交付高质量的软件产品(如何有效的规划和管理所面临的项目开发任务等等)。总之,实施 CMM,永远不能真正做到能力成熟度的提升,只有将实施 CMM 与实施 PSP 和 TSP 有机结合起来,才能发挥最大的效力。因此,软件过程框架应该是 CMM/PSP/TSP 的有机集成。

17、你是怎样保证软件质量的,也就是说你觉得怎样才能最大限度的保证软件的质量?

测试并不能够最大限度的保证软件的质量,软件的高质量是开发和设计出来的,而不是测试出来的,它不仅要通过对软件开发流程的监控,使得软件开发的各个阶段都要按照指定的规程进行,通过对各个阶段产物的评审,QA 对流程的监控,对功能及配置的审计来达到开发的最优化。当然测试也是保证软件质量的一个重要方式,是软件质量保证工程的一个重要组成部分。

18、基于目前中国的国情,大多数公司的项目进度紧张、人员较少、需求文档根本没有或者很不规范,你认为在这种情况下怎样保证软件的质量?(大多数公司最想知道的就是在这种困难面前你该怎么保证软件的质量,因为这些公司一般就是这种情况–既不想投入过多又想保证质量)

出现以上的情况,如果仅仅想通过测试来提高软件质量,那几乎是不可能的,原因是没有足够的时间让你去测试,少而不规范的文档导致测试需求无法细化到足够且有针对性的测试。所以,作为公司质量保证的应该和项目经理确定符合项目本身适合的软件生命周期模型(比如 RUP 的建材,原型法),明确项目的开发流程并督促项目组按照此流程开展工作,所有项目组成员(项目经理更加重要)都要制定出合理的工作计划,加强代码的单元测试,在客户既定的产品交付日期范围内,进行产品的持续集成等等,如果时间允许可以再配合客户进行必要的系统功能测试。

19、一个测试工程师应该具备哪些素质和技能?

掌握基本的测试基础理论

本着找出软件存在的问题的态度进行测试,不要以挑刺的形象出现

可熟练阅读需求规格说明书等文档

以用户的观点看问题

有强烈的质量意识

细心和责任心

良好的有效的沟通方式(与开发人员及客户)

具有以往的测试经验能够及时准确的判断出高危险区在何处

20、做好软件测试的一些关键点

必须经过测试基础知识和理论的相关培训

测试人员必须熟悉系统功能和业务

测试要有计划,而且测试方案要和整个项目计划协调好

必须实现编写测试用例,测试执行阶段必须根据测试用例进行

易用性,功能,分支,边界,性能等功能性和非功能性需求都要进行测试

对于复杂的流程一定要进行流程分支,组合条件分析,再进行等价类划分准备相关测试数据

测试设计的一个重要内容是要准备好具体的测试数据,清楚这个测试数据是测试那个场景或分支的。

个人任务平均每三个测试用例至少应该发现一个 BUG,否则只能说明测试用例质量不好

除了每天构建的重复测试可以考虑测试自动化外,其他暂时都不要考虑去自动话

21、你对加班的看法?

答:如果公司项目要求需要加班,我会积极参与,我们之前公司也有加班,所以这种情况我了解。也能完成好工作。

22、为什要在一个团队中开展测试工作?

因为没有经过测试的软件很难在发布之前知道该软件的质量,就好比 ISO 质量认证一样,测试同样也需要质量认证,这个时候就需要在团队中开展软件测试的工作。在测试的过程中发现软件中存在的问题,及时让开发人员得知并修改问题,在即将发布时,从测试报告中得出软件的质量情况。

23、你所熟悉的软件测试类型有哪些?

测试类型有:功能测试、性能测试、界面测试

功能测试在测试工作中占有比例最大,功能测试也叫黑盒测试

性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试和压力测试都属于性能测试,两者可以结合进行

界面测试,界面是软件与用户交互的最直接的层,界面的好坏决定用户对软件的第一印象

区别在于,功能测试关注产品的所有功能,要考虑到每个细节功能,每个可能存在的功能问题。性能测试主要关注产品整体的多用户并发下的稳定性和健壮性。界面测试则关注与用户体验相关内容,用户使用该产品的时候是否已用,是否易懂,是否规范(用户无意输入无效的数据,当然考虑到体验性,不能太粗鲁的弹出警告)。做某个性能测试的时候,首先它可能是个功能点,首先要保证它的功能是没有问题的,然后再考虑性能的问题。

24、编写测试用例有哪些?

答:等价类、边界值、错误推测法、场景法,我个人常用的方法就是这些

25、Beta 测试与 alpha 测试的区别?

答:alpha 测试是公司内部在模拟实际操作环境下进行的一种验收,公司内部会组织内部员工进行的测试,alpha 测试不能由程序员或者测试完成。

Beta 测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试,beta 测试不能由程序员或测试员完成。

26、上家公司有多少测试,你们是怎么分配工作的?

答:测试 3 人,老大负责分配我们的任务,每个人负责对应的模块或者是不同的客户端,完成自己的一端时间的任务就行。

27、为何从上家辞职?

答:1、上家公司比较清闲,不利于我的长期发展,所以离职了

2、上家公司的业务比较少,基本上是事情比较少的情况,年轻人要多奋斗下,所以我选择离职,去更加忙一点的公司。(2 选 1)

28、能不能说下你们公司的项目流程或者说介绍下你们公司的工作流程?在每个阶段的输出有哪些?

答:首先会召开需求分析会议,参加人员有产品、开发和测试,主要是探讨需求主要的一些功能点;然后开发就排期进行开发,主管开始编写测试计划,对我们进行任务分配。

我们参考需求规格说明书及原型图编写测试用例,写完之后会进行用例评审,有评审修改的就修改整理形成最终的用例版本;开发人员版本编译完成后,我们会先进行预测,主要对主功能业务进行测试,如果主业务流程不通过,直接返回给开发进行修改。预测通过,依据测试用例进行系统测试。测试过程中,提交 bug,跟踪 bug,进行回归测试直至不存在严重 bug,满足用户需求,测试完后编写测试报告;产品发布上线后,关注 web 是否正常运行,要进行常规的维护性测试。

29、写过测试计划或者是测试报告么?测试计划包括哪些主要步骤和信息?测试报告包括哪些内容?测试报告交付文档有哪些?

答:写过;1、测试计划包括:项目信息、参与文档、测试范围、测试策略、测试时间人员安排、测试环境;2、测试报告包含:项目背景、参考资料、测试范围、测试结果及缺陷分析、测试结论与建议,风险评估;3、交付文档:主要是测试用例、测试计划、测试报告。

30、对于重现率不高的 BUG 怎么处理?

先在出现问题的环境上尽量重现,保持浏览器环境、出现问题的特定账号等的一致,多次尝试仍然不能重现,也要记录到 bug 平台,将出现问题的特征步骤尽量描述清楚,附带问题截图及日志截图、注明偶现;如果项目时间允许,bug 等级高,需要开发协助重现;如果时间不允许,记录到 BUG 平台后续在跟进。

31、bug 的生命周期?

答:Bug 的生命周期,就是一个 bug 被发现到这个 bug 被关闭的过程,生命周期中一般缺陷状态:新建、指派、已解决、待验、关闭

如果待验证的 bug 在验证是没有解决好,我们需要重新打开(激活)→指派→已解决→待验,循环这个过程,中间其他状态:重新打开、拒绝、延期等

32、当你提了一个 bug,开发认为这不是 bug,怎么处理?

答:首先确认开发环境是否跟自己测试环境一致,确认在测试环境能重现,如果确认是缺陷跟开发保持有效沟通,如果是级别较低的建议性 bug,可以先记录到 bug 平台,先保留沟通。如果是 bug 级别较高的问题,对应需求文档的预期结果跟开发说明,更有说服力;耐心讲解 BUG 的危害,不行就找产品确认,确实是 BUG 注明情况并再次指派给开发

33、有没有你印象深刻的 bug,bug 的原因?

答:身份证末尾 X 结尾的, 实名认证显示成功,但是在后面提现的时候,会报错,后面发现是保存到库里面的,都是小写 X 的,导致提现这边不识别,印象深刻的原因是因为花了一定的时间去找到这个 bug,并且自己尝试定位到原因,所以印象深刻

最后我给大家整了一套软件测试面试文档,一共有216页,应该对朋友们跳槽面试、升职加薪、摆脱职业困境、提高自己的技术有很大的帮助,希望各位都能前程似锦。

同时,在这我为大家准备了一份软件测试视频教程(含面试、接口、自动化、性能测试等),就在下方,需要的可以直接去观看,也可以直接【点击文末小卡片免费领取资料文档】

2024最新【软件测试面试300问】面试八股文教程,涵盖自动化测试/接口测试/性能测试/测试开发等内容

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/649396.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【unity实战】实现蓄力丢手榴弹、烟雾弹、燃烧弹的效果

文章目录 爆炸燃烧烟雾效果资产手榴弹丢手雷烟雾弹、燃烧弹实现手雷每次撞墙弹发出音效(补充)完结 爆炸燃烧烟雾效果资产 https://assetstore.unity.com/packages/vfx/particles/war-fx-5669 手榴弹 手榴弹配置好刚体,碰撞体 新增脚本Th…

Qlik Sense : Store With Retry (保存重试机制)

Background sometime you cannot store the file directly ,maybe there are another process are reading/storeing the file , so you would need to wait another proecess done and retry . then we come up this solution . 有时您不能直接存储文件,可能还有…

实验:eNSP AR通过telnet远程登录另外一台AR

实验2:eNSP AR通过telnet远程登录另外一台AR 基于实验1的基础上来进行,我们通过AR2220登录AR3260 首先设置远程登录密码 1、user-interface vty 0 4 进入用户的虚拟终端 2、设置密码 set authentication password cipher Huawei 这里的意思就是设置密…

数据结构(C语言版)代码实现(四)——静态单链表的部分代码实现

目录 参考材料、格式 头文件SLinkList.h 库、宏定义、函数类型声明 线性表的静态单链表存储结构 按值查找 初始化静态链表 分配空间 回收空间 打印已用链表中的元素 求集合(A-B)U(B-A)中的元素(重点介绍) 调试过程 修改报错与警告 调试 完整…

找不到msvcp110.dll怎么办,msvcp110.dll丢失修复方法分享

当计算机系统中无法找到msvcp110.dll这个特定的动态链接库文件时,可能会引发一系列运行问题和功能受限的情况。msvcp110.dll是Microsoft Visual C Redistributable Package的一部分,对于许多基于Windows的应用程序来说,它是至关重要的运行组件…

vue模拟聊天页面列表:滚动到底部,滚动到顶部触发加载更多

先看下效果&#xff1a; 代码&#xff1a; <template><div><div style"text-align: center"><button click"scrollTop">滚动到顶部</button><button click"scrollBottom">滚动到底部</button></d…

Vue深入学习2—虚拟DOM和Diff算法

1、snabbdom 是什么&#xff1f; snabbdom是“速度"的意思&#xff0c;源码只有200行&#xff0c;使用TS写的&#xff0c;让东西变得模块化 2、snabbdom 的 h 函数如何工作&#xff1f; h函数用于产生虚拟节点&#xff0c;同时也可以嵌套使用&#xff0c;得到虚拟DOM树&am…

kuberneters可视化界面-kuboard

一、kuboard安装 可以选用&#xff0c;docker和docker-commpose kuberneters 安装 kuboard官网 1、 docker安装 sudo docker run -d \--restartunless-stopped \--namekuboard \-p 80:80/tcp \-p 10081:10081/tcp \-e KUBOARD_ENDPOINT"http://192.168.1.10:80" …

linux的kali安装,换源,更新包

下载kali kali.org进入官网后点第二个 然后点第一个 解压kali 下载后获得.7z压缩包&#xff0c;建议移动到合适自己电脑的位置进行解压&#xff0c;我喜欢放在D盘 启动kali 双击进入解压出的文件夹&#xff0c;将唯一一个.vmx文件用vmware打开&#xff08;没装的自行提前装…

数据结构奇妙旅程之二叉树题型解法总结

꒰˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好&#xff0c;我是xiaoxie.希望你看完之后,有不足之处请多多谅解&#xff0c;让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN …

【深度学习】CodeFormer训练过程,如何训练人脸修复模型CodeFormer

文章目录 BasicSR介绍环境数据阶段 I - VQGAN阶段 II - CodeFormer (w0)阶段 III - CodeFormer (w1) 代码地址&#xff1a;https://github.com/sczhou/CodeFormer/releases/tag/v0.1.0 论文的一些简略介绍&#xff1a; https://qq742971636.blog.csdn.net/article/details/134…

链路追踪-调用链跟踪-Jaeger

文章目录 一、什么是链路跟踪二、OpenCensusOpenCensus 主要特点OpenTracing标准基本概念Span 三、典型服务端产品什么是OpenTracing?opentracing 使用介绍 四、JaegerJaeger 包含的模块Jaeger-client&#xff08;客户端库&#xff09; 五、Jaeger服务容器化部署过程问题整理 …

csdn黑色背景用法

在edge浏览器下&#xff0c;下载油猴脚本管理器 脚本下载 edge扩展 效果图如下&#xff1a;&#xff1a;&#xff1a;

[ACM学习] 进制转换

进制的本质 本质是每一位的数位上的数字乘上这一位的权重 将任意进制转换为十进制 原来还很疑惑为什么从高位开始&#xff0c;原来从高位开始的&#xff0c;可以被滚动地乘很多遍。 将十进制转换为任意进制

适合深夜发朋友圈的心灵鸡汤(整理70句)

1、很多时候&#xff0c;我们赢得了口舌&#xff0c;却失去了感情。 2、失恋到极致的时候&#xff0c;我真的会用后退来保护自己。 3、全身心地去爱&#xff0c;你可能会受到伤害&#xff0c;但这是完整人生的唯一方式。 4、自由不是想干什么就干什么&#xff0c;而是不想干…

Linux中LVM实验

LVM实验&#xff1a; 1、分区 -L是大小的意思-n名称的意思 从vg0&#xff08;卷组&#xff09;分出来 2、格式化LV逻辑卷 LVM扩容 如果icdir空间不够了&#xff0c; 扩展空间lvextend -L 5G /dev/vg0/lv1 /dev/vg0/lv1(pp,vg,lv) 刷新文件系统xfs_growfs /lvdir VG扩容 …

php:规范小数位数,例:10.00展示为10,10.98展示为10.98

代码 <?php$value 10.98; // 原始的双精度类型值if ($value floor($value)) {$formattedValue number_format($value, 0); // 10.00 转换为 10echo $formattedValue;} else {$formattedValue number_format($value, 2); // 10.98 保持为 10.98echo $formattedValue;} …

Sublime Text 3配置 Java 开发环境

《开发工具系列》 《开发语言-Java》 Sublime Text 3配置 Java 开发环境 一、引言二、主要内容1. 初识 Sublime Text 32. 初识 Java3. 接入 Java3.1 JDK 下载3.2 安装和使用 java3.3 环境变量配置 4. 配置 Java 开发环境5. 编写 Java 代码6. 编译和运行 Java 代码7. 乱码问题 三…

服务器无法访问外网怎么办

目前是互联网时代&#xff0c;网络已经成为人们日常生活中不可或缺的一部分。我们通过网络获取信息、进行沟通、甚至进行工作&#xff0c;因此&#xff0c;保持网络的稳定和通畅是非常重要的。然而&#xff0c;有时候我们可能会遇到一些网络无法访问外网的问题&#xff0c;这给…

作者推荐 | 【深入浅出MySQL】「底层原理」探秘缓冲池的核心奥秘,揭示终极洞察

探秘缓冲池的核心奥秘&#xff0c;揭示终极洞察 缓存池BufferPool机制MySQL缓冲池缓冲池缓冲池的问题 缓冲池的原理数据预读程序的局部性原则&#xff08;集中读写原理&#xff09;时间局部性空间局部性 innodb的数据页查询InnoDB的数据页InnoDB缓冲池缓存数据页InnoDB缓存数据…