集成测试

ForSouth ForSouth     2022-10-05     779

关键词:

集成测试:

在单元测试的基础上,将所有模块按照总体设计的要求组装成为子系统或系统进行的测试。
集成测试的对象是模块间的接口,其目的是找出在模块接口上和系统体系结构上的问题。

集成测试策略:
基于层次的集成:自顶上下与自底向上
基于功能的集成:按照功能的优先级逐步将模块加入系统中
基于进度的集成:把最早可获得的代码进行集成
基于使用的集成:通过类的使用关系进行集成

集成测试考虑的问题:
模块接口的数据是否会丢失
组合后的子功能,能否达到预期要求的父功能
模块的功能是否会相互产生不利的影响
全局数据结构是否有问题
模块的误差累积是否会放大
单个模块的错误是否会导致数据库错误

集成测试的方法:

整体集成

把所有模块按设计要求一次全部组装起来,然后进行整体测试

优点:
效率高,所需人力资源少;
测试用例数目少,工作量低;
简单,易行;
缺点:
可能发现大量的错误,难以进行错误定位和修改;
即使测试通过,也会遗漏很多错误;
测试和修改过程中,新旧错误混杂,带来调试困难;

增量式集成

逐步将新模块加入并测试

自顶向下的集成测试:从主控模块开始,按软件的控制层次结构,以
深度优先或广度优先的策略,逐步把各个模块集成在一起。
具体步骤:
以主控模块作为测试驱动模块,把对主控模块进行单元测试时所引入的所有
桩模块用实际模块代替;
依据所选的集成策略(深度优先、广度优先),每次只替代一个桩模块;
每集成一个模块立即测试一遍;
只有每组测试完成后,才着手替换下一个桩模块;
为避免引入新错误,不断进行回归测试。

自底向上的集成测试:从软件结构最底层的模块开始组装测试。
具体步骤:
把底层模块组织成实现某个子功能的模块群(cluster);
开发一个测试驱动模块,控制测试数据的输入和测试结果的输出;
对每个模块群进行测试;
删除测试使用的驱动模块,用较高层模块把模块去组织成为完成更大功能的
新模块;
循环,直到整个程序测试完毕。

两种集成测试的优缺点
自顶向下集成:
优点:能尽早地对程序的主要控制和决策机制进行检验,因此较早地发现错
误;较少需要驱动模块;
缺点:所需的桩模块数量巨大;在测试较高层模块时,低层处理采用桩模块
替代,不能反映真实情况,重要数据不能及时回送到上层模块,因此测试并
不充分;
自底向上集成:
优点:不用桩模块,测试用例的设计亦相对简单;
缺点:程序最后一个模块加入时才具有整体形象,难以尽早建立信心。

集成测试

集成测试:在单元测试的基础上,将所有模块按照总体设计的要求组装成为子系统或系统进行的测试。集成测试的对象是模块间的接口,其目的是找出在模块接口上和系统体系结构上的问题。集成测试策略:基于层次的集成:自... 查看详情

探析软件测试的集成测试(代码片段)

集成测试在软件测试中占有非常重要的地位,本文对集成测试的概念、集成测试的策略及集成测试的主要类型(阶段)进行了简单阐述,同时对几种重要的集成测试进行了分析。关键词:软件测试、集成测试软件测试作... 查看详情

系统测试和集成测试的区别

...,在需求阶段就要制定系统测试计划和用例,HLD的时候做集成测试计划和用例,有些公司的具体实践不一样,但是顺序肯定是先做系统测试计划用例,再做集成2.用例的粒度系统测试用例相对很接近用户接受测试用例集成测试用... 查看详情

集成测试

集成测试的概念:>>每个模块完成单元测试后,按照设计时确定的结构图,将它们连接起来进行测试。>>集成测试也称综合测试、组装测试、联合测试。集成测试的基础理论: >>目标:    >>各... 查看详情

iOS UI 测试与集成测试

】iOSUI测试与集成测试【英文标题】:iOSUITestingvsIntegrationTesting【发布时间】:2017-10-0720:52:20【问题描述】:所以我一直在尝试阅读有关UI和集成测试(专门用于iOS开发)的信息。我一直认为这些测试是不同的,但我看到的很多集... 查看详情

单元测试和集成测试有啥区别? [复制]

】单元测试和集成测试有啥区别?[复制]【英文标题】:What\'sthedifferencebetweenunittestsandintegrationtests?[duplicate]单元测试和集成测试有什么区别?[复制]【发布时间】:2011-07-1811:22:53【问题描述】:单元测试和集成测试有什么区别?... 查看详情

