[5/101] 101次面试之经典面试题

黑盒测试及测试用例设计方法(面试题解析) 阅读详情

目录

01、什么是黑盒测试?

02、为什么要做黑盒测试?

03、你在软件生命周期中的哪些测试阶段用到过黑盒测试?

04、什么是白盒测试?

05、白盒测试与黑盒测试有什么区别?

06、为什么要对程序进行单元测试?

07、由谁来做单元测试?

08、怎么做单元测试?

09、我们知道,在编码阶段,开发人员一般先设计好各单元之间的接口,此时函数单元测试的入口条件和出口条件是什么?  


01、什么是黑盒测试?

答:黑盒测试是一种测试方法,它指的是测试者不需要知道系统内部工作原理,只需要知道输入和输出就可以进行测试。

02、为什么要做黑盒测试?

答:因为黑盒测试可以帮助我们更好地了解软件的功能,发现潜在的错误和缺陷,从而提高软件的质量。

03、你在软件生命周期中的哪些测试阶段用到过黑盒测试?

答:我在软件生命周期中使用过黑盒测试的测试阶段包括系统测试、集成测试、回归测试和发布前检查。

04、什么是白盒测试?

答:白盒测试是一种软件测试方法,它基于对软件内部结构和实现细节的深入了解,通过检查代码、数据流、路径覆盖等来评估软件的质量和可靠性。

白盒测试也被称为结构测试或透明盒测试,因为测试人员通常需要了解软件的内部结构和代码实现细节,这与黑盒测试的方法相反,后者仅基于外部行为而不需要了解内部细节。

在白盒测试中,测试人员通常使用源代码、设计文档和其他技术工具来帮助他们理解软件的内部结构,并编写测试用例来测试不同的程序路径、边界条件和错误情况,以确保软件的功能、可靠性和安全性。白盒测试通常用于测试关键的、高风险的软件系统和应用程序。

05、白盒测试与黑盒测试有什么区别?


答:白盒测试和黑盒测试的区别可以用餐厅服务作为比喻:

黑盒测试就像去餐厅点餐,你只需要看到菜单和菜品的外部表现,比如名称、价格、口感等,而不需要知道厨师是如何制作的。在测试中,黑盒测试只关注软件的外部行为和用户体验,不需要了解软件内部的代码实现。

白盒测试则像是你进入餐厅后想去厨房看看厨师是如何制作菜品的,你需要了解厨师的烹饪技巧、使用的食材和烹饪器具等内部细节。在测试中,白盒测试需要测试人员深入了解软件的内部结构和代码实现,以检查软件在不同情况下的内部逻辑和执行路径,以保证软件的质量和可靠性。

因此,黑盒测试侧重于测试软件的外部行为和用户体验,而白盒测试侧重于测试软件的内部结构和代码实现。同时,在黑盒测试中,测试人员不需要知道软件的内部实现,而在白盒测试中,测试人员需要深入了解软件的内部细节。

06、为什么要对程序进行单元测试?


答:我们来打个比方吧:如果你是一名蛋糕师傅,你制作了一个蛋糕,但并不确定它的味道是否正常或者外观是否吸引人,你肯定不会把整个蛋糕拿到客人面前,而是先尝一小口,或者摆弄一下装饰品,以确保蛋糕的质量。

同样地,单元测试就像是蛋糕师傅对每个小块蛋糕进行品尝和检查,以确保每个小块蛋糕都是可口的,没有问题。在程序开发中,单元测试就是对程序中的每个小模块进行测试,以确保每个模块都能正常运行,没有错误或异常情况。

通过单元测试,开发人员可以及早发现和解决程序中的问题,降低开发成本和风险,提高程序的质量和可靠性。同时,单元测试还可以使开发人员更加自信地修改和改进程序,而不用担心会影响程序的其他部分。

所以,如果你是一名蛋糕师傅,你会在制作蛋糕时尝一小块吗?同样地,如果你是一名程序员,你也应该对程序进行单元测试,以确保程序的质量和可靠性。

07、由谁来做单元测试?


答:这个问题很简单,就像“谁来吃饭”的问题一样,当然是程序员啦!

想象一下,你去一家餐馆,点了一份菜,但是服务员告诉你需要你自己煮熟这道菜,你会有多失望。同样地,如果开发人员只是写代码,而不进行单元测试,那么软件的质量和可靠性就无法得到保障。

因此,单元测试是程序员必须要做的一项工作。在开发过程中,程序员需要编写测试代码来测试每个小模块的功能和性能,以确保程序的每个部分都能正常运行。这也有助于开发人员及早发现和解决问题,提高软件质量和可靠性。

