单元测试、系统测试、集成测试

devtools/2025/3/17 0:00:25/

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

实际的测试工作当中,我们会从不同的角度对软件测试的活动进行分类,“单元测试集成测试,系统测试”,是按照开发阶段进行测试活动的划分。这种划分完整的分类,其实是分为四种“单元测试集成测试,系统测试,验收测试"。这四类测试,其实是一种从局部到整体测试思想。

为了给各位介绍清楚这4类测试的区别,我以汽车生产测试的过程为例,来分别阐述下单元测试集成测试,系统测试,验收测试。

一、单元测试

1、汽车制造举例

在汽车的生产制造器过程当中,要先针对汽车的零部件进行测试。比如说我们可以把轮胎进行全面的一个测试。轮胎的这个测试就可以认为“单元测试”。

2、测试工作中的理解

所谓的单元测试就是我们针对程序的最小单元先进行这个小规模的测试验证。
补充:单元测试也叫单侧,是针对代码的测试,一般是由【开发】来测试(单元开发完成后,开发自测)

二、集成测试

1、汽车制造举例

上面的轮胎测试通过之后,我们就要轮胎和其他测试正常的零部件进行组装。比如说我们把轮胎和车架这两个部分进行了组装,那么在组装后是不是也要进行测试?这就集成测试

2、测试工作中的理解

集成测试,就是把通过单元测试的各个小模块,组装成更大的模块后,进行测试验证的过程。

补充:

1)集成测试,也叫组装测试,常发生在"软件还没开发完,但部分单元模块已开发完”的这个阶段。
2)集成测试最简单形式,就是把两个已经测试过的单元组合成一个组件,测试他们的接口。
3)集成测试,一般也认为是接口测试。

三、系统测试

1、汽车制造举例

当所有的汽车零部件都组装完毕之后,也就是形成了整车。我们还需要进行整车测试验证。整车测试就是系统测试。

2、测试工作中的理解

系统测试,就是把我们整个软件系统开发完毕之后,在模拟的真实环境下进行全面测试的过程。
补充:

1)系统测试是,软件开发完成,整理架构上的测试。

系统测试一般可以认为是功能测试

四、验收测试

1、汽车制造举例

实车的测试验证之后,车企是不是就可以直接进行汽车的发布上市了?还不会,通常车企还会进行一些第三方专业汽车评测机构的测试,或者邀请一些汽车大V使用,进行试用反馈。这就是验收测试。

最终通过这四个测试环节,我们把汽车生产过程当中发现的所有问题都进行解决,才能保障汽车产品它的质量是符合最终的一个需求。这时候我们才能进行产品的发布和上市。

2、测试工作中的理解

在我们这款软件产品发布到用户之前,我们也会邀请不同的用户人群来进行测试反馈。
验收测试又分为内侧和公测。

举例游戏,所谓的内测,就是邀请少量的游戏重度使用用户,来进行游戏软件的使用反馈。
所谓公测,就是我们把这款软件产品发布到这个线上,让所有的用户来进行游戏产品的一个试用反馈。

通过这个内测和公测,最终我们的软件的问题解决完毕之后,才会进行正式版本的一个对外发布。

补充:验收测试,虽说是邀请用户来测试,但测试人员也需要全程跟踪参与。

五、写在最后

很多人经常把“黑盒测试、白盒测试、灰盒测试”和“单元测试集成测试,系统测试,验收测试”搞在一起。

其实这几个测试分类要区分清楚也很清楚。

按照开发阶段划分,就是:单元测试集成测试,系统测试,验收测试。

按照代码的可见度划分,就是:白盒测试(没有界面,只看见代码)、黑盒测试(只有界面,看不见代码)、灰盒测试(既看不到界面,又不深入代码)。

为什么这两类测试经常混在一起呢?原因是

白盒测试是代码级的测试,也就是单元测试

黑盒测试,没有代码,只有界面测试,可认为是点点点的功能测试,这就是系统测试。

灰盒测试,看不到界面(非界面),又不深入代码,只是在代码的交界处(接口层)进行的校验,就是接口测试,也是集成测试

希望今天的文章,0基础的同学能彻底清楚这几个测试分类概念。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。


http://www.ppmy.cn/devtools/167675.html

相关文章

基于 GEE 利用 Sentinel-2 数据反演叶绿素与冠层水分含量

目录 1 数据加载与预处理 2 叶绿素含量反演 3 冠层水分反演 4 数据可视化与导出 5 完整代码 6 运行结果 在生态学和环境科学领域,植被的健康状况是评估生态系统稳定性和功能的关键指标之一。而叶绿素含量和冠层水分含量作为反映植被生理状态的重要参数&#x…

qt stm32 发送接受浮点数以及两字节数

void MainWindow::on_pushButton_4_clicked() { TPCANMsg msg; bool ok; float dianliu ui->lineEditdianliu->text().toFloat(&ok); // 输入验证 if (!ok) { ui->status->setText("电流输入无效,请重新输入…

【黑马点评|项目】万字总结(下)

文章上半部分: 【黑马点评|项目】万字总结(上) 优惠卷秒杀 当用户抢购时,就会生成订单并保存到tb_voucher_order这张表中,而订单表如果使用数据库自增ID就存在一些问题: id的规律性太明显,容易出…

如何在androidstudio开发环境中查看sqlite数据库(按新版本Android Studio Giraffe提供详细步骤和操作说明,附截图,代码)

如何在androidstudio开发环境中查看sqlite数据库(按新版本Android Studio Giraffe提供详细步骤和操作说明,附截图,代码)鹿溪IT工作室提供_android studio查看数据库-CSDN博客

使用 ConfigMaps 可以优化 Spring Boot应用

基本概念 ConfigMaps:Kubernetes 中的一种资源对象,用于存储非敏感的配置数据,如应用程序属性、环境变量等。 主要优势 简化部署:无需在容器镜像中嵌入配置,减少镜像大小,加快部署速度。 动态更新&#…

如何在AVL树中高效插入并保持平衡:一步步掌握旋转与平衡因子 —— 平衡因子以及AVL结构篇

文章目录 AVL树的概念AVL树的结构AVL树的插入平衡因子更新终止条件插入以及平衡因子的保持AVL树的查找 AVL树的概念 AVL树(Adelson-Velsky and Landis Tree)是一种自平衡二叉查找树,它的特点是每个节点的左子树和右子树的高度差不能超过1。这…

grunt构建工具:scss转css

Grunt 是一个基于 JavaScript 的任务运行工具,通常用于自动化重复性任务,例如代码编译、文件压缩、单元测试等。它通过配置文件 Gruntfile.js 来定义任务和插件。 完整项目地址:https://github.com/ylpxzx/grunt-scss-to-css 以下是 Grunt 的…

爬虫基础之爬取豆瓣同城信息(保存为csv excel 数据库)

网站:长沙最近一周戏剧活动_豆瓣 温馨提示: 本案例仅供学习交流使用 本案例所使用的模块 requests(发送HTTP请求)pandas(数据保存模块)lxml(用于解析数据模块)csv(用于保存为csv文件)pymysql(用于操作数据库)parsel(解析数据的模块) 确定爬取的信息内容: 戏剧的名称…