软件测试常见面试题合集(内附详细答案)

article/2025/8/25 7:54:00

最近看到网上流传着各种面试经验及面试题,往往都是一大堆技术题目贴上去,但是没有答案。

为此我业余时间整理了这份软件测试基础常见的面试题及详细答案,望各路大牛发现不对的地方不吝赐教,留言即可。

01 软件测试理论部分

1.1 测试概念

1. 请你分别介绍一下单元测试、集成测试、系统测试、验收测试、回归测试

  • 单元测试:完成最小的软件设计单元(模块)的验证工作,目标是确保模块被正确的编码
  • 集成测试:通过测试发现与模块接口有关的问题
  • 系统测试:是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件
  • 回归测试:回归测试是指在发生修改之后重新测试先前的测试用例以保证修改的正确性
  • 验收测试:这时相关的用户或独立测试人员根据测试计划和结果对系统进行测试和接收。验收测试包括Alpha测试和Beta测试。
  • Alpha测试:是由用户在开发者的场所来进行的,在一个受控的环境中进行。并且在开发者对用户的指导下进行测试,开发者负责记录发现的错误和使用中遇到的问题
  • Beta测试 :由软件的最终用户在一个或多个用户场所来进行的,开发者通常不在现场。由用户记录在测试中遇到的一系列问题,并定期报给开发者。

2. 什么是黑盒?什么是白盒?黑盒和白盒的测试方法分别有哪些?

  • 黑盒:黑盒测试也称功能测试或数据驱动测试。把程序看作一个不能打开的黑盆子,在完全不考虑程序内部结构和内部特性的情况下,对程序接口进行测试。“黑盒”法着眼于程序外部结构、不考虑内部逻辑结构、针对软件界面和软件功能进行测试
  • 常用的黑盒测试方法:等价类划分法;边界值分析法;因果图法;场景法;正交实验设计法;判定表驱动分析法;错误推测法;功能图分析法。
  • 白盒测试:也称为结构测试或逻辑驱动测试,是针对被测单元内部是如何进行工作的测试
  • 常用白盒测试方法
  1. 静态测试:不用运行程序的测试;
  2. 动态测试:需要执行代码,通过运行程序找到问题;
  • 逻辑覆盖包括:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖
  • 1.语句覆盖每条语句至少执行一次。
  • 2.判定覆盖每个判定的每个分支至少执行一次。
  • 3.条件覆盖每个判定的每个条件应取到各种可能的值。
  • 4.判定/条件覆盖同时满足判定覆盖条件覆盖。
  • 5.条件组合覆盖每个判定中各条件的每一种组合至少出现一次。
  • 6.路径覆盖使程序中每一条可能的路径至少执行一次。

3. 测试流程:

需求测试->概要设计测试->详细设计测试->单元测试->集成测试->系统测试->验收测试
4. app测试性能指标

  • 内存
  • cpu
  • 流量
  • 启动速度

5. web测试和app测试不同点

系统架构方面:

  • web项目,一般都是b/s架构,基于浏览器的
  • app项目,则是c/s的,必须要有客户端,用户需要安装客户端。
  • web测试只要更新了服务器端,客户端就会同步会更新。App项目 则需要客户端和服务器都更新。

性能方面:

  • web页面主要会关注响应时间
  • 而app则还需要关心流量、电量、CPU、GPU、Memory等。

兼容方面:

  • web是基于浏览器的,所以更倾向于浏览器和电脑硬件,电脑系统方面的兼容
  • app测试则要看分辨率,屏幕尺寸,操作系统、网络。
  • web测试是基于浏览器的所以不必考虑安装卸载。
  • 而app是客户端的,则必须测试安装、更新、卸载。除了常规的安装、更新、卸载还要考虑到异常场景:包括安装时的中断、弱网、安装后删除安装文件 。

6. 缺陷按优先级分为哪些类型? p1-p5 面试重点

  • 缺陷必须立即解决
  • 缺陷要求正常排队等待修复
  • 缺陷可以在方便时被纠正
  • 下一个版本修复
  • 不修复

7. 测试用例的内容是什么? 面试重点

  • 用例编号
  • 测试概述或用例标题
  • 测试步骤
  • 预期结果
  • 输入数据
  • 优先级
  • 前置条件等

8. 测试结束的标准是什么? 面试重点

  • 全部测试用例都被执行完成
  • 未修改bug都被确认或置为应有状态,暂缓修改的问题都有详尽的解析
  • 测试报告编写完成
  • 测试收尾工作结束
  • 测试总结完成
  • 项目处于试运行或上线阶段
  • 在测试计划中定义结束的标准:在一定性能下平稳运行多少天、本版本没有严重bug,普通buh数量在多少个以下,bug修复百分之多少以上
  • ;实际测试达到上述要求,由项目、开发、测试经理共同签字,认同测试结束,版本即可发布。

1.2 软件开发模型

软件生命周期: 从软件最初构思到最终消亡(退役)的过程。

