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

01 软件测试理论部分
1.1 测试概念
1. 请你分别介绍一下单元测试、集成测试、系统测试、验收测试、回归测试

单元测试:完成最小的软件设计单元(模块)的验证工作,目标是确保模块被正确的编码

集成测试:通过测试发现与模块接口有关的问题

系统测试:是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件

回归测试:回归测试是指在发生修改之后重新测试先前的测试用例以保证修改的正确性

验收测试:这时相关的用户或独立测试人员根据测试计划和结果对系统进行测试和接收。验收测试包括Alpha测试和Beta测试。

Alpha测试:是由用户在开发者的场所来进行的,在一个受控的环境中进行。并且在开发者对用户的指导下进行测试,开发者负责记录发现的错误和使用中遇到的问题

Beta测试 :由软件的最终用户在一个或多个用户场所来进行的,开发者通常不在现场。由用户记录在测试中遇到的一系列问题,并定期报给开发者。

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. 简述缺陷的生命周期? 面试重点

软件测试人员提交缺陷报告;

测试负责人审核后将缺陷分配给相关开发人员修复

缺陷被修改后有测试人员根据缺陷报告中修改记录进行返测

返测通过的缺陷由负责人关闭;

返测未通过的缺陷直接返回给开发人员重新修改,然后再由测试人员返测,直到测试和开发达成一致处理意见。

测试技术面试题
1、什么是兼容性测试?兼容性测试侧重哪些方面?

2、我现在有个程序,发现在 Windows 上运行得很慢,怎么判别是程序存在问题还是软硬件系统存在问题?

3、测试的策略有哪些?

4、正交表测试用例设计方法的特点是什么?

5、描述使用 bugzilla 缺陷管理工具对软件缺陷(BUG)跟踪的管理的流程?

6、你觉得 bugzilla 在使用的过程中,有什么问题?

7、描述测试用例设计的完整过程?

8、单元测试的策略有哪些?

9、LoadRunner 分哪三部分?

10、LoadRunner 进行测试的流程?

11、什么是并发?在 lordrunner 中,如何进行并发的测试?集合点失败了会怎么样?

12、使用 QTP 做功能测试,录制脚本的时候,要验证多个用户的登录情况/查询情况,如何操作?

13 、 QTP 中的 Action 有什么作用?有几种?

Action 的作用

Action 的种类

14 、 TestDirector 有些什么功能,如何对软件测试过程进行管理?

15 、你所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性

能测试……)?

16 、软件缺陷(或者叫 Bug )记录都包含了哪些内容?如何提交高质量的软件缺陷( Bug )记录?

17 、 Beta 测试与 Alpha 测试有什么区别?

18 、软件的评审一般由哪些人参加?其目的是什么?

19 、测试活动中,如果发现需求文档不完善或者不准确,怎么处理?

20 、阶段评审与项目评审有什么区别?

21 、阐述工作版本的定义?

22 、什么是桩模块?什么是驱动模块?

23 、什么是扇入?什么是扇出?

24、你认为做好测试计划工作的关键是什么?

25、你认为做好测试用例工作的关键是什么?

26、简述一下缺陷的生命周期?

27、软件的安全性应从哪几个方面去测试?

28、软件配置管理工作开展的情况和认识?

29、你觉得软件测试通过的标准应该是什么样的?

30、引入测试管理的含义?

31、一套完整的测试应该由哪些阶段组成?

32、单元测试的主要内容?

33、集成测试也叫组装测试或者联合测试,请简述集成测试的主要内容?

(1)在把各个模块连接起来的时候,穿越模块接口的数据是否会丢失;

34、简述集成测试与系统测试关系?

(1)集成测试的主要依据概要设计说明书,系统测试的主要依据是需求设计说明书;

35、软件测试的文档测试应当贯穿于软件生命周期的全过程,其中用户文档是文档测试的重点。那么软件系统

的用户文档包括哪些?

36、软件系统中除用户文档之外,文档测试还应该关注哪些文档?

37、简述软件系统中用户文档的测试要点?

38、单元测试主要内容是什么?

39、如何理解强度测试?

40、如何理解压力、负载、性能测试测试?

41、什么是系统瓶颈?

42、文档测试主要包含什么内容?

43、功能测试用例需要详细到什么程度才是合格的?

44、配置和兼容性测试的区别是什么?

(1)软件在不同的主机上的运行情况,例如 Dell 和 Apple;

45、软件文档测试主要包含什么?

