单独组件_集成测试与单组件测试所覆盖的功能具体有哪些区别?

a951c8911346e533ab1d95370ee588c4.png

 ◆ ◆ 小主 | 兰希姑娘

这个题目,听起来没什么需要深入探讨的,但就在最近,我所在团队的同学就遇到了理解偏差。

背景是这样的,组件测试、集成测试分别是不同的同学负责,双方测试完毕后,一起碰测试覆盖面的时候,出现了分歧。

小强同学负责的组件本身是非常独立的一个系统,其他服务只会调用它,它不会去调用其他的组件,并且该组件本身的功能也比较单一,以API的形式,提供号码生成功能。

小强同学向做集成测试的小王同学,请教集成测试相比较组件测试,他们更关注的测试点。因为在小强同学看来,对于他负责的组件A,集成测试的意义并不大。

小王同学的回答是,集成测试主要测试连通性,对于这个回答,小强同学是不满意的,小强同学继续追问,具体是哪些功能的联通?如果只是测试联通,那么只要调用符合组件的规范那么一定是通的呢!这又有什么值得单独做集成测试呢?

小王的观点是,因为A是API服务,直接测试使用的是Postman,集成测试是完全模拟真实的调用方式(比如java代码),两者还是有区别的。

小强更疑惑了,一个API服务起好了,具体是使用哪种语言调用,与该服务的正确性有什么关系?

实际上,任何语言都可以调用,只需要遵循每种语言的语法规则、以及服务的接口参数要求即可。

a35063800756ff073420bad6450d43ae.png

从上面的描述可以看出,小王同学并没有理解清楚集成测试的真正目的。

首先,并非所有的功能都需要集成测试,比如上述小强同学负责的组件,单组件测试就是集成测试,因为它自成体系。

其次,集成测试关注的点一定是单组件测试无法覆盖的,比如:

组件A必须通过组件B才能生效,A不能对外单独提供服务,这时候需要做A、B的集成测试。

再比如A组件虽然功能独立,但是最终功能生效需要经过组件B、C,需要依据最终的生效情况才能确定A组件的正确性,这时候就需要做A、B、C的集成测试。

再比如A组件功能不独立,需要依赖B组件的功能,只有B功能可用,A才可用,那么就需要做A、B的集成测试。

回到最初小强同学的疑问,假如待集成测试的组件有三个A,B,C,由于A自成体系,谁也不依赖,对外提供特定的的服务,因此A不需要做集成测试,而如果B,C依赖A,那么组件B,C需要与A做集成测试。

你有没有发现,最终的效果是三者都在集成测试中出现了,但是我们要知道他们为什么要出现,单考虑A,是不需要做集成测试的。

技术精进是一场修行,相信自己和时间的力量。

2646a0cdec9a4b2f9da7737354c038a6.gif ---  E N D ---

8244fc71a08530eb5c99af0a81e48969.png

点“在看”你懂得 

6495db07e82da092c7a69e7f729ef283.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值