集成测试方法浅析

2017-04-14 22:08
电子测试 2017年16期
关键词:测试用例测试方法增量

张 鑫

(江南机电设计研究所,贵州贵阳,550000)

集成测试方法浅析

张 鑫

(江南机电设计研究所,贵州贵阳,550000)

软件开发过程中,为了保证每一功能模块组装在一起后能够很好地协调工作,所以在完成功能模块的单元测试后,需对各功能模块集成后的系统开展系统集成测试。文章以增量式和非增量式两种策略对集成测试的测试方法进行了分类,并对每种方法的测试执行过程、测试方法的优缺点分别进行了阐述。

集成测试;增量式;非增量式

0 引言

集成(Integration)是指把多个单元组合起来形成更大的单元。集成测试(Integration Testing)是在假定各个软件单元已经通过了单元测试的前提下,检查各个软件单元之间的相互接口是否正确,验证模块间的数据传递是否正确;一个模块的功能是否会对另一个模块的功能产生错误的影响;全局数据结构是否有问题,会不会被异常修改;块组合起来的功能能否满足要求;集成后,各个模块的累积误差是否会扩大,是否达到不可接受的程度。选择什么方式把模块组装起来形成一个可运行的系统,直接影响到模块测试用例的形式,所用测试工具的类型,模块编号的次序和测试的次序。

1 集成测试策略和方法

进行软件集成测试的测试用例包括白盒法、黑盒法等多种设计技术。软件集成也有多种不同的策略。这些策略总的来说可以分为非增量方式和增量方式两种。

1.1 非增量方式

为了尽可能缩短测试时间,使用最少的测试用例来验证系统,非增量方式采用先测试好每一个软件单元,然后依次集成在一起再测试整个程序。该方式是一种很直接、原始的集成方式,它把所有通过单元测试的模块一块儿地全部集成在一起进行测试,未考虑组件之间的互相依赖性及可能存在的风险,采用该种方法进行集成测试的优点是可以并行调试所有模块,需要的测试用例数目少,测试方法简单、易行。

1.2 增量方式

增量方式指在集成测试过程中,逐步把一个要被集成的软件单元或部件,同已测试好的软件部件结合起来测试。增量方式主要包括自顶向下、自底向上、自顶向下与自低向上相结合等方式。

自顶向下集成法是一个模块一个模块地集成软件的方法。按照软件控制的结构,从主控模块开始测试,向下地逐个把子模块连结起来进行测试。直至所有模块都已完成组装测试。

自底向上集成方法是从软件结构中最底层的、最基本的软件单元开始进行集成和测试。在逐步向上集成过程中,下层模块总是存在的,不再需要桩模块,但却需要调用这些模块开展工作的驱动模块。

“三明治”方法是一种从两头向中间逼近的混合时集成方法。测试过程为:对上层模块采取自顶向下测试;对关键模块或子系统采取自底向上测试。

2 优缺点分析

2.1 非增量方式

非增量方式进行集成测试的目的是尽可能缩短测试时间,使用最少的测试用例验证系统。该方法的优点是可以并行调试所有模块,需要的测试用例数目少。测试方法简单、易行。缺点是不能充分对各个模块之间的接口进行充分测试。不能很好的对全局数据结构进行测试。测试过程中如果一次集成的模块数量多,集成测试后可能会出现大量的错误。并且修改了一处错误之后,很可能新增更多的新错误,新旧错误混杂,给程序的完善带来很大的麻烦。即使集成测试通过,也会遗漏很多错误。非增量式集成测试方法主要适用只需要修改或增加少数几个模块的前期产品稳定的项目和功能少,模块数量不多,程序逻辑简单,并且每个组件都已经过充分单元测试的小型项目。

2.2 增量方式

2.2.1 自顶向下集成

自顶向下集成的增量集成方法主要是从顶层控制(主控模块)开始,采用同设计顺序一样的思路对被测系统进行测试,来验证系统的稳定性,该方法的优点:

a)在测试的过程中,可以较早地验证主要的控制和判断点。

b)选择深度优先组合方式,可以首先实现和验证一个完整的软件功能,可先对逻辑输入的分支进行组装和测试,检查和克服潜藏的错误和缺陷。