46、没有产品说明书和需求文档地情况下能够进行黑盒测试吗?

47、测试中的“杀虫剂怪事”是指什么?

48、在配置测试中,如何判断发现的缺陷是普通问题还是特定的配置问题?

49、为什么尽量不要让时间有富裕的员工去做一些测试?

50、完全测试程序是可能的吗?

51、软件测试的风险主要体现在哪里?

52、发现的缺陷越多,说明软件缺陷越多吗?

53、所有的软件缺陷都能修复吗?所有的软件缺陷都要修复吗?

54、软件测试人员就是 QA 吗?

55、如何减少测试人员跳槽带来的损失?

56、测试产品与测试项目的区别是什么?

57、和用户共同测试(UAT 测试)的注意点有哪些?

58、如何编写提交给用户的测试报告?

59、测试工具在测试工作中是什么地位?

60、什么是软件测试,软件测试的目的?

61、简述负载测试与压力测试的区别。

62、写出 bug 报告流转的步骤,每步的责任人及主要完成的工作。

63、写出 bug 报告当中一些必备的内容。

64、开发人员老是犯一些低级错误怎么解决?

65、画出软件测试的 V 模型图。

66、为什么要在一个团队中开展软件测试工作?

67、您在以往的测试工作中都曾经具体从事过哪些工作?其中最擅长哪部分工作?

68、您所熟悉的软件测试类型都有哪些?请试着分别比较这些不同的测试类型的区别与联系(如功能测试、性

能测试……)

69 、您认为做好测试用例设计工作的关键是什么?

70 、请试着比较一下黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别与联系。

71 、测试计划工作的目的是什么?测试计划工作的内容都包括什么?其中哪些是最重要的?

72 、您所熟悉的测试用例设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应

用。

73 、请以您以往的实际工作为例,详细的描述一次测试用例设计的完整的过程。

74 、您以往是否曾经从事过性能测试工作?如果有,请尽可能的详细描述您以往的性能测试工作的完整过程。

75 、你对测试最大的兴趣在哪里?为什么?

76 、你以前工作时的测试流程是什么?

77 、当开发人员说不是 BUG 时,你如何应付?

78、软件的构造号与版本号之间的区别?BVT(BuildVerificationTest)

Major.Minor [.Revision[.Build]]

Build :内部版本号的不同表示对相同源所作的重新编译。这适合于更改处理器、平台或编译器的情况。

BVT(BuildVerificationTest) :

79 、您以往的工作中,一条软件缺陷(或者叫 Bug )记录都包含了哪些内容?如何提交高质量的软件缺陷

( Bug )记录?

80 、您以往所从事的软件测试工作中,是否使用了一些工具来进行软件缺陷( Bug )的管理?如果有,请结合

该工具描述软件缺陷( Bug )跟踪管理的流程。

81 、您认为性能测试工作的目的是什么?做好性能测试工作的关键是什么?

82 、单元测试、集成测试、系统测试的侧重点是什么?

83 、集成测试通常都有那些策略?

84 、一个缺陷测试报告的组成

85、基于 WEB 信息管理系统测试时应考虑的因素有哪些?

86、软件测试项目从什么时候开始,?为什么?

87、需求测试注意事项有哪些?

88、简述一下缺陷的生命周期

89、你在你所在的公司是怎么开展测试工作的?是如何组织的?

90、你认为理想的测试流程是什么样子?

91 、您在从事性能测试工作时,是否使用过一些测试工具?如果有,请试述该工具的工作原理,并以一个具体

的工作中的例子描述该工具是如何在实际工作中应用的。

92、软件测试活动的生命周期是什么?

93、请画出软件测试活动的流程图?

94、针对缺陷采取怎样管理措施?

95、什么是测试评估?测试评估的范围是什么?

96、如果能够执行完美的黑盒测试,还需要进行白盒测试吗?为什么?

97、测试结束的标准是什么?

98、软件验收测试除了 alpha ,beta 测试以外,还有哪一种?

99、做测试多久了?以前做过哪些项目?你们以前测试的流程是怎样的?用过哪些测试工具?

100、请就如何在开发中进行软件质量控制说说你的看法

  总结

如果你对此文有任何疑问,如果你也需要接口项目实战,如果你对软件测试、接口测试、自动化测试、面试经验交流感兴趣欢迎加入我们,加入方式在文章的最后面

  自动化测试相关教程推荐:

2023最新自动化测试自学教程新手小白26天入门最详细教程,目前已有300多人通过学习这套教程入职大厂!!_哔哩哔哩_bilibili