1. 软件生命周期
立项 ---需求分析 ---设计、编码、测试 ---发布 ---运行维护 ---淘汰
软件立项===》可行性研究 ===》需求分析 ===》概要设计 ===》详细设计 ===》编码实现 ===》单元测试 ===》集成测试 ===》系统测试 ===》验收测试 ==》运行维护

2. 瀑布模型

缺点:
1. 各阶段划分完全固定,阶段之间产生大量文档,极大增加工作量
2. 由于开发模型是线性的,用户只有等到整个过程的末期才能看到开发结果,增加开发风险
3. 不适应用户需求变化

3 . 快速原型模型(现在特别流行模式) Axure 软件

1. 原理:迅速搭建一个可以运行的软件原型,以便理解和澄清问题,使开发人员与用户达成共识,最后在确定需求基础上开发客户满意的软件产品
2. 特点:`适合预先不能确切定义需求的软件系统的开发`
3. 优点: ` 克服瀑布模型缺点,减少由于软件需求不明确带来的开发风险 `

4. 增量模型(最常用开发模型之一)

分批次地分析、设计、编码和测试这些增量组件。

5. 迭代模型 开发进度快

1. 原理
`强调开发的深入 ---优化过程
`开发迭代是一次完整地经过所有工作流程的过程:需求分析、设计、实施和测试工作流程
2. 优点
降低在一个增量上的开支风险
降低产品无法按照既定进度进入市场的风险
加快开发工作进度`
适应需求变化快的场景`

6. 螺旋模型

1. 原理:
兼顾了快速模型的迭代的特征以及瀑布模型的系统化与严格监控
2. 优点
最大特点:引入其他模型不具备的风险分析,使软件在无法排除重大风险时有机会停止,以减少损失
适合大型昂贵的系统级的软件应用

1.3 软件测试模型

1. v模型

1. 原理:揭示开发过程和测试过程中各阶段的对应关系
2. 缺点与不足:
仅把测试过程作为需求分析、系统设计及编码之后的一个阶段,忽略了测试对需求分析、系统设计的验证
需求的满足情况一直到后期验收测试才被验证

2. w模型

1. 由两个 v 字模型组成,分别代表测试与开发过程,明确表示了测试与开发并行关系
2. 优点:
测试活动与软件开发同步进行
测试对象不仅是程序,包括需求与设计
尽早发现软件缺陷可降低软件开发成本
3. 局限性:无法支持迭代开发模型(没有循环过程)

3. h模型

1. 将测试活动完全独立出来,形成一个完全独立的流程
2. 只要测试条件成熟了,测试准备活动完成了,测试执行活动就可以进行了
3. 软件测试要尽早准备,尽早执行,不同测试活动可按某个次序先后进行,也可反复进行(迭代)

4. x模型

1. 针对单独的程序片段进行相互分离的编码和测试;
2. 定位了探索性测试,这是不进行事先计划的特殊类型的测试;

5. 软件测试生命周期
获取测试需求
编写测试计划
制定测试方案
开发与设计测试用例
执行测试
提交缺陷报告
测试分析与评审
提交测试总结
准备下一版本测试

6. 简述缺陷的生命周期? 面试重点

软件测试人员提交缺陷报告;
测试负责人审核后将缺陷分配给相关开发人员修复
缺陷被修改后有测试人员根据缺陷报告中修改记录进行返测
返测通过的缺陷由负责人关闭;
返测未通过的缺陷直接返回给开发人员重新修改,然后再由测试人员返测,直到测试和开发达成一致处理意见。


 


http://chatgpt.dhexx.cn/article/IaOqtHA6.shtml

相关文章

软件测试十大必问面试题(附答案和解析)

01 介绍之前负责的项目 参考答案:先大概描述一下这个项目是做什么的(主要功能),包括哪些模块,是什么架构的(B/S、C/S、移动端?),你在其中负责哪些模块的测试。期间经历了…

计算机专业在线杂志,计算机类的cscd期刊汇总

时间:2020-01-08 12:00 (12) 摘要:Cscd是中国科学引文数据库的英文简称,属于核心期刊数据库,收录的学科范围有数学、物理、天文学、地理学、计算机类等等,人们在评高级职称的时候需要在核心期刊上发表论文,…

计算机类知识期刊,计算机类期刊投稿

计算机现在已经成为信息社会中必不可少的工具。特别是在互联网、通信、多媒体等领域的应用取得了不错的成绩。关于计算机类的论文也随之出现,论文的发表选择期刊也成为了作者们关心的问题,下面小编就给大家推荐几个计算机类可投稿的期刊: 1.《…

国内计算机论文期刊,国内都有哪些计算机领域的投稿期刊

国内都有哪些计算机领域的投稿期刊 发布时间:2019-01-14 15:11浏览: 次 计算机在各行各业都得到了广泛的应用,而这一方向的从业人员也越来越多,他们也是可以评定计算机工程师职称的,但也需要发表计算机方向的论文&…

论文写作笔记1:医学跨计算机期刊介绍

