单元测试、系统测试、集成测试三者的区别是什么?

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

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

一、单元测试

1、汽车制造举例

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

2、测试工作中的理解

所谓的单元测试就是我们针对程序的最小单元先进行这个小规模的测试验证。

补充:单元测试也叫单侧,是针对代码的测试,一般是由【开发】来测试(单元开发完成后,开发自测)

同时,在这我也准备了一份软件测试视频教程(含接口、自动化、性能等), 需要的可以直接在下方观看就行,希望对你有所帮助!【公众号:互联网杂货铺

软件测试视频教程观看处:

软件测试工程师大忌!盲目自学软件测试真的会毁终生,能救一个是一个......

二、集成测试

1、汽车制造举例

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

2、测试工作中的理解

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

补充:

1)集成测试,也叫组装测试,常发生在"软件还没开发完,但部分单元模块已开发完"的这个阶段。

2)集成测试最简单形式,就是把两个已经测试过的单元组合成一个组件,测试他们的接口。

3)集成测试,一般也认为是接口测试。

三、系统测试

1、汽车制造举例

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

2、测试工作中的理解

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

补充:

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

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

四、验收测试

1、汽车制造举例

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

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

2、测试工作中的理解

在我们这款软件产品发布到用户之前,我们也会邀请不同的用户人群来进行测试反馈。

验收测试又分为内侧和公测。

举例游戏,所谓的内测,就是邀请少量的游戏重度使用用户,来进行游戏软件的使用反馈。

所谓公测,就是我们把这款软件产品发布到这个线上,让所有的用户来进行游戏产品的一个试用反馈。

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

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

五、写在最后

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

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

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

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

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

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

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

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

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

相关推荐
_OLi_1 小时前
力扣 LeetCode 459. 重复的子字符串(Day4:字符串)
算法·leetcode·职场和发展·kmp
_OLi_2 小时前
力扣 LeetCode 150. 逆波兰表达式求值(Day5:栈与队列)
算法·leetcode·职场和发展
糊涂君-Q4 小时前
Python小白学习教程从入门到入坑------第三十一课 迭代器(语法进阶)
python·学习·程序人生·考研·职场和发展·学习方法·改行学it
路遇晚风6 小时前
力扣=Mysql-3322- 英超积分榜排名 III(中等)
mysql·算法·leetcode·职场和发展
Elastic 中国社区官方博客10 小时前
使用真实 Elasticsearch 进行更快的集成测试
大数据·运维·服务器·数据库·elasticsearch·搜索引擎·集成测试
吾店云建站17 小时前
WordPress 6.7 “Rollins”发布
科技·程序人生·职场和发展·创业创新·程序员创富
暮春二十四17 小时前
关于用postman调用接口成功但是使用Java代码调用却失败的问题
java·测试工具·postman
Sunyanhui119 小时前
力扣 二叉树的直径-543
算法·leetcode·职场和发展
清尘沐歌20 小时前
推荐一款好用的postman替代工具2024
测试工具·postman
清尘沐歌20 小时前
有什么好用的 WebSocket 测试工具吗?
websocket·网络协议·测试工具