2023最新合集Python自动化测试开发框架【全栈/实战/教程】合集精华,学完年薪40W+_哔哩哔哩_bilibili

测试开发相关教程推荐

2023全网最牛,字节测试开发大佬现场教学,从零开始教你成为年薪百万的测试开发工程师_哔哩哔哩_bilibili

postman/jmeter/fiddler测试工具类教程推荐

讲的最详细JMeter接口测试/接口自动化测试项目实战合集教程,学jmeter接口测试一套教程就够了!!_哔哩哔哩_bilibili

2023自学fiddler抓包,请一定要看完【如何1天学会fiddler抓包】的全网最详细视频教程!!_哔哩哔哩_bilibili

2023全网封神,B站讲的最详细的Postman接口测试实战教学,小白都能学会_哔哩哔哩_bilibili

  总结:

 光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

​​​

​​​

如果对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。

如有不懂还要咨询下方小卡片,博主也希望和志同道合的测试人员一起学习进步

在适当的年龄,选择适当的岗位,尽量去发挥好自己的优势。

我的自动化测试开发之路,一路走来都离不每个阶段的计划,因为自己喜欢规划和总结,

测试开发视频教程、学习笔记领取传送门!!

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

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

相关文章

猛兽派对是什么游戏 猛兽派对攻略大全 苹果电脑怎么玩《猛兽派对》?

猛兽派对是多人派对类型的游戏,该款游戏的动作基于物理原理设计的,体验游戏玩家可以选择自己喜欢的小动物角色参加派对,游戏内具有很多不同的关卡可供挑战。 在steam平台上,猛兽派对对应英文名称是PartyAnimals,官方正…

JVM内存模型最新面试题(持续更新)

问题:java中创建的对象一般放在哪里?(全流程包含从创建到回收) 回答 大部分对象在堆中,这个基本都知道; 少部分对象是会在栈中的,比如作用域不局限于方法内的方法内部变量,这类对象的特征一般就是生命周期…

opencv4.8.0 GPU版本各平台编译

一、opencv4.8.0 ubuntu22.04上编译: 用cmake进行编译,需要配置三次。选中world选项,输入opencv_contrib_module路径。 ubuntu22.04上编译: cmake \ -D CMAKE_BUILD_TYPERELEASE \ -D CMAKE_INSTALL_PREFIX/usr/local \ -D BUILD_opencv_p…

免费公有云轻量级云服务,支持免费云数据库和创建应用,支持多语言应用!

在今天这个数字化迅速发展的时代,选择一个高效、经济且功能全面的云平台对于任何大小的企业来说都是至关重要的。MemFire Cloud 作为市场上新兴的星级云服务提供商,以其免费的公有云服务和对多种编程语言的支持,提供了一站式解决方案&#xf…

51单片机超声波测距_液位检测_温度检测原理图PCB仿真代码

目录 实物图: PCB ​原理图​ 仿真图 ​编辑 程序 资料下载地址:51单片机超声波测距-液位检测-温度检测原理图PCB仿真代码 主控为stc89c52,通过ds18b20进行温度采集,超声波测距,距离不可以超过1m,通过按键可以设…

CAD插入文字到另一图形样式变相同

CAD从一张图形复制到另外一张图形后,文字样式变成一样是因为两张图所用的文字样式名称一样,但是样式里面的使用字体样式不一样。如下图所示,找到工具栏中的注释 ,点击文字样式。里面就会显示当前图形中使用的样式名称及其对应的字…

微信小程序如何使用weui组件库?