当然,在一些大型项目中,还可以配备专门的测试人员或测试团队来进行更全面的测试工作,但单元测试仍然是开发人员必须要做的一项工作。

08、怎么做单元测试?


答:单元测试是一种测试方法,用于测试软件中的小模块或单元是否按预期工作。下面是一些基本步骤:

选择单元:选择需要测试的小模块或单元。

编写测试用例:编写测试用例,用于测试单元的不同输入和条件下的输出结果。

编写测试代码:编写测试代码,用于自动化运行测试用例。

运行测试:运行测试代码,对单元进行测试。

分析结果:分析测试结果,检查单元是否满足预期结果。

解决问题:如果测试结果不符合预期,修改代码并重新运行测试,直到单元测试通过为止。

除了这些基本步骤,以下是一些注意事项:

单元测试应该是自动化的,以便快速、可靠地进行测试。

单元测试应该在开发周期的早期进行,以便尽早发现和解决问题,降低后期成本。

单元测试应该是独立的,每个测试用例应该只测试一个单元,以便更容易识别问题所在。

单元测试应该是重复的,每次更改后都应该运行单元测试以确保没有引入新的问题。

希望这些步骤和注意事项能帮助您更好地了解如何进行单元测试。记住,单元测试是提高软件质量和可靠性的重要方法,是每个程序员都应该掌握的基本技能之一。

09、我们知道,在编码阶段,开发人员一般先设计好各单元之间的接口,此时函数单元测试的入口条件和出口条件是什么?  


答:在编码阶段,开发人员设计好各单元之间的接口,就像厨师在准备材料一样,接下来就是做菜了,也就是开始编写代码了。

在这个阶段,函数单元测试的入口条件就是:开发人员完成了函数的编写,确保代码可以编译通过。而出口条件则是:开发人员已经对该函数进行了单元测试,并且测试结果符合预期。

当然,入口条件和出口条件也可能因公司、项目和开发团队而异,这只是一个通用的例子。不过无论如何,只有完成了这些条件,才能确保代码质量和可靠性。

总之,在编码阶段,单元测试是确保代码质量和可靠性的重要环节,而入口条件和出口条件则是保证单元测试的顺利进行的前提条件。如果你是一个程序员,就要时刻记得做好单元测试,不要让代码的质量成为食客们品尝菜肴时的“口诛笔伐”的对象!

最后,祝大家都能找到心仪的工作!

 

101道经典JavaScript面试题总结(附答案,建议收藏) 最近在整理 JavaScript 的时候发现遇到了很多面试中常见的面试题,本部分主要是作者在 Github 等各大论坛收录的 JavaScript 相关知识和一些相关面试题时所做的笔记,分享这份总结给大家,对大家对 JavaScript 的可以来一次全方位的检漏和排查。 目录1. 介绍 js 的基本数据类型。2. JavaScript 有几种类型的值?你能画一下他们的内存图吗?3. 什么是堆?什么是栈?它们之间有什么区别和联系?4. 内部属性 [[Class]] 是什么?5. 介绍 js 有哪些内置对象?6 阅读详情

相关推荐

40道JAVA经典算法面试题(答案)

现在是3月份,也是每年开年企业公司招聘的高峰期,同时有许多的朋友也出来找工作。现在的招聘他们有时会给你出一套面试题或者智力测试题,也有的直接让你上机操作,写一段程序。算法的计算不乏出现,基于这个原因我自己搜集了一些算法上的题型。希望对于大家有所帮助。 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21…. publ...

uuqaz的博客 1万+

面试题-测试理论-黑盒

1、 黑盒测试的测试用例常见设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 1)等价类:把程序的输入域划分成若干部门,然后从每个部分中选取少数代表性数据作为测试用例。     用户登陆。非法帐号与合法帐号。 2)边界值:输入、输出范围的边界。     列表分页;日期校验。 3)错误推测:基于经验和直觉推测程序中所有可能存在的各种错误,有针对性...

weixin_30716141的博客 967

PostGIS面试题及详细答案120道之 (101-110 )

PostGIS面试题精要(101-109) 101. 时态处理 PostGIS支持时空数据管理,通过时间字段记录数据时效性,结合时间条件查询历史或特定时段数据,并可用触发器实现版本管理。 102. 拓扑规则 提供空间关系约束功能(如不重叠规则),通过创建拓扑结构、添加规则实现自定义空间关系约束。 103. 空间数据挖掘 支持聚类分析(K-Means/DBSCAN)、空间关联规则发现、密度分析等算法,直接通过SQL函数实现空间模式识别。 104. 机器学习集成 可与Python生态联动,利用PL/Python