扑。如何测试集成测试没有溢出?

】扑。如何测试集成测试没有溢出?【英文标题】:Flutter.Howtotestthatthereisnooverflowswithintegrationtests?【发布时间】:2019-09-1613:25:31【问题描述】:我使用flutter_driver在Flutter中进行集成测试。在某些屏幕上,按钮上的文本会出现溢出... 查看详情

在 Go 中分离单元测试和集成测试

】在Go中分离单元测试和集成测试【英文标题】:SeparatingunittestsandintegrationtestsinGo【发布时间】:2014-11-1522:01:26【问题描述】:在GoLang(作证)中分离单元测试和集成测试是否有既定的最佳实践?我混合了单元测试(不依赖任何... 查看详情

Flutter 集成测试 - 如何在单个命令或单个文件中运行多个 Flutter 集成测试的测试用例

】Flutter集成测试-如何在单个命令或单个文件中运行多个Flutter集成测试的测试用例【英文标题】:FlutterIntegrationTesting-HowtorunmultipletestcasesofFlutterintegrationtestsinsinglecommandorfromsinglefile【发布时间】:2020-03-1804:47:14【问题描述】:如... 查看详情

模拟集成测试

】模拟集成测试【英文标题】:Mockingforintegrationtests【发布时间】:2012-04-2506:43:15【问题描述】:如何所需的众多依赖项?我使用Mockito进行“纯”单元测试。在这种情况下,“纯”意味着测试单个类,模拟它的所有依赖项。漂亮... 查看详情

Junit:拆分集成测试和单元测试

】Junit:拆分集成测试和单元测试【英文标题】:Junit:splittingintegrationtestandUnittests【发布时间】:2011-02-0602:05:25【问题描述】:我继承了大量的Junit测试,但这些测试(除了大多数不起作用)是实际单元测试和集成测试(需要外... 查看详情

使用 Airflow 进行集成测试

】使用Airflow进行集成测试【英文标题】:IntegrationtestswithAirflow【发布时间】:2018-04-2621:25:30【问题描述】:针对BigQuery运行Airflow集成测试的好方法/推荐方法是什么?Airflow似乎有不少专为测试而设计的运算符,例如BigQueryCheckOpera... 查看详情

单元测试、功能测试、验收测试和集成测试有啥区别? [关闭]

】单元测试、功能测试、验收测试和集成测试有啥区别?[关闭]【英文标题】:What\'sthedifferencebetweenunit,functional,acceptance,andintegrationtests?[closed]单元测试、功能测试、验收测试和集成测试有什么区别?[关闭]【发布时间】:2011-06-21... 查看详情

单元测试、功能测试、验收测试和集成测试有啥区别? [关闭]

】单元测试、功能测试、验收测试和集成测试有啥区别?[关闭]【英文标题】:What\'sthedifferencebetweenunit,functional,acceptance,andintegrationtests?[closed]单元测试、功能测试、验收测试和集成测试有什么区别?[关闭]【发布时间】:2011-06-21... 查看详情

Java集成测试中的void方法

】Java集成测试中的void方法【英文标题】:voidmethodinJavaIntegrationTests【发布时间】:2022-01-0318:50:12【问题描述】:我有一些Java单元测试的经验,现在开始编写集成测试。但是,我在理解集成测试和编写测试时遇到了一些麻烦。以... 查看详情

单元测试?集成测试?回归测试?验收测试?

】单元测试?集成测试?回归测试?验收测试?【英文标题】:UnitTest?IntegrationTest?RegressionTest?AcceptanceTest?【发布时间】:2011-12-0202:50:14【问题描述】:有没有人可以清楚地定义这些测试级别,因为我发现在进行TDD或单元测试时... 查看详情

使用Mybatis和不同DB进行集成测试开发时如何做集成测试

】使用Mybatis和不同DB进行集成测试开发时如何做集成测试【英文标题】:HowtodointegrationtestingwhenusingMybatisanddifferentDBforIntegrationtestinganddevelopment【发布时间】:2018-06-2507:52:34【问题描述】:我正在使用MyBatis开发我的应用程序。现... 查看详情

行为驱动开发是不是使用单元测试或集成(“组装”)测试?

】行为驱动开发是不是使用单元测试或集成(“组装”)测试?【英文标题】:Doesbehavior-drivendevelopmentuseunittestsorintegration("assembly")tests?行为驱动开发是否使用单元测试或集成(“组装”)测试?【发布时间】:2014-05-0304:... 查看详情