c)验证其功能的正确性,为此后主要分支的组装和测试提供保证。

d)能够较早的验证功能可行性,给开发者和用户带来成功的信心。

e)只有在个别情况下,才需要驱动程序(最多不超过一个),减少了测试驱动程序开发和维护的费用。

f) 可以和开发设计工作一起并行执行集成测试,能够灵活的适应目标环境。

g)容易进行故障隔离和错误定位。

缺点:

a)在测试时需要为每个模块的下层模块提供桩模块,桩模块的开发和维护费用大。

b)底层组件的需求变更可能会影响到全局组件,需要修改整个系统的多个上层模块。

c)要求控制模块具有比较高的可测试性。

d)可能会导致底层模块特别是被重用的模块测试不够充分。

自顶向下集成的增量集成测试方式一般适合控制结构比较清晰和稳定的应用程序和系统高层的模块接口变化的可能性比较小的程序。

2.2.2 自底向上集成

自底向上集成的增量式集成测试方法是从依赖性最小的底层模块开始,按照层次结构图,逐层向上集成,来验证系统的稳定性。

该方法的优点:

a)即使数据流并未构成有向的非环状图,生成测试数据也没有困难。

b)可以尽早的验证底层模块的行为,提高了测试效率。

c)对实际被测模块的可测试性要求要少。

d)减少了桩模块的工作量。

e)容易对错误进行定位。

缺点:

a)直到最后一个模块加进去之后才能看到整个系统的框架。

b)只有到测试过程的后期才能发现时序问题和资源竞争问题。

c)驱动模块的设计工作量大。

d)不能被及时发现高层模块设计上的错误。

自底向上集成的增量式集成测试方法主要适合底层模块接口比较稳定的产品、高层模块接口变更比较频繁的产品和底层模块开发和单元测试工作完成较早的产品。

2.2.3 三明治集成

三明治集成测试方式是综合利用自顶向下和自底向上两中集成测试策略的优点的测试方法,该方法的优点:除了具有自顶向下和自底向上两种集成策略的优点之外,测试过程中还可以运用一定的技巧,减少了桩模块和驱动模块的开发,提高测试效率。但在被集成之前,中间层不能尽早得到充分的测试。该方法适用最广,多数软件开发项目都可以应用此集成测试策略。

3 总结

在软件开发过程中要根据概要设计尽早进行集成测试计划,不同集成测试的策略和方法各有优缺点,所以在选择集成测试策略时,可以根据各种集成测试策略的特点把各种集成测试策略结合起来;并综合考虑软件质量、开发成本和开发进度这三个因素之间的关系,要根据软件的体系结构特点,来选取集成测试策略,尽可能减少桩模块和驱动模块开发的工作量,并同时要兼顾是否容易进行软件缺陷定位。

[1]周燕,宋敬华.面向对象的集成测试测试顺序的研究[J].计算机测量与控制,2010,9.

[2]朱家云.浅析软件测试[J].信息系统工程,2011,4.

[3]刘欣.软件测试方法分析与实践[D].北京邮电大学,2009.

Integration test method is easy to analyze

Zhang Xin
(Jiangnan mechanical and electrical design institute,Guiyang Guizhou,550000)

The software development process, in order to ensure that each function module together after coordination work well, so, after fulfilling the function module of the unit test for each function module integration system to carry out the system integration test. Based on incremental and non incremental two strategies on test methods for the classification of the integration test, and test execution of each method are the advantages and disadvantages of process, test methods, respectively.

integration testing; Incremental; The incremental

猜你喜欢
测试用例测试方法增量
基于泊松对相关的伪随机数发生器的统计测试方法
提质和增量之间的“辩证”
基于SmartUnit的安全通信系统单元测试用例自动生成
“价增量减”型应用题点拨
基于云计算的软件自动化测试方法
DLD-100C型雷达测试方法和应用
基于混合遗传算法的回归测试用例集最小化研究
基于均衡增量近邻查询的位置隐私保护方法
对改良的三种最小抑菌浓度测试方法的探讨
基于依赖结构的测试用例优先级技术