大剑师兰特的GIS世界 1868

常见黑盒测试面试题

1、设计三角形测试用例 一般按等价类,边界值 2、设计nextday测试用例 一般从跨年,跨月等边界值考虑解题思路 3、随机数测试 一般抽奖类型的测试会用到, 4、设计登陆框测试用例

“心即理”&“致良知” 8138

PostgreSQL面试题及详细答案120道(101-120)

本文针对PostgreSQL数据库提供全面的性能优化方案,涵盖10个关键面试题解析。主要内容包括:1)并发参数调优(max_connections、worker_processes);2)缓存设置(effective_cache_size);3)WAL日志优化;4)慢查询监控与日志配置;5)会话管理与阻塞处理;6)高写入场景优化策略;7)存储类型参数调整;8)自动清理机制配置;9)大表DDL操作避坑指南;10)性能瓶颈诊断方法论。对DBA和开发者具有实操指导价值

大剑师兰特的GIS世界 855

软件测试面试题(白盒、黑盒测试)

好的资料手动阀身份是多方飞丰富化 的规范化飞过海 核发规划东方红 恢复后的富含淀粉分火的凤凰

软件测试之常用面试题

此文转载自在 https://blog.youkuaiyun.com/weixin_30363263/article/details/80110247,其基础上做了一些调整去重。 一、你在测试中发现了一个 bug ,但是开发经理认为这不是一个 bug ,你应该怎样解决。 1、将问题提交到缺陷管理库里面进行备案。 2、要获取判断的依据和标准: 根据需求说明书、产品说明、设计文档等,确认...

weixin_42669555的博客 627

AI算力瓶颈与系统优化实战指南

AI算力瓶颈已成为制约人工智能发展的关键因素,特别是在处理transformer类模型时,传统的冯·诺依曼架构面临严重的'内存墙'问题。通过硬件加速、系统优化和算法改进的三级策略,可以有效提升资源利用率。在嵌入式AI领域,结合量化、剪枝和专用指令集扩展等技术,能在资源受限设备上实现高效推理。这些优化方法在自动驾驶、工业视觉等场景中已展现出显著价值,推动AI应用从云端向边缘迁移。随着AI算力需求的持续增长,掌握系统优化技能将成为开发者的核心竞争力。

weixin_32597009的博客 340

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

01、您所熟悉的都有哪些?请分别以具体的例子来说明这些方法在工作中的应用。答:有黑盒和白盒两种测试种类,黑盒有,边界分析法,因果图法和错误猜测法。白盒有逻辑覆盖法,循环测试路径选择,基本路径测试。例子:在一次输入多个条件的完整性查询中。利用则和边界分析法则,首先利用等价划分法,可以一个或多个结果是OK的测试用例,然后确认多个NG的测试用例,然后利用边界值分析法,可以对结果分别是OK和NG的测试用例进行扩展和补充。02、您认为做好工作的关键是什么?

qq_73332379的博客 1103

Halcon 算子 select_shape

作用:借助形状特征选择区域; 参数翻译(对应以上参数顺序): 输入区域、 输出满足条件的区域、 输入参数形状特征('anisometry', 'area', 'area_holes', 'bulkiness'等)、 输入参数关系符('and', 'or')、 输入参数下限值(0.0 ≤ Min ≤ 99999.0)、 输入参数上限值(Max >= Min 并且0.0 ≤ Max ≤ 99999.0); 描述: 算子select_shape根据形状特征选择区域,对于...

奔跑的郑的博客 2万+

Python | 处理CMIP6 NC数据,以tas为例

各位同学,一般在文章最后一章我们可能会做不同气候情景下变量的未来时空变化特征,类似上图。从cmip6下载的nc数据常需要转换格式、裁剪到研究区和重采样等,本期代码可以解决这类问题。

qq_48539301的博客 1384

[4/101] 101次面试之经典面试题

此外,与开发人员进行协作也是非常有用的,因为他们对软件的内部工作原理有着更深入的了解,可以提供有价值的建议。同时,你也可以尝试确定复现 bug 的环境和条件,比如是在哪个操作系统中,在哪个浏览器中,在使用哪个版本的应用等等,以便帮助开发人员更好地定位问题。测试报告通常包括测试的概况、测试的方法和过程、测试的结果、问题的详细信息、对问题的分析和建议、测试的总结以及可能的后续步骤。计划通常包括测试的目标、测试的方法、测试的范围、预期的结果以及测试过程中的风险和应对措施。它可以帮助开发人员确保软件的质量和功能。

