期刊在线咨询服务,发表咨询:400-888-9411 订阅咨询:400-888-1571股权代码(211862)

期刊咨询 杂志订阅 购物车(0)

集成测试模板(10篇)

时间:2022-05-20 22:21:08

集成测试

集成测试例1

中图分类号:TP317文献标识码:A文章编号:1007-9599 (2012) 03-0000-02

Analysis of Integration Testing of Software Testing

Hou Yanfang,Chu Shulai

(Zhoukou Vocational and Technical College,Zhoukou466001,China)

Abstract:The integration testing plays a very important role in software testing,the concept of integration testing,integration testing strategy and the main types of integration testing (phase) briefly discusses the analysis of several key integration testing.

Keywords:Software testing;Integration testing;Call graph;MM-path

软件测试作为软件质量保证的关键技术之一,其目的就是能够有效地发现软件中的错误或缺陷。集成测试是软件测试中处于组件测试和系统测试之间一个非常重要的环节,这是因为所有组件都经过测试并能正常运行并不意味着这些组件放到一起经过集成后还能正常运行,正是基于这一点,很多大的软件公司成立了专门关注集成测试的测试团队,如能恰当实施,集成测试能大大减少一些在系统测试阶段才会发现的缺陷。

一、集成测试的概念

(一)集成测试的定义

集成测试是构造软件体系结构的系统化技术,同时也是进行一些旨在发现与接口相关的错误的测试。其目标是利用已通过单元测试的构件建立设计中描述的程序结构。

(二)集成测试遵循的原则

集成测试遵循的原则主要包括:所有公共接口都要被测试到;关键模块必须进行充分的测试;集成测试应当按一定的层次进行;集成测试的策略选择应当综合考虑质量、成本和进度之间的关系;集成测试应当尽早开始,并已总体设计为基础;在模块与接口的划分上,测试人员应当和开发人员进行充分的沟通;当接口发生修改时,涉及的相关接口必须进行再测试;测试执行结果应当如实的记录;集成测试应根据集成测试计划和方案进行,不能随意测试;项目管理者应保证审核测试用例。

(三)集成测试的任务

集成测试的主要任务包括:将各模块连接起来,检查模块相互调用时,数据经过接口是否丢失;将各个子功能组合起来,检查能否达到预期要求的各项功能;一个模块的功能是否会对另一个模块的功能产生不利的影响;全局数据结构是否有问题,会不会被异常修改;单个模块的误差积累起来,是否被放大,从而达到不可接受的程度。

(四)集成测试的文档

软件集成的总体计划和特定的测试描述应该在测试规约中文档化。这个文档包含测试计划和测试规程,它是软件过程的工作产品,也是软件配置的一部分。

下列准则和相应的测试可应用于所有的测试阶段:接口一致性。当每个模块(或簇)引入程序结构中时,要对其内部和外部接口进行测试;功能有效性。执行的测试旨在发现功能错误;信息内容。执行的测试旨在发现与局部或全局数据结构相关的错误;性能。执行的测试旨在验证软件设计期间建立的性能边界。

测试计划主要包括:集成测试的进度,确定每个阶段的开始和结束时间;附加软件(桩模块及驱动模块)的简要描述侧重于专门进行的工作的特征;描述测试环境和资源;特殊的硬件配置、特殊的仿真器和专门的测试工具或技术也是需要讨论的问题;详细测试规程。

测试规约:集成策略(包含在测试计划中)和测试细节(在测试规程中描述)是最基本的成分,因此必须要有。

二、集成测试的策略

驱动模块(Driver):用来模拟待测模块的上级模块。驱动模块在集成测试中接受测试数据,将相关的数据传送给待测模块,启动待测模块,并打印出相应的结果。桩模块(Stub):也称为存根程序,用以模拟待测模块工作过程中所调用的模块。桩模块由待测模块调用,它们一般只进行很少的数据处理,例如打印入口和返回,以便于检验待测模块与下级模块的接口。

一般可分为非增量集成和增量式集成,其中增量集成指的是程序以小增量的方式逐步进行构造和测试,这样错误易于分离和纠正,更易于对接口进行彻底测试,而且可以运用系统化的测试方法,传统的将增量测试策略分为自顶向下集成、自底向上集成以及三明治集成。

三、集成测试的主要类型(阶段)

(一)基于功能分解的集成

在讨论集成测试时,测试方法都基于采用树或文字形式来表示的功能分解。这类讨论不可避免地要深入到将要集成的模块的顺序。

1.自顶向下集成(从树顶开始向下)。深度优先集成是首先集成结构中主控路径下的所有模块。

2.自底向上集成(从树底开始向上)。自底向上集成是自顶向下顺序的“镜像”,不同的是,桩由模拟功能分解树上一层单元的驱动模块替代。在自底向上集成中,首先从分解树的叶子开始,并用特别编写的驱动模块进行测试。驱动模块中的一次性代码比桩中的少。大多数系统在接近叶子节点时都有相当高的扇出数,因此在自底向上集成顺序中,不需要同样数量的驱动模块,不过代价是驱动模块都比较复杂。

3.三明治集成(前两种方法的某种组合)。三明治集成测试是将自顶向下测试与自底向上测试两种模式有机结合起来,采用并行的自顶向下、自底向上集成方式,形成的方法。三明治集成测试更重要的是采取持续集成的策略。桩和驱动的开发工作都比较小,不过代价是作为大爆炸集成的后果,在一定程度上增加了定位缺陷的难度。

(二)基于功能分解方法的优缺点

1.自顶向下集成,其优点:在于它可以自然地做到逐步求精,一开始就能让测试者看到系统的框架。缺点:需要提供桩模块,桩模块是对被调用子模块的模拟,可能不能反映真实情况,因此测试有可能不充分。

由于被调用模拟子模块不能模拟数据,如果模块间的数据流不能构成有向无环图,一些模块的测试数据便难以生成。同时,观察和解释测试输出往往也是困难的。

2.自底向上集成,其优点:由于驱动模块模拟了所有调用参数,即便数据流并未构成有向无环图,生成测试数据也没有困难。如果关键的模块是在结构图的底部,那么自底向上测试是有优越性的。缺点:直到最后一个模块被加入进去之后才能看到整个程序(系统)的框架。

3.三明治集成测试采用自顶向下、自底向上集成相结合的方式,并采取持续集成的策略,有助于尽早发现缺陷,也有利于提高工作效率。

4.功能分解缺点。为了满足项目管理的需要,而不是为了满足软件开发人员的需要。桩或驱动的开发工作量,此外还有重新测试所需工作量的问题。对于自顶向下集成,需要开发(节点-1个)桩模块;对于自底向上集成,需要开发(节点-叶子)个驱动模块。

(三)基于调用图的集成