计算机方面的在dblp搜: dblp: computer science bibliography https://www.sciencedirect.com/science/article https://stat.paperswithcode.com/ 然后看所发表的期刊会议直接看Ccf目录: 中国计算机学会(CCF)推荐国际学术会议和期刊目录(2019)-单页…

计算机科学是ei期刊吗,EI计算机期刊有哪些

工程索引(EI)是由美国工程师学会联合会于1884年创办的历史上最悠久的一部大型综合性检索工具。EI在全球的学术界、工程界、信息界中享有盛誉,是科技界共同认可的重要检索工具。那么EI计算机期刊有哪些呢? 下面编辑就为打击整理了一些EI计算机期刊,供大家…

计算机信息技术,有哪些SCI期刊推荐?

以下是计算机信息技术领域的SCI期刊介绍: IEEE Transactions on Computers: IEEE计算机学会的权威期刊,发表计算机领域的研究论文,包括硬件、软件、算法等方面。 ACM Transactions on Computer Systems: ACM计算机协…

工作流

导读: -- 工作流(Workflow)就是“业务过程的部分或整体在计算机应用环境下的自动化”,它主要解决的是“使在多个参与者之间按照某种预定义的规则传递文档、信息或任务的过程自动进行,从而实现某个预期的业务目标&#…

工作流之收回

收回 收回是工作流参与者对自己“已办任务”(对已完成的工作项)的一种操作,即参与者主动对已办理过的工作项进行重新办理。 为什么要收回? 参与者完成任务后,发现自己办理有错误等情况后,需要将此任务收回重新办理。 工作项的参与方式 目前有四种方式:共同参与、竞…

工作流实现分合流(多人、多部门分工处理)的介绍

分合流:顾名思义,想长江一样,有主流河流和分支河流,有起点,有终点。 适用范围:多人、多角色、多岗位、多部门等相互独立审批工作、处理工作,同时又可在某个步骤中查看工作的汇总、或者过程、或者…

1.工作流简介

1.工作流 工作流(Workflow): 通过计算机对业务流程进行自动化执行管理,解决在多个参与者直接按照某种预先定义的规则自动传递文档,信息或任务的过程,从而实现某个预期的业务目标或者促使目标的实现. 工作流管理系统(Workflow Management System, WfMS)是一个软件系统&#x…

工作流 JNPF 开发平台工作流引擎 工作流系统 工作流平台 3.4版本 开发框架源码部署文档入门说明

前端技术栈 Vue 全家桶 element-ui axios sass echarts dayjs 后端技术栈 主框架:Spring Boot Spring Framework 持久层框架:Mybatis-plus、Hibernate Validation、Alibaba Druid JSON序列化: Jackson 数据缓存:Redis 项目构建:…

工作流管理

工作流管理 前几天在 DevSuite 中设计项目工作流时,突然想研究一下工作流这个概念了,所以考虑一段时间也Google了一把,现在来开始写写想后感,呵呵。 先Show一下我设计一个工作流程图,比较简单,适合业务流程…

【工作流】工作流快速入门

【是什么】 工作流是一类能够完全或者部分自动执行的经营过程,它根据一些列过程规则、文档、信息或任务能够在不同的执行者之间进行传递与执行。 工作流程:流程就是一组活动按照一定顺序组成的序列流,简单说,流程就是一个实实在在…

工作流01

工作流 workflow 18.1 状态机解决流程问题 工作流:就是一个可以处理复杂情况的状态机。 例如,员工请假这个流程:首先员工提交请假申请,假设有项目经理进行审批,审批有两种结果:通过或者拒绝。 实现上面这个…

工作流[zt]

工作流 做过不短时间的工作流,一直没有进行好好的总结。最近theserverside.com登了下面的文章, The State of Workflow, 文章的内容比较浅显,概要介绍了工作流的基础。我也做个小结。 工作流的模型大多数都是参考WfMC的模型从图中可以看到有5个接口。实…

工作流体系----走进工作流管理平台(flowable版)(3)

当我们完成流程预设置后,整体产品体系就基本成型了------2021年8月20日,我对长沙团队的兄弟们说。 历经了一年半的从头再来,我们基本恢复到.net平台80%的水平了。我们会尽快的完善相关的业务,抓住核心主线 【合同/案件/法务/合规…

工作流 - 2 工作流发展

工作流 - 目录 工作流 - 2 工作流发展 一、工作流 - 发展1. JBPM2. activiti3. flowable4. camunda5. 对比6. 主要人物和发展历史 一、工作流 - 发展 1. JBPM 官网:https://jbpm.org/ 目前最新版本: 7.38.0分水岭jbpm5:BPM5使用http://jBo…

工作流(Workflow) -- 工作流简介

工作流(Workflow) – 工作流简介 数据库 Activiti的后台是有数据库的支持,所有的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。 用途也和服务的API对应。 ACT_RE_: RE’表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。ACT…

工作流运行

工作流运行 定义内涵 工作流运行是工作流模板的依次执行,在工作流运行时,用户可以随时取消或查看正在 运行的任务。由于工作流运行的模板的不同,运行过程中可能会产生不同的新资源,如数据 处理类型的工作流会产生新的数据集&…