小朱的博客 950

【PINN物理信息网络】基于PINN物理信息网络求解圆柱坐标中的热方程(python)

【PINN物理信息网络】基于PINN物理信息网络求解圆柱坐标中的热方程(python)

k8291121的博客 2273

牛客 《面试刷题 TOP 101》 整整 101 题量大管饱题解套餐 上

牛客 《面试刷题 TOP 101》 整整 101 题量大管饱题解套餐

Lenyiin 2209

【教培管家】小程序实战(五):体验课预约——从流量到转化的闭环

本节我们通过变量状态管理和数据联动,实现了孩子选择和日期选定。下一篇我们继续讲解预约页面,根据选择的日期来筛选排课,供用户进行预约。

低代码布道师的博客 1562

YOLOv8【第十一章:视频追踪与流处理篇·第16节】一文搞懂,DeepStream 部署入门:NVIDIA 视频分析 SDK 与 YOLOv8 结合!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 838

机器人视觉联动精度优化:从±2mm到±0.02mm,产线级手眼标定全实战

2025年我接东莞长安Type-C接口分拣项目的时候,就是栽在了手眼标定上:实验室里标定完精度±0.5mm,一到产线直接掉到±2mm,机器人10次有3次抓不住,2000多件Type-C接口直接报废,还撞坏了2套汇川SCARA机器人的吸盘,本来45天的工期拖了3个月,不仅没赚到钱,还倒贴了几万块。手眼标定从来不是简单的跑个demo、算个矩阵就完事了,它是一个系统工程:从硬件选型、安装固定、相机标定、标定流程、算法优化、环境控制、重复验证,每一个环节都会影响最终的联动精度。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 384

101道JavaScript面试题

下面代码的输出是什么?function sayHi() { console.log(name); console.log(age); var name = “Lydia”; let age = 21;}sayHi(); A: Lydia 和 undefined B: Lydia 和 ReferenceError C: ReferenceError 和 21 D: undefined 和...

故里的博客 1457

AI工具 | 每个打工人必备的15款人工智能超级工具

不过,还是有一些靠谱的人工智能平台,它们可不只是营销噱头。有些AI公司正试图改变游戏规则。人工智能工具让人们能够更聪明地工作,而不是更辛苦地劳作。如果你想知道未来有什么,那就来看看这10款人工智能工具吧,它们将彻底改变我们的工作方式。

Vampire_2017的博客 5万+

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Transformer面试题总结101道

通过最小化模型在训练集上的损失函数,模型会自动调整Feed Forward层中的权重和偏置,以使得模型能够更好地拟合训练数据,并且在未见过的数据上具有良好的泛化能力。常见的做法是将真实标签的值从1降低到一个较小的值(1 - ε),同时将其他类别的值都增加到一个较小的值(ε / (n - 1),其中n是类别的数量),从而形成一个更加平滑的标签分布。此外,更大的模型还可以通过更长时间的训练来获得更好的性能,因为它们具有更多的参数和更强大的表示能力,可以更好地利用数据集中的信息。

xzq_qzx_的博客 3727

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

全新整理:微软、谷歌、百度等公司经典面试100题[第101-160题]

全新整理:微软、谷歌、百度等公司经典面试100题[第101-160题]整理:July、二零一一年三月九日。应网友承诺与要求,全新整理。转载,请注明出处。博主说明:此100题V0.2版,本人不再保证,还会提供答案。因为之前整理的微软100题,已经基本上,把题目都出尽了。见谅。-------------------------------------------- 微软十五道面试题1、有一个整数数组,

结构之法 算法之道 9万+

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

非常有用的101道算法部分常见面试题

非常有用的101道算法部分常见面试题 1. Given a rectangular (cuboidal for the puritans) cake with a rectangular piece removed (any size or orientation), how would you cut the remainder of the cake into two equal...

weixin_30668887的博客 1146

101道JavaScript面试题,看看你能对几道

JavaScript 进阶问题列表 我在我的 Instagram 上每天都会发布 JavaScript 的多选问题,并且同时也会在这个仓库中发布。 从基础到进阶,测试你有多了解 JavaScript,刷新你的知识,或者帮助你的 coding 面试! ???? ???? 我每周都会在这个仓库下更新新的问题。 答案在问题下方的折叠部分,点击即可展开问题。祝你好运 ❤️ 1. 输出是什么? function sa...

李三丧的博客 1433
上一篇: [4/101] 101次面试之经典面试题
下一篇: [6/101] 101次软件测试面试之经典面试题剖析
编程小猪猪
博客等级 码龄5年 5389粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程小猪猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值