基于调用图的集成一般分为成对集成和相邻集成。基于调用图方法的优点:偏离了纯结构基础,转向行为基础,因此底层假设是一种改进;这些技术还免除了桩/驱动器开发工作量;与以构建和合成为特征的开发匹配得很好。缺点:缺陷隔离问题,尤其是对有大量邻居的情况;清除缺陷后,意味着以前测试过的包含已变更代码的邻居,都需要重新进行测试。

(四)基于路径的集成

将集成测试的侧重点由测试单独开发并通过测试的单元之间的接口,转移到这些单元的交互上,即它们的“协同功能”上。接口是结构性的,而交互是功能性的。

MM-路径是功能性测试和结构性测试的一种混合,其优点:它与实际系统行为结合紧密,而不依赖于基于分解和调用图集成的结构性推动。基于路径集成测试也适用于面向对象的软件测试。缺点:需要更多的工作量标识MM-路径。这种工作量可能会与桩和驱动的开发所需工作量有偏差。

(五)面向对象环境中的集成测试

两种不同的策略:

1.基于线程的测试(thread-based testing)。

2.基于使用的测试(use-based testing)。

驱动程序和桩程序:驱动程序可用于测试低层中的操作和整组类的测试。驱动程序也可用于代替用户界面以便在界面实现之前就可以进行系统功能的测试。桩程序可用于在需要类间的协作但其中的一个或多个协作类仍未完全实现的情况下。

四、结语

集成测试既是一种测试类型也是一个测试阶段,因为集成定义为一组交互,因此组件之间的所有已定义的交互都需要测试,体系结构和设计可以提供系统内部的交互细节,但是测试一个系统与另一个系统之间的交互要求对这些系统一起工作的方式有深刻理解,此时的集成测试是一个阶段。由于集成测试的目标是模块之间的交互,这种测试就像白盒、黑盒及其它类型的测试一样,也有一套技术和方法,因此集成测试也被看作是一种测试类型。

参考文献:

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

[2]张云岗,刘春茂.软件测试技术浅析[J].技术与市场,2011,2

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