一、方法一:通过npm安装 通过npm构建方式引入weui组件库 (找到.eslintrc.js 右键,在内件终端打开)打开命令提示符后,输入 (1)npm init -y来快速生成一个默认的package.json文件 (…

鸿蒙 装饰器@builder 使用中的问题 以及解决方案

builder装饰器 一 介绍Builder装饰器:自定义构建函数二 问题点三 解决方法四 仓库地址 一 介绍Builder装饰器:自定义构建函数 用于填充UI组件 开发者可以将重复使用的UI元素抽象成一个方法,在build方法里调用。 根据场景分类 组件内自定义构…

设计非递归算法,编程:在二叉排序树中,打印关键码a, b的公共祖先。注:例,若a是b的祖先,则a不算作公共祖先。反之亦然。

二叉排序树&#xff1a; 代码&#xff1a; #include <iostream> using namespace std;// 定义二叉树节点结构 typedef struct BTNode {char show;struct BTNode* left;struct BTNode* right; } BTNode;// 非递归插入节点的函数 BTNode* insertNode(BTNode* root, char k…

Leetcode - 周赛397

目录 一&#xff0c;3146. 两个字符串的排列差 二&#xff0c;3147. 从魔法师身上吸取的最大能量 三&#xff0c;3148. 矩阵中的最大得分 四&#xff0c;3149. 找出分数最低的排列 一&#xff0c;3146. 两个字符串的排列差 本题就是求同一个字符在两个字符串中的下标之差的…

QCustomPlot的了解

&#xff08;一&#xff09;QCustomPlot常见属性设置、多曲线绘制、动态曲线绘制、生成游标、矩形放大等功能实现-CSDN博客 关键代码&#xff1a; QT core gui printsupport 使用上面文章中的代码跑起来的程序效果图&#xff1a; 我的学习过程&#xff1a; 最开始初…

家用充电桩远程监控安全管理系统解决方案

家用充电桩远程监控安全管理系统解决方案 在当今电动汽车日益普及的背景下&#xff0c;家用充电桩的安全管理成为了广大车主关注的重点问题。为了实现对充电桩的高效、精准、远程监控&#xff0c;一套完善的家用充电桩远程监控安全管理系统解决方案应运而生。本方案旨在通过先…

如何去除字符串两侧的空白字符?

TRIM函数会去掉字符串左侧和右侧的空格&#xff0c;语法是&#xff1a;TRIM(字符串) excel中&#xff0c;TRIM函数能去掉字符串左侧和右侧的空格&#xff0c;它的ASCII码是32。 以下设定一个字符串组合&#xff0c;它的第一个字符中空格&#xff0c;最后一个字符是换行符 &q…

【Linux进程通信 —— 管道】

Linux进程通信 —— 管道 进程间通信介绍进程间通信的概念进程间通信的目的进程间通信的本质进程间通信的分类 管道什么是管道匿名管道匿名管道的原理pipe用fork来共享管道原理站在文件描述符角度-深度理解管道站在内核角度-管道本质管道读写规则管道的特点管道的四种特殊情况管…

2024软件测试必问的常见面试题1000问!

01、您所熟悉的测试用例设计方法都有哪些&#xff1f;请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 答&#xff1a;有黑盒和白盒两种测试种类&#xff0c;黑盒有等价类划分法&#xff0c;边界分析法&#xff0c;因果图法和错误猜测法。白盒有逻辑覆盖法&…

三子棋游戏

1、实现三子棋 test.c //测试游戏的逻辑 game.c //游戏代码的实现 game.h //游戏代码的声明&#xff08;函数声明&#xff0c;符号定义&#xff09; 1、 在主函数里实现&#xff0c;首先有个界面&#xff0c;让玩家选择是否玩游戏。上来就先打印菜单&#xff0c;用do ... …

优秀测试的核心能力!2招高效定位分析BUG!

之所以写这一篇文章&#xff0c;是突然想起来曾经在测试过程中被开发嘲讽过&#xff0c;事情是这样的&#xff0c;当时发现了一个疑似前端的Bug就草草提交到了禅道&#xff0c;结果刚来的女前端看到了就有点生气地问我为啥不查清到底是前后端问题就直接派给她前端了&#xff0c…

【python量化交易】—— Alpha选股策略 - Qteasy自定义交易策略【附源码】

使用qteasy创建并回测Alpha选股交易策略 使用qteasy创建并回测Alpha选股交易策略策略思想第一种自定义策略设置方法&#xff0c;使用持仓数据和选股数据直接生成比例交易信号PS信号&#xff1a;第二种自定义策略设置方法&#xff0c;使用PT交易信号设置持仓目标&#xff1a;第三…

【数组中重复的数据】leetcode,python

和上题一样&#xff0c;【找到所有数组中消失的数字】 换个判断条件就行 class Solution:def findDuplicates(self, nums: List[int]) -> List[int]:nlen(nums)for i in nums:x(i-1)%nnums[x]n#只需要替换条件即可return [i1 for i,num in enumerate(nums) if num>(2*n)…

海外云手机的运作原理和适用场景

海外云手机是一种基于云计算技术的虚拟手机服务&#xff0c;通过将手机操作系统和应用程序托管在远程服务器上&#xff0c;实现用户可以通过互联网连接来使用和管理手机功能&#xff0c;而无需实际拥有物理手机。以下是有关海外云手机的相关信息&#xff1a; 海外云手机的运作原…