[4王丽达.论软件系统的测试[J].经济研究导刊,2011,14

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

集成测试例2

使用UML活动图表和美科利质量中心的详细步骤如下:

1.确认模块:小组首先应该对系统进行分析,把系统细化成逻辑分类、模块和子模块。子模块应该是一些小型的、可管理的组成部分,可以便捷地添加入活动图表中。每个子模块都分配有一个特定ID。

2.描绘活动图表:使用Visio,为每个子模块创建一个详细的UML活动图表。每个活动图表显示用户和系统的系列行为,如“用户做了x”,接下来“系统做了y”,并且显示各类判断点。由于在美科利质量中心里创建和维护测试案例(TC)和测试包(TS)所依照的主要文档是活动图表,因此在任何数据输入到美科利质量中心之前,必须确保活动图表的正确性和完整性。接着围绕每个逻辑测试案例画一个虚线框,并标以TC01、TC02、TC03,依此类推。这些测试案例为步骤4中的测试包(测试场景)提供构建模块。

在活动图表中定义的测试案例和在美科利质量中心的TestDirector中创建的测试案例之间存在一对一的对等关系。为了避免错误,需要将Visio活动图表中的内容复制和粘贴到美科利质量中心内。在活动图表中,每个测试案例可以由若干验证点所组成。在美科利质量中心内,每个验证点都以独立的测试步骤输入,从而确保通过/失败可以互为分离。

3.输入测试案例:一旦在活动图表中确定了测试案例,就在美科利质量中心的测试计划树型图中为每个测试案例创建节点。这些测试案例节点应该显示在他们各自的子模块节点下。接着通过复制和粘贴活动图表中的内容,为每个测试案例输入测试步骤。

4.集合测试案例,形成测试包:在美科利质量中心的测试实验室树型图中,为每个处于相应模块节点下的测试包创建节点。一个测试包―或测试场景由两个或多个测试案例所组成,他们被联系在一起用于测试某个子模块的特定区域。通过查看活动图表,QA分析人员可以初步了解需要多少个测试案例组合才能全面测试一个子模块。

例如,如果图表显示TC01紧随其后是TC02,接着分叉至TC03、TC04和TC05,那么分析人员将要创建一个数据包,把TC01、TC02和TC03联系在一起,另外一个数据包把TC01、TC02和TC04联系起来,依此类推。这种测试包创建过程要涵盖所有的合理组合。通过这种方式,才能用测试案例库开发足够多的测试场景,从而确保全面、有效和系统的展开测试。

5.为测试包安装数据文件:在每个测试包中,有些测试案例可能需要数据文件,如用户输入的或系统检测的数据值。根据要求将这些值输入美科利质量中心的测试实验室。

6.执行测试包:无论从Execution Grid tab,还是从Execution Flow tab中,点击“运行”按钮来执行整个测试包或者单单执行测试包中的某些测试案例。在每个测试案例实现自动化之前,建议使用美科利TestDirector,对每个测试案例至少执行一次成功的手动测试。

7.为每个测试案例编写自动化脚本:一旦测试案例至少经历了一次手动运行,就要为测试案例创建一个自动化脚本。由介于测试案例层面上的美科利TestDirector来生成自动化脚本。使用了美科利QuickTest Professional。当然,任何美科利TestDirector支持的自动化工具都可以被使用。

由于创建各种测试包组合需要多次使用测试案例,每个测试案例和自动化测试脚本都是可重复使用的组件。这样不仅理顺了测试包的开发过程,也提高了维护工作的效率。对测试案例所作的任何变更都会自动反映在使用该测试案例的所有测试包中,从而避免了在多个方位更新相同的信息。

美科利TestDirector架构的客户定制

实施了美科利TestDirector的客户定制,下面是变更的详细过程:

测试包的创建和脚本的选择

测试包的结构如下所示 :

Initialize Environment

Test Script Instance_1

Test Script Instance_2

Test Script Instance_N

InitializeEnvironment是一种特殊的脚本,用于处理测试包执行时的所有初始化需求。使用脚本的确切方位由设定在美科利QuickTest Professional中的执行参数决定。当创建测试包、并且还没有相关测试数据时,使用美科利TestDirector OTA APIs可以自动将脚本加入测试包。

测试包创建完成后,测试人员可以根据需要添加测试案例。在添加每个测试案例时,用已经编写的工作流代码来验证该测试案例是手动的还是自动的。如果是自动测试案例,就执行工作流代码,确定在测试包中加入什么测试。工作流代码还能连接自动化脚本所在的美科利TestDirector服务器,并将默认数据表格附加到测试实例中(test instance)。默认数据表格确定某个特定测试需要执行哪些条目,但是它不包含任何测试数据。

在脚本开发的同时,文档定义也完成了。在默认数据表格附加到测试实验室中的测试实例上时,用户可以打开该文档,为该测试实例添加所需的任何测试数据。这样,该机构可以增加既简单又灵活的框架――每个测试包将拥有多个测试脚本实例,但是这些实例可以单独执行,给出独立的测试数据。当测试人员增加数据包,并且添加测试数据时,可以使用美科利TestDirector中的附件数据表格,输入数据,保存文件,并再次上传。如果增加的是手动测试,以上这些步骤都不需要。

测试实例

测试包中其它所有的脚本都是测试案例的实例,可以分成四个部分:

初始化和预处理

由于是一家大型网站,业务遍及多个国家,需要通过一种方法来创建一套可以让位于不同国家的小组成员都能使用的脚本。由于美科利QuickTest Professional中的内置数据库检查不允许联结字符串的参数化,无法实现在多个方位展开数据库验证任务。但是,公司通过内置的对象存储库(object repository),在用户端界面上实现了这个目标。

小组通过在使用ADO的VBScript中创建定制等级,以及通过使用测试包中的用户定义域来说明联结字符串的组件,很好地解决了这个问题。小组将它们作为其全球变量,因为美科利QuickTest Professional不允许跨脚本实例的全球变量。这些用户定义域是DatabaseChecks、DBDataSource、DBSchemaName、DBPassword和Country。

在执行测试包中的测试实例时,首要任务就是调用内部库中的一个功能,将这些变量值读入OTA中,并存储在Dictionary object中。小组就可以给这些全球变量加上可读的注释(如:GlobalVariables.Item (“DatabaseChecks”))。该阶段还有一个任务就是导出附件数据表格,当该特定测试案例的测试数据在美科利QuickTest Professional中上传并在测试中使用后,就可以导出数据表格。

测试脚本主体

在该测试阶段执行测试步骤。

后端数据库验证

脚本的这个阶段中,执行所有需要的数据库验证。在测试脚本初始化和预处理阶段所读入的记号和联结字符串组件都在该阶段被使用。此外,测试检查DatabaseChecks定义域是否被设定成“TRUE”。如果是的话,就知道存在需要执行的数据库检查任务。接着,测试可以例示数据库等级,从数据表格中读入预期的结果,并验证这些值。所有这些在数据库等级中都被定义成可重复使用的方法。

整理和后期处理

测试已执行完成,在对测试包中的下一个测试实例进行测试之前,应该对前一测试进行整理。需要一种方法来巡视AUT中的适当方位,因此小组在内部库中创建了一个功能,使用美科利TestDirector OTA API’s来观测数据包中下一数据实例的名称。测试名称的前三位字母决定了测试人员应该巡视的具体方位。如果下一个测试案例名称的前三位字母和当前的不一样,那就执行代码将AUT移入合适的方位。如果相同的话,无需进行任何操纵,因为在用户界面的正确方位上测试已经展开了。

集成测试例3

示波器功能集成化

集成化已经成为未来示波器产品主要的发展趋势。拥有一台示波器,就意味着同时拥有了函数发生器、任意波形发生器、数字万用表、频谱分析仪、数字记录器和协议分析仪等测试仪器功能,同时也会内置诸如配套培训、软件工具支持等功能。赛迪顾问调查显示:在众多集成功能中,用户较为关注的是配套培训、文本下载及按键记录和软件工具支持三项功能。

2007年泰克推出MS04000混合信号示波器即是示波器产品功能集成化的集中体现。该MS04000系列混合信号示波器把先进的实时示波器、逻辑分析仪及突破性的Wave Inspector波形搜索引擎三种强大的功能融合到一个小型轻便的便携式嵌入式设计和调试设备中,以满足设计检验和测试需求。同时安捷伦、力科等测试测量厂商也在积极利用核心技术将更多功能集成于一台仪器之中,实现测试测量仪器集成化发展。

随着虚拟技术、数字信号处理技术(DSP)、多核处理器等技术的发展,以及用户需求的提升,相信未来市场中,将会有更多功能集成化的示波器产品涌现。而示波器也有望成为测试测量领域的“集大成者”。

示波器市场地位举足轻重

集成化发展促使示波器产品在测试测量领域的市场地位日益受到厂商和行业用户的重视。赛迪顾问研究数据显示,2007年示波器在中国通用测试市场产品中占据33.9%的份额,相比2006年其市场比重有所上升。这进一步说明示波器在整体测试测量仪器产品中的市场地位逐渐增强。未来随着示波器各行业用户需求的不断提升及相应性能的不断完善,示波器在整个测试测量行业中的重要作用将日益凸显。

集成测试例4

中图分类号:TN407 文献标识码:A 文章编号:1007-9599 (2012) 13-0000-02

一、集成测试的一般定位及范围

随着软件行业的发展,软件系统涵盖了日常生活、生产的各个方面,复杂的软件系统的测试保证越来越成为实现软件需求目标的重要方面。

软件测试根据测试介入时机和测试对象的范围,一般可分为:单元测试、集成测试、系统测试。其中,集成测试是在单元测试的基础上,将所有模块按照设计要求组装成为子系统,进行集成测试。实践表明,一些模块虽然能够单独的工作,但并不能保证连接起来也能正常的工作。 程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。图1为不同开发阶段驱动的测试类型图。

不同类型的测试的实质是选取不同的测试范围和对象,对对象的属性 (功能分支及其他属性)进行验证的过程。好的测试是针对测试目标选取一个较优的测试对象及范围的组合,以获得较高的测试投入与产出比例,通过对测试目标实现尽量完整的测试覆盖度, 达成测试目标。软件测试没有绝对的覆盖,也不存在无尽的测试资源。

传统的集成测试,属于白盒测试的一种。其主要的问题包括如下方面:

1.较大的测试开销:由于集成测试采用将一个实体分解为多个实体的方式进行,测试接口的数量成级数增加,开销较大,通常的集成测试都是选择性的针对核心功能模块进行。

2.测试输入及构建要求较高: 软件测试总是基于一定的测试输入基础,这里的输入,主要依赖于开发过程。由于软件工程化开发的不同水平,集成测试往往难以获得完整的设计输入,同时由于软件设计成熟度的限制,导致模块级设计的变更频繁,这些都加剧了测试需求输入的恶劣和不可控。同时由于集成测试需要构建模块级的数据环境,属于白盒测试,测试技能要求,测试时间消耗都较大,也是其难以实现高效应用的原因之一。

二、系统级集成测试

(一)系统级集成测试的特点

为了获得更好的测试效益,我们提出一种基于系统级设计构建集成测试的思路。传统集成测试主要以软件模块为测试实体对象,将产品系统打开,基于内部接口和模块级运行环境进行测试设计。系统级集成测试从本质上与传统集成测试基本一致,但是其分析方法,更多强调与系统运行的场景、业务行为、事件对软件运行的影响以及场景异常的构建。

(二)系统级集成测试的对象

系统级集成测试捕获的问题对象本质是数据接口关系,主要分为3种类型,如下图所示:

1.外部输入关联

如图2,次功能模块b的输出是主功能模块a的输入。 整个系统功能自然的形成这种接口关系。例如:初始化是系统的数据准备、装载过程;业务功能消费这些数据。

2.内部输入关联

如图2中,主功能模块的输入条件,除了界面输入,还有一些内部数据输入。这些数据输入可以通过次功能c来构造。 通过次功能c的构造,能够实现对功能a更加完整的分支覆盖。 典型的例子是:业务通讯过程,依赖于其保护密钥的更换功能,这里的保护密钥就是内部输入关联的数据。

3.背景数据依赖

这种集成关系常常是: 基于系统全局的接口,在某种功能分支运行下,发生变化,进而影响主功能模块的运行。例如某个背景数据a是主功能的依赖数据,数据a可能因为某些功能运行或者某些事件改变。从而影响主功能的运行。

例如: 某个应用系统某数据的生产任务已经启动了,但一段时间后该应用系统被删除。则其对应的数据如果没有设计回收机制,就会形成冗余数据,这些数据占据了空间,但是没有被使用。这种情况也可以被理解为一种异常测试。

集成测试所捕获的问题主要来自于上述3种情况,而这些问题,常常是最容易出现测试逃逸的方面。

三、系统级集成测试的分析方法

系统级集成测试分析依赖于白盒接口分析、黑盒场景分析2方面的有机结合,接口分析的目的是分析明确集成测试的边界和目标;而场景分析则帮助我们获得高效的需求选择依据,选取最重要的测试需求。

(一)接口分析

通过对系统级功能核心接口数据进行分析,明确集成测试的实体范围及测试的目标分支。

根据上述2.2节的分析,集成测试的本质是捕获模块内部分支上的bug,所以,集成测试分析首先应明确测试功能或模块对象,以及与之存在接口关系的相关功能或模块对象,形成功能簇。功能簇有2种来源方式:

1.由软件概要设计文档,软件分支流程图,而导出的数据接口关系。在软件系统设计中,各个分支所共有的数据以及数据接口关系,就是要测试的目标。

2.基于系统业务而划定的一组关联功能,这些共同实现某种业务的功能,通常具有密切的数据接口,输入与消费的关系。

功能簇的选取,应针对每个重点的核心功能,逐一进行分析,形成若干功能簇。这里的核心功能,常常是那些系统中,长期或者频繁运行的,与核心业务密切相关的功能。如管理系统的管理服务端,通信系统中的业务通讯功能。

(二)场景化分析

通过接口分析,明确了测试的目标接口;而动态的场景分析,则是有效的选取、过滤这些接口获得最优测试覆盖率的手段。同时也对系统级的主要异常测试设计提供的依据。

测试中常常提到分支覆盖、语句覆盖,其实最有效的是场景覆盖。因其视角最高,也能获得最好的覆盖效率。

场景分析的要素包括:业务模型、应用模式、承载环境等。是对于软件系统完整运行环境的建模和构建。

下表列出了典型的加密通信系统的主要业务及场景的关联分析表:

四、结束语

集成测试例5

中图分类号:TM734

相对来说,在过去的工作当中,科研人员也曾经将数控技术和监视控制系统等一些高科技产品、技术、系统进行融合,但是得到的效果并不理想。往往的情况都是,系统之间、技术之间会发生一些冲突,如果完全取消冲突,那么最后的功能性和适用性就会下降,不仅影响工作效率,同时对经济效益的影响也很大。在这种情况下,部分研究工作便搁置下来。SCADA主站系统集成测试技术的出现,打破了传统科研上的界限,使原来搁置的工作能够重新进行。在此,本文主要对SCADA主站系统集成测试技术进行一定的研究。

1 SCADA主站系统集成测试内容

1.1 单元测试

对于SCADA主站系统集成测试技术来说,要想得到一个理想的结果,首先需要对系统集成测试的内容有所了解。在此,本文对单元测试进行一定的阐述。单元测试是整个系统集成测试的基础部分,其主要目的在于,检验软件模块的设计以及开况。各个部分的工作人员以及测试人员,通过开发测试环节进行相对的测试,发现问题或者指标不对,及时进行调整,以免影响开发进度。另一方面,集成测试也有目的,主要是为了检验子部软件模块的集成情况。由于SCADA主站系统集成测试技术比较先进,任何一个细节都有可能对总体的性能和效果产生影响,因此在日后的研究工作当中,我们需要将重点放在测试子部件的接口功能上,通过相对应的测试环境进行测试工作,这样既能避免一些外界因素的影响,同时在测试结果上也可以提高精确度。

1.2 主站系统的集成测试

对于系统的测试来说,除了要在上述的单元测试上努力,还要在主站系统的集成测试上努力。就目前的情况来说,SCADA主站系统集成测试技术已经到了一个非常关键的时期,主站系统的继承测试对最后的成果具有决定性的影响,如图1所示:

图1 主站系统集成测试内容

从目的来看,此项测试主要考察的是系统的整体性能指标,因为系统在最后应用的时候,所有的指标都要达到预期的要求,否则将视为失败。图1表示的系统集成测试的主要内容,从图中可以清晰的看到,测试内容较多,并且在很多方面都需要利用多种测试方法来进行。比方说,在性能指标的测试当中,除了要考察主站系统的基本时间相应指标以及容量指标,工作人员还要对系统的负荷率以及软件的编程质量进行仔细的考核。由于SCADA主站系统集成测试技术是由多个环节组成的,并且在各个方面都集结了相关领域的高精尖产品和技术,为了保证不再发生任何的冲突,因此必须对每一个部分都进行完善的测试,力求在根本上提高系统的性能,在未来的应用当中,也可以创造更大的效益。

2 主站系统的集成测试方法

在SCADA主站系统集成测试技术的研究过程中,要想让每一个指标都合格,就必须全面测试,尤其是一些细节部分,这些既是SCADA主站系统集成测试技术的关键部分,也是容易出现问题的部分。在总体的系统当中,任何一个细节都具有“牵一发而动全身”的效果。所以,在实际的测试工作中,必须采用针对性的方式来进行。在此,本文对主站系统的集成测试方法进行一定的阐述:

2.1 性能响应指标测试

对于任何一个系统来说,性能响应指标测试都是不可或缺的重要测试之一,此项测试既要符合现阶段的发展情况,同时又要对未来做出一定的估量。随着社会的不断发展,很多企业对系统的要求都在提高,性能响应就是其中一个非常重要的方面。相对来说,响应性能指标如果能够提升,将大大加快系统的工作效率,为企业带来更多的收益。本文认为,在性能响应指标测试当中,除了测试一般的指标之外,还要看它在满负荷以及超负荷下指标的工作情况。通常情况下,如果系统是满负荷的状态,测试各项性能指标都不能超过25%,并且满负荷与超负荷是以主站系统的设计容量为分界线。

表1 主站时间响应性指标

主站性能指标 正常状态(响应时间S) 满负荷(响应时间S)

功能窗口调用

实时信息变化

告警显示

事故画面推出

双机切换

2.2 容量指标测试

容量指标测试在总体的工作当中,并不是特别困难,但却需要严格的按照规范来操作。首先,容量接入远动终端数量必须满足设计的基本要求;其次,介入的量测数量也要满足设计的要求。对于目前的工作来说,任何一个环节都要达到基本要求,同时还要有所提高,如果仅仅是达到基本要求,那么容量指标的测试结果一定不会太理想,甚至会对后续工作产生不良影响,所以在这个方面,要不断的提升。

2.3 系统负荷率指标

SCADA主站系统集成测试技术在实际的应用当中,需要根据不同的工作环节,发挥不同的作用。上述的两个部分在实际的研究工作当中,都占有核心地位,但是如果仅仅依靠上述两个指标,就判定SCADA主站系统集成测试技术合格,是不够的。我们还需要对系统负荷率指标进行一定的测试:首先,在正常的工作情况下,CPU负荷率的测试工作,可以利用操作系统自带的系统性能分析工具来完成,这样不仅省时省力,同时在结果方面也比较可行;其次,网络负荷率的测试工作也是不可忽视的一面,工作人员需要对主站系统进行各种各样的操作,详细的记录和观察结果,通过网络性能测试仪来监测网络负荷率的变化情况。

3 结束语

本文对SCADA主站系统集成测试技术进行了一定的研究,从目前的情况来分析,测试技术比较成熟,并且在很多的方面都表现出了较大的优点,是值得肯定的。在未来的工作当中,需要加强细节方面的工作,避免对系统的性能和未来的应用范围产生影响。

参考文献:

[1]宋璇坤,李敬如,肖智宏,林弘宇,李震宇,邹国辉,黄宝莹,李勇.新一代智能变电站整体设计方案[J].电力建设,2012(11).

[2]陈宏,黄国方,陈金猛,夏勇军.基于IEC 61850的变电站二次系统工程调试与质量控制[J].电力建设,2012(09).

[3]王洪帅,徐青山,袁宇波,张小易,高磊,宋亮亮.智能变电站非对称式光纤差动保护同步性测试方法[J].电力系统自动化,2011(18).

[4]王婷婷.SCADA系统中数据传输安全性研究[D].华东理工大学,2013.

[5]刘东,闫红漫,丁振华,袁智强,王勇.SCADA主站系统集成测试技术研究[J].电网技术,2005(02):62-67.

集成测试例6

引言

随着我国工业社会的不断发展,科技的不断进步,对于集成电路的改进也越来越频繁。以前一个小小的集成电路只能容纳十几个晶体管,但是随着集成电路在新技术的改进下,目前已经可以容纳数十万个晶体管,促进了集成电路的应用与普及范围,但同时,以前一个集成电路出现问题,只要检查十几个晶体管就能解决集成电路出现的故障,但是现在,对于一个集成电路十几万个晶体管,传统的集成电路故障测试与诊断方法难以满足需求,必须要对集成电路的测试与故障诊断方法进行改进,以满足工业发展的需求。

1 集成电路基本简介

集成电路(integrated circuit)是一种微型电子器件或部件。采用一定的工艺,把一个电路中所需的晶体管、电阻、电容和电感等元件及布线互连一起,制作在一小块或几小块半导体晶片或介质基片上,然后封装在一个管壳内,成为具有所需电路功能的微型结构;其中所有元件在结构上已组成一个整体,使电子元件向着微小型化、低功耗、智能化和高可靠性方面迈进了一大步。它在电路中用字母“IC”表示。集成电路发明者为杰克・基尔比(基于锗(Ge)的集成电路)和罗伯特・诺伊思(基于硅(Si)的集成电路)。当今半导体工业大多数应用的是基于硅的集成电路。是20世纪50年代后期-60年展起来的一种新型半导体器件。

2 集成电路测试与诊断方法存在的问题

随着科技的不断进步,传统的集成电路测试与诊断方法的弊病也显露出来了,那么作者下面将主要总结目前集成电路测试与诊断方法存在的问题。

2.1 电压测量的逻辑诊断适用范围窄

从集成电路诞生的那一天起,基于集成电路故障检测的电压测量逻辑诊断方法就成为集成电路故障检测的专用方法,但是电压测量的逻辑诊断方法在目前数字化集成电路面前显得有些无能为力,基于电压测量的逻辑诊断方法不能有效的对集成电路的故障进行准确定位,还需要进行人工测量后才能得知出现故障的地方,延长了集成电路的维修时间,同时对于某些类型的故障,如开路故障、桥接故障、延时故障等,一些传统的基于逻辑值地测试方法就显得无能为力了。

2.2 对于电路的冗余部分不能检测出来

随着集成电路使用和普及范围越来越广,人们基本会在集成电路中增加一部分冗余电路,以保障集成电路的正常使用。冗余电路其实就是集成电路的备用电路,在目前集成电路设备中,都会有一部分的备用电路以备使用。但是冗余电路虽然能够提高集成电路的使用,避免集成电路出现故障时造成使用不便,但是这对于集成电路故障的诊断造成了一定影响,因为在集成电路出现故障时,冗余电路就会代替集成电路进行工作,并不会提醒人们集成电路出现故障,同时传统的基于电压的测试方法是无法检查冗余电路故障的。

2.3 集成电路的检测方法少

现阶段,对于集成电路测试与故障的检测方式主要有传统的基于电压的测试方法、以及基于数字模型的检测方法、故障字典法这几种,虽然对于集成电路的故障都能够进行检测,但是随着在集成电路技术的发展,故障也在发生变化,传统法的集成电路检测方法并不能适用于未来的集成电路故障检测,集成电路测试与故障检测方法比较少,同时创新能力也不够,延长了集成电路的维修时间。

3 集成电路测试与诊断方法的改进

3.1 基于静态电流故障的诊断方法

随着科技的进步,集成电路也在不断发展和更新,因此对于集成电路测试与故障诊断的方法也要有所改进,基于电流故障的诊断方法是目前比较流行的。集成电路中的电流一般比较小,通常不会超过500毫安,但是在集成电路出现故障时,电流量会急速增加,这对于集成电路的故障检测是比较明显的,并且基于电流故障的诊断方法也能测出电路的冗余部分是否出现故障,解决了逻辑电压检测方法的不足之处。

3.2 基于动态电流故障的诊断方法

虽然动态电流故障检测与静态电路故障检测同属于电流检测方法,但动态电流故障检测方法相比于静态电流故障检测要更加正确,因为动态电流覆盖集成电路的面积更广,集成电路的故障检测也更加全面,动态电流的波形包含的电路信息更多,为CMOS电路、模拟电路、数模混合电路的故障诊断提供了丰富的数据。

3.3 故障字典检测方法

故障字典检测方法是目前最常用的一种集成电路测试与故障检测方法,顾名思义,故障字典法就是采取像查阅字典一样的方式对集成电力的晶体管进行一一检测,来确定出现故障的准确位置,这样对于集成电路的故障检测更加准确,故障字典法就是先提取集成电路的所有故障特征,根据出现故障的特征查找集成电路出现的问题,用户只需要输入集成电路出现的问题,故障字典法就能第一时间知道集成电路出现的问题,大大提高了集成电路故障检测效率,集成电路的诊断更加智能化。

4 结束语

集成电路的测试与故障诊断技术的研究和应用对增强集成电路的可维护有很重要的意义,故障诊断可以在测试结果的基础上,分析故障产生的原因和位置,更加有利于提高国家的效率,也是集成电路设计的趋势之一。文章介绍了故障诊断的常见策略。基于电流的集成电路诊断方法将是今后研究和应用的热点。

参考文献

[1]于云华,石寅.数字集成电路故障测试策略和技术的研究进展[J].电路与系统学报,2014,9(3):83-91.

[2]朱启建,邝继顺,张大方,一种用于动态电流测试的故障模拟算法[J].计算机工程与科学,2014(9):12-14.

集成测试例7

分离的测试方法对于语音应用是可行的,但是由于空中接口(air interface)的特性可能会使无线应用的数据发生衰减、失真和延迟,甚至达到失效的地步,这样一来分离测试的方法就无法胜任了。无线数据设备中的软件和硬件需要在一种“真实”的网络环境中进行联合测试,测试过程要像一名真正的用户在使用该设备一样。在设计的集成与验证阶段,测试工作被赋予了新的重要意义,必须要验证终端用户对最新高速数据应用的使用体验。

五个阶段

移动设备的研发周期可以从广义上分成五个阶段:设计、系统集成与验证、前一致性(preconformance)验证、一致性(conformance)验证、互操作性。每个阶段都有自身的测试需求,研发周期中所涉及的每个设计小组都有自己的测试过程和首选的测试方法。

满足各个阶段测试需求需要多种测试设备,其中主要的测试仪器包括脚本生成引擎、射频参数式测试仪和堆栈式信号测试仪。我们主要关心系统集成与验证测试工作中所涉及的这三类测试。

在系统集成与验证阶段,各个阶段的设计人员集中在一起对软件和硬件进行集成。他们需要检验各个组成单元的基本功能,验证射频与模拟器件的功能,检验设备在真实环境下的工作情况,当对设计进行修改之后还要进行回归测试(regressiontesting)。在这一阶段,在操作网络环境下测试移动部件是非常必要的。

真实条件下的测试

为支持移动数据服务,嵌入式软件的数量大大增加。例如,3G设备中可能会包含数百万行的程序代码,而原来的2G设备中所需的代码只有几千行。

为了实现互联网协议功能,应用程序栈是与信号协议并行运行的。当把应用集成到设备之中时,设计者必须确保所有的功能仍然能够正确实现。

这是通过对部件施加测试激励,测试诸如丢包率、数据吞吐量和延迟等参数来实现的。测试工作必须在尽可能接近真实的环境下进行,要使用真正的IP数据通信。

进行激励测试的一种办法就是在真实网络中进行。但是,寻找一个商用的运行网络并在各个测试阶段走出实验室进行测试并不是最可行的方法。设计者可能会受限于网络的技术格式,无法控制测试环境。

另外一种更适合于实验室测试的方法是采用一体式测试装置,这种测试装置同时具有射频和协议分析功能,能够代替真实的射频网络,作为一个基站仿真器来使用。设计者可以监测各个部件来回传输的信息,修改各种网络参数,例如射频功率、数据编码结构、数据速率和时隙(time slots)数量等。

安捷伦公司推出的8960无线通信测试装置能够运行预置调制格式的实验室应用程序,针对GSM/GPRS,EDGE、CDMA2000、lxEV-DO、W-CDMA和HSDPA技术,实现语音、视频、IP和通信应用的仿真测试功能。

该装置所具有的一套射频测试功能将参数化测量功能和首层性能测试结合起来,能够针对预定的访问信道评测无线设备的性能。

解决复杂的性能问题

在集成与验证测试工作的早期,设计者往往觉得记录协议交换信息对于优化设计或者调试错误非常有帮助。协议记录工具必须要能够实时地记录第1、2、3层的协议消息。

在设计调试过程中,测试工具还应该具备用户预定的触发与过滤功能,以帮助设计者隔离某些特殊的问题。两台测试装置进行同步记录的功能对于评测Inter-RAT handover性能是非常有用的。

在这一测试阶段,很多细微的和不是非常细微的性能问题就会出现。交换(handover)是一种非常复杂的数据调用,也是一个常见的问题来源。同时使用多个测试装置进行双单元(two―cell)仿真是实现真实交换测试的基础。

随着3G网络数据速率的增大,设计者还必须解决移动设备失效的问题,这种问题只会随着和数据吞吐量的增大而涌现出来。即使由于大气干扰而使信号发生干扰和衰落,设计者都必须搞清楚其产品中所用的微处理器是否能够处理所有输入和输出该设备的数据信息。

当做完基本的无线设计功能验证之后,设计者还必须确保:当把该移动设备接入不断扩容的个人电脑和操作系统网络中时,为终端用户提供的应用程序仍然能够正确工作。在3G蜂窝网络中传输高速的数据将会给终端用户的使用带来问题,因为大多数PC操作系统无法处理移动网络传送的数据。

随着数据速率的增加,这些问题将变得更加糟糕。网络仿真器和移动设备仅仅是整个移动数据系统中的两个组件,若想检测整个系统的问题就会给设计者提出更大的新挑战。

8960测试装置中的数据吞吐率监视器能够对发射器和接收器信道上的无线和IP数据吞吐率进行测量。设计者能够把超过实际网络性能指标的数据速率作为激励加载给待测设备,对于HSDPA能够测试高达3.6Mb/s的数据速率,对于lxEV-DO能够测试2.4Mb/s的速率,同时还可以模拟某些射频故障(如图2所示)。

除了CDMA格式的实验室应用外,设计者还可以在PC上使用安捷伦推出的Baseband Studio功能,实现信号衰落条件下的应用性能测试,并监测数据吞吐中的故障。这一功能通常需要更昂贵的测试设备来实现。

集成测试例8

集成电路芯片的封装技术已历经了好几代的变迁,技术指标一代比一代先进,如芯片面积与封装面积越来越接近,适用频率越来越高,耐温性能越来越好,引脚数增多,引脚节距减小,可靠性提高,更加方便等等。芯片封装形式很多,但就其与PCB的安装方式来看主要有以下两类封装:通孔式封装和表面贴装式封装。

通孔式封装,是Ic的引脚通过穿孔电路板,在板的背后焊接。主要包括双列直插式封装(DIP)和针栅阵列封装(PGA)。较受欢迎的表面贴装式封装,是将芯片载体(封装)直接焊接在PCB上的封装。包括:小外形封装SOP:四方扁平封装QFP;塑料引线芯片载体封装PLCC:无引线陶瓷芯片载体封装LCC:球栅阵列封装BGA、芯片级封装CSP等。

老化测试插座的结构

无论是通孔式封装还是表面贴装式封装,生产制造过程中的老化测试都是一个重要环节,所以老化测试插座是随着集成电路的发展而发展的。老化测试插座的结构是根据集成电路封装结构的不同而设计的。其命名与集成电路封装形式一致。因此,为了顺应集成电路的飞速发展,一般而言,有什么样的封装形式就有什么样的老化测试插座。并且由于集成电路封装节距小、密度大,所以给老化测试插座的设计与制造带来了很大的难度。下面对老化测试插座的结构作简单介绍。

通孔式封装老化测试插座

单、双列直插式封装老化测试插座

单、双列直插式封装的I/O接脚是从封装的对边伸延出来的,然后弯曲(见图1)。双列直插式封装有塑料PDIP和陶瓷CDIP两种,中心距为2.54mm或1.778mm,一般是8~64接脚,而塑料封装DIP的接脚数目通常可以多至68。因为压模和引线框的关系,令制造尺寸更大的DIP有困难,导致接脚数目局限在68以内。由于DIP接脚数目比较少,最多为68,所以DIP老化测试插座一般采用低插拔力片簧式结构(见图2),此结构由接触件和绝缘安装板组成。接触件采用片簧式结构使封装引线,与片簧式接触件双面接触、耐磨损,并易于插拔。

虽然国内外大多数Ic生产厂家在对DIP进行老化测试时采用上述的片簧式结构,也有少数的Ic生产厂家采用手柄式老化测试插座,这种插座是零插拔力结构,设计制造难度比较大,价格也比较高,所以也有少数Ic生产厂家使用圆孔式结构(见图3),即装机用DIP插座,因装机用DIP插座插拔力小,接触可靠,并且价格很便宜。

针栅阵列封装(PGA)封装老化测试插座

PGA是通孔封装中的一种流行封装,它是一个多层的芯片载体封装,外形通常是正方形的,这类封装底部焊有接脚,通常用在接脚数目超过68的超大规模IC(VLSI)上。当需要高接脚数目或低热阻时,PGA是DIP的最佳取代封装方式。PGA封装的外形见图4。

PPGA为塑料针栅阵列封装,CPGA为陶瓷针栅阵列封装其节距为2.54mm。而FPGA为窄节距PGA,目前接脚节距为0.80mm、0.65mm的FPGA为主流。目前国内常用的PGA封装接脚数目从100(10×10)到441(21×21)或更多。

对于接脚数目少于100线的PGA封装进行老化测试时,国内有一小部分生产厂家采用性价比较好、插拔力较小的圆孔插入式插座(见图5)。而对于超过接脚数目100的,则要使用零插拔力老化测试插座。

PGA零插拔力老化测试插座的结构形式(见图6)。使用时把这种插座的手柄轻轻抬起,PGA就可以很容易、轻松地插入插座中,然后将手柄水平放置到原处,利用插座本身的特殊结构生成的挤压力,将PGA的接脚与插座牢牢地接触,绝对不存在接触不良的问题,而拆卸PGA芯片只需将插座的手柄轻轻抬起、则压力解除,PGA芯片既可轻松取出。由于PGA零插拔力插座使用方便,接触可靠,也常用于装机。例如,计算机主机中的CPU就使用的是PGA零插拔力插座。

表面贴装式封装老化测试插座

表面贴装式封装形式

QFP四方扁平封装适用于高频和多接脚器件,四边都有细小的

“L”字引线(见图7)。小外形封装(SOP)的引线与QFP方式基本相同。唯一区别是QPP一般为正方形、四边都有引线,而SOP则是两对边有引线,见图8。

QFP在电路板的占位比DIP节省一倍。外形可以是正方形或长方形,引线节距为1,27mm、lmm、0.8mm、0.65mm和0.5mm,引线数目由20-240。而SOP的引线节距最大为1.27 mm,最小为0.5mm,比DIP要小很多。到了20世纪80年代,出现的内存第二代封装技术以TSOP为代表,它很快为业界所普遍采用,到目前为止还保持着内存封装的主流地位。

LCC系列封装是无引线封装,其引线是采用特殊的工艺手段附着在陶瓷底板上的镀金片,节距为1.27 mm,常见芯数为18、20、24、28、68等。封装形式见图9。

塑料有引线芯片载体(PLCC/JLCC)是TI于1980年代初期开发的,是代替无引线芯片载体的一个低成本封装方式。PLCC是T形弯曲

(T―bend)的,那是说这封装的接脚向内弯曲成“I”的形状,所以有些厂家也NqJLCC或QYJ.(见图10)。PLCC的优点是占的安装位置更小,而且接脚受封装保护。PLCC通常是,正方形或长方形,四边都有接脚,节距为1.27 mm或0.65mm。引线数常见的有18、20、22、28、32、44、52、68、84。

J形引线小外形封装(sOJ)的对边伸延出来的,然后弯曲成“T”形(见图11),引线形状与PLCC相同,不过PLCC的引线分布在四边,其引线节距为1.27mm,常用芯数为16、20、24、26、28、32、34、40、44(节距为0.80)。

集成测试例9

一、集成电路封装测试的技术进步

封装测试是集成电路制造的后续工艺,为了使集成电路芯片的触点能与外界电路如PCB 板连接,也为了给芯片加上一个“保护壳”,防止芯片受到物理或化学损坏,需要对晶圆芯片的进一步加工,这一环节即封装环节。测试环节则是对芯片电子电路功能的检测确认。

集成电路封装技术发展历程大约可以分为三个阶段:第一阶段是1980年之前的通孔插装(THD)时代,插孔直接安装到PCB上,主要形式包括TO(三极管)、DIP(双列直插封装),优点是可靠、散热好、结实、功耗大,缺点是功能较少,封装密度及引脚数难以提高,难以满足高效自动化生产的要求。

第二阶段是1980年代开始的表面贴装(SMT)时代,该阶段技术的主要特点是引线代替针脚,引线采用翼形或丁形,以两边或四边引线封装为主,从两边或四边引出,大大提高了引脚数和组装密度。主要封装形式是QFP(翼型四方扁平封装)、 SOT(小外形晶体管)、SOP(小外形封装)等。采用该类方式封装后的电路产品具有轻、薄、小的特点,电路性能较好,性价比高,是当前市场的主流封装类型。

20世纪末期开始,又出现以焊球代替引线、按面积阵列形式分布的表面贴装技术,迎合了电子产品趋小型化、多功能化的市场需求。这种封装形式是以置球技术以及其它工艺把金属焊球(凸点)矩阵式的分布在基板底部,将芯片与PCB板进行外部连接。常见形式包括球状栅格阵列封装(BGA)、芯片尺寸封装(CSP)、晶圆级芯片封装(WLP)、多芯片封装(MCP)等。BGA等技术的成功开发,具有高集成度、多功能、低功耗、速度高、多引线集成电路电路芯片的特点。

第三时代是本世纪初开始,以3D堆叠、TSV(硅穿孔)为代表的三维封装技术为代表的的高密度封装。与以往封装键合和使用凸点的叠加技术不同,三维封装技术能够使芯片在三维方向堆叠的密度最大,外形尺寸最小,大大改善芯片速度和低功耗的性能。其中3D堆叠是将不同功能的芯片/结构,通过一定的堆叠技术,使其形成立体集成和信号连通。三维立体堆叠加工技术,用于微系统集成。TSV是通过在芯片和芯片之间、晶圆和晶圆之间制作垂直导通,实现芯片之间互连的最新技术。

集成电路产业经过60多年的发展,在技术水平、产品结构、产业规模等都取得巨大的进步,使终端电子产品呈现小型化、智能化、多功能化的发展趋势,形成了几十种不同外型尺寸/引线结构/引线间距/连接方式的封装电路。这些封装电路具有大功率、多引线、高频、光电转换等功能特点,在未来相当长的一段时间内,都将在不同终端市场继续存在发展。

二、集成电路封装测试的行业发展情况

从集成电路整个行业的统计数据来看,受益于移动互联网、物联网、新能源等高速增长,2013年全球集成电路行业销售规模达到3056亿美元,实现4.8%的增长。而2013年中国集成电路市场销售额增至9166.3亿元,实现7.1%的增速为7.1%,中国已经超越美国而成为全世界最大的消费电子市场,开始扮演全球消费电子行业驱动引擎的角色。

从集成电路的行业构成来看,我国IC封测业多年来一直呈现增长稳定的特点。据中国半导体行业协会(CSIA)统计,我国近几年封测业销售额增长趋势如表1所示,从2012年起,销售额已超过1000亿元,2006~2013年间,年均复合增长率达到11.2%。

三、集成电路封装测试企业现状

从经营模式来看,集成电路封装业企业可分两类,一类是国际IDM公司设立的全资或控股的封装厂,另一类是独立从事封装的企业。前一类型封装厂只是作为IDM集团的一个生产环节,并不独立对外经营,其产品全部返销回母公司,实行内部结算。而独立的IC封装企业则,接受IC芯片设计或制造企业的订单,按封装数量收取加工费,或采用来料加工经营模式,与下游终端厂商或上游设计IC公司没有股权关系。

外资封测企业,如英特尔、威讯联合、飞索、英飞凌、瑞萨和恩智浦等,主要从事中高端集成电路的封测。这些企业主要承担母公司的封测业务,是母公司IDM产业链中的一个环节,产品销售、技术研发都很依赖于母公司。

台资企业,如日月光、星科金朋和矽品科技等,这些企业的母公司都是世界著名的封测厂商,并在在我国大陆设立分/子公司从事封测业务,也主要定位于中高端产品。

近几年来,一些内资企业的生产能力和技术水平提升很快(部分原因和我国政府对集成电路的高度支持有关),例如长电科技、通富微电、华天科技等。与外资和台资企业相比,这些企业在设备先进性、核心技术(如铜制程技术、晶圆级封装,3D堆叠封装等)、产品质量控制等方面已经取得可以相抗衡的核心竞争力。

产业信息网的《2013~2017年中国集成电路封装产业深度调研及投资战略研究报告》称:目前全球封装测试产业主要集中在亚太地区(主要包括台湾、韩国、中国大陆),其湾地区封装测试业产值居全球第一。中国大陆的封测业起步较晚,但发展速度最快。例如长电科技2012 年以7.14 亿美元的营业额,位居全球封装测试企业营收第七位,是中国大陆唯一进入世界前十位的半导体封测企业。

表2为根据信息产业网整理的一些相关统计数据。

我国封测产业已具备一定基础,随着我国集成电路设计企业的崛起和下游智能终端市场的快速发展,我国封测企业面临良好的发展机遇,前途一片光明。同时也将应对各种挑战(例如制造业涨薪潮、整机发展对元器件封装组装微小型化等要求等)。展望未来,国内封测企业只有进一步增强技术创新能力和成本管控能力,才能在日新月异的市场竞争中取得长足的进步。

参考文献:

集成测试例10

中图分类号:TN91934文献标识码:A文章编号:1004373X(2012)18003803

集成测试的目的是通过测试来发现和接口有关的错误,即把通过了单元测试的模块组装起来测试。类间存在的多种关系是测试顺序的一个重要依据。选择不同的测试顺序将决定着测试的结果,如何寻找使得测试最为有效的测试顺序是面向对象软件集成测试的一个重要问题[12]。

本文将类图中的类内信息,类间信息提取出来,并计算每个类的内聚度,以及类间耦合度,同时把每个类看作有向图的结点,类的内聚度作为结点的权值,类间耦合度作为关系的权值,并根据动态绑定存在的条件,添加可能的类间动态线索。最后利用深度与广度结合的遍历算法遍历该有向图生成集成测试的测试序列。

1扩展有向图模型的定义

4结语

本文针对UML类图中提取的信息,计算与类相关的信息,获得对象动态加权有向图,然后从有向图中进行遍历,生成集成测试测试序列。该算法不需要去除图中的环,生成方法简单有效,在实际需要中得到了验证,但随着类图的增加,测试序列数量会加大,导致序列的生成速度有所影响。因此下一步的工作是研究如何进行更有效的遍历,同时在下一步工作中进一步研究类间耦合度和类内聚度,使得图中每个结点的权值获取和边的权值获取更加的科学。

参考文献

[1]JORGENSENPC,ERICKSONC.Objectorientedintegrationtesting[J].CACM,1994,37(9):3038.

[2]吴静莉,韩松峰.基于UML集成测试模型的生成方法[J].微电子学与计算机,2008(7):913.

[3]陈树峰.面向对象软件的依赖性分析与回归测试[J].计算机应用,2009(6):2932,54.

[4]林红昌,胡觉亮.基于Petri网的软件测试用例的产生和分析[J].计算机工程与应用,2009(10):3033.

[5]FOWLERM.UML精粹标准对象建模语言简明指南[M].徐家福,译.北京:清华大学出版社,2005.

[6]AIKC,DANIELSFJ.InterclasstestorderforobjectorientedSoftware[J].JournalofObjectOrientedProgramming,1999,12(4):1825.