时间:2023-02-28 15:32:21
引言:寻求写作上的突破?我们特意为您精选了12篇集成测试范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。
中图分类号: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
报告属性
【报告性质】专题调研
【报告名称】
2009-2010年中国通用集成电路测试系统产业专题调查分析报告
【表述方式】文字分析、数据比较、统计图表浏览
【交付周期】3—5个工作日
【报告价格】8900元
【制作机关】中国市场调查研究中心
【定购电话】
86-10-88430838(刘老师)88864829(高老师)88864539(云老师)88893867(姜老师)
【传真】86-10-68450238合同下载
报告目录
第一章通用集成电路测试系统产业市场基本情况分析
第一节市场发展环境分析(宏观经济环境、产业市场政策……)
一、2009年我国宏观经济运行情况
二、我国宏观经济发展运行趋势
三、市场相关政策及影响分析
1、全球经济危机对中国宏观经济的消极影响
2、全球经济危机对通用集成电路测试系统行业的消极影响
3、全球经济危机对上下游产业的消极影响
4、中国扩大内需保增长的政策解析
5、行业未来运行环境总述
第二节产业市场基本特征(定义分类或产业市场特点、发展历程、市场重要动态……)
一、市场界定及主要产品
二、市场在国民经济中的地位
三、市场特性分析
四、市场发展历程
五、国内市场的重要动态
第三节产业市场发展情况(现状、趋势、市场重要动态……)
一、市场国际现状分析
二、市场主要国家情况
三、市场国际发展趋势分析
四、国际市场的重要动态
第二章2009年我国通用集成电路测试系统产业市场经济运行情况
第一节2009年我国产业市场发展基本情况(现状、技术、产业市场运行特点……)
一、市场发展现状分析
二、市场特点分析
三、市场技术发展状况
第二节我国本产业市场存在问题及发展限制(主要问题与发展受限、基本应对的策略……)
第三节市场上、下游产业发展情况(上、下游产业对本产业市场的影响)
一、市场上游产业
二、市场下游产业
第四节2006年-2009年产业市场企业数量分析(近年内企业数量的变化情况以及各类型企业的数量变化……)
一、2006-2009年企业及亏损企业数量
二、不同规模企业数量
三、不同所有制企业数量分析
第五节2006年-2009年从业人数分析(近年内从业人员的变化情况以及各类型企业的数量变化……)
一、不同规模企业从业人员分析
二、不同所有制企业比较
第六节本产业市场进出口状况分析(本产业市场内主要产品进出口情况)
第三章2009年我国通用集成电路测试系统产业市场生产状况分析
第一节2006年-2009年市场工业总产值分析
一、2006-2009年市场工业总产值分析
二、不同规模企业工业总产值分析
三、不同所有制企业工业总产值比较
四、2009年工业总产值地区分布
五、2009年总产值前20位企业对比
第二节2006年-2009年市场产成品分析(产成品、产成品区域市场)
一、2006-2009年产业市场产成品分析
二、不同规模企业产成品分析
三、不同所有制企业产成品比较
四、2009年产业市场产成品地区分布
第三节2006年-2009年本产业市场产成品资金占用率分析
第四章2009年我国通用集成电路测试系统产业市场销售状况分析
第一节2006年-2009年市场销售收入分析(产品销售收入、不同规模的企业销售收入、不同企业类型的销售收入)
一、2006-2009年产业市场总销售收入分析
二、不同规模企业总销售收入分析
三、不同所有制企业总销售收入比较
第二节2009年本产业市场产品销售集中度分析
一、按企业分析
二、按地区分析
第三节2006年-2009年本产业市场销售税金分析
一、2006-2009年产业市场销售税金分析
二、不同规模企业销售税金分析
三、不同所有制企业销售税金比较
第五章2009年我国通用集成电路测试系统产业市场成本费用分析(销售成本、销售费用、管理费用、财务费用、成本费用利润率……)
第一节2006-2009年市场产品销售成本分析
一、2006-2009年产业市场销售成本总额分析
二、不同规模企业销售成本比较分析
三、不同所有制企业销售成本比较分析
第二节2006-2009年市场销售费用分析
一、2006-2009年产业市场销售费用总额分析
二、不同规模企业销售费用比较分析
三、不同所有制企业销售费用比较分析
第三节2006-2009年市场管理费用分析
一、2006-2009年产业市场管理费用总额分析
二、不同规模企业管理费用比较分析
三、不同所有制企业管理费用比较分析
第四节2006-2009年市场财务费用分析
一、2006-2009年产业市场财务费用总额分析
二、不同规模企业财务费用比较分析
三、不同所有制企业财务费用比较分析
第五节2006-2009年市场成本费用利润率分析
第六章2009年我国通用集成电路测试系统产业市场资产负债状况分析(总资产、固定资产、总负债、流动资产、应收账款、资产负债率……)
第一节2006-2009年市场总资产状况分析
一、2006-2009年产业市场总资产分析
二、不同规模企业资产规模比较分析
三、不同所有制企业总资产比较分析
四、总资产规模前20位企业对比
第二节2006-2009年市场固定资产状况分析
一、2006-2009年产业市场固定资产净值分析
二、不同规模企业固定资产净值分析
三、不同所有制企业固定资产净值分析
第三节2006-2009年市场总负债状况分析
一、2006-2009年产业市场总负债分析
二、不同规模企业负债规模比较分析
三、不同所有制企业总负债比较分析
第四节2006-2009年市场流动资产总额分析
一、2006-2009年产业市场流动资产总额分析
二、不同规模企业流动资产周转总额比较分析
三、不同所有制企业流动资产周转总额比较分析
第五节2006-2009年市场应收账款总额分析
一、2006-2009年产业市场应收账款总额分析
二、不同规模企业应收账款总额比较分析
三、不同所有制企业应收账款总额比较分析
第六节2006-2009年市场资产负债率分析
第七节2006-2009年市场周转情况分析
一、2006-2009年总资产周转率分析
二、2006-2009年流动资产周转率分析
三、2006-2009年应收账款周转率分析
四、2006-2009年流动资产周转次数
第八节2006-2009年市场资本保值增值率分析
第七章2009年我国通用集成电路测试系统产业市场盈利能力分析(利润总额、销售毛利率、总资产利润率、净资产利润率……)
第一节2006-2009年市场利润总额分析
一、2006-2009年产业市场利润总额分析
二、不同规模企业利润总额比较分析
三、不同所有制企业利润总额比较分析
第二节2006-2009年销售毛利率分析
第三节2006-2009年销售利润率分析
第四节2006-2009年总资产利润率分析
第五节2006-2009年净资产利润率分析
第六节2006-2009年产值利税率分析
第八章2009年我国通用集成电路测试系统产业市场经济运行最好水平分析(资本保值增值率、资产负债率、产值利税率、资金利润率……)
第一节2006-2009年资本保值增值率最好水平
第二节2006-2009年资产负债率最好水平
第三节2006-2009年产值利税率最好水平
第四节2006-2009年资金利润率最好水平
第五节2006-2009年流动资产周转次数最好水平
第六节2006-2009年成本费用利润率最好水平
第七节2006-2009年人均销售率最好水平
第八节2006-2009年产成品资金占用率最好水平
第九章2009年我国通用集成电路测试系统产业市场重点企业竞争状况分析(产业市场按销售收入前10企业)
第一节2009年企业地区分布
第二节销售收入前10名企业竞争状况分析
一、企业基本情况
(法人单位名称、法定代表人、省、主要业务活动、从业人员合计、全年营业收入、资产总计、工业总产值、工业销售产值、出货值、工业增加值、产成品)
二、企业资产负债分析
(企业资产、固定资产、流动资产合计、流动资产年平均余额、负债合计、流动负债合计、长期负债合计、应收帐款)
三、企业经营费用分析
(营业费用、管理费用、其中:税金、财务费用、利税总额)
四、企业收入及利润分析
(主营业务收入、主营业务成本、主营业务税金及附加、其他业务收入、其他业务利润、营业利润、利润总额)
五、企业营业外支出分析
(广告费、研究开发费、劳动、失业保险费、养老保险和医疗保险费、住房公积金和住房补贴、应付工资总额、应付福利费总额、应交增值税、进项税额、销项税额)
六、企业工业中间投入及现金流分析
(工业中间投入合计、直接材料投入、加工费用中的中间投入、管理费用中的中间投入、营业费用中的中间投入、经营活动产生的现金流入、流出、投资活动产生的现金流入、流出、筹资活动产生的现金流入、流出)
第十章2009年我国通用集成电路测试系统产业市场营销及投资分析
第一节本产业市场营销策略分析及建议
一、产业市场营销策略分析
二、企业营销策略发展及建议
第二节本产业市场投资环境分析及建议
一、投资环境分析
二、投资风险分析
三、投资发展建议
第三节本产业市场企业经营发展分析及建议
一、产业市场企业发展现状及存在问题
二、产业市场企业应对策略
第十一章2010-2013年我国通用集成电路测试系统产业市场发展趋势分析
第一节未来本产业市场发展趋势分析(产业市场发展趋势、技术发展趋势、市场发展趋势……)
一、未来发展分析
二、未来技术开发方向
三、总体产业市场“十一五”整体规划及预测
第二节2010-2013年本产业市场运行状况预测(工业总产值、销售收入、利润总额、总资产)
一、2010-2013年工业总产值预测
首先,持续集成和集成测试还是有很大区别,持续集成强调的是自动化的编译构建,部署,自动化的冒烟测试,保证开发过程的产出随时都可以构建一个冒烟测试通过的可用版本。而集成测试则涉及到严格的测试策略,测试方案,集成测试顺序,各个集成功能点的覆盖,详细的功能性测试等。集成测试不仅仅是接口测试,更重要的是以接口质量为前提的跨组件功能性测试。
1.为什么要集成测试
集成测试,也叫组装测试或联合测试。在单元测试的基础上,将所有模块按照设计要求组装成为子系统或系统,进行集成测试。实践表明,一些模块虽然能够单独地工作,但并不能保证连接起来也能正常的工作。程序在某些局部反映不出来的问题,在全局上很可能暴露出来,影响功能的实现。
理论上凡是两个单元(如函数单元)的组合测试都可以叫做集成测试。实际操作中,通常集成测试的对象为模块级的集成和子系统间的集成,其中子系统集成测试称为组件测试。
在单元测试和系统测试间起到承上启下的作用,既能发现大量单元测试阶段不易发现的接口类错误,又可以保证在进入系统测试前及早发现错误,减少损失。
对系统而言,接口错误是最常见的错误,单元测试通常是单人执行,而集成测试通常是多人执行或第三方执行。集成测试通过模块间的交互作用和不同人的理解和交流,更容易发现实现上、理解上的不一致和差错。
2.集成测试什么时候开始
在开始体系结构设计的时候开始;
在进入详细设计之前完成集成测试方案;
在进入系统测试之前结束集成测试。
3.集成测试原则
集成测试是产品研发中的重要工作,需要为其分配足够的资源和时间。
集成测试需要经过严密的计划,并严格按计划执行。
应采取增量式的分步集成方式,逐步进行软件部件的集成和测试。
应重视测试自动化技术的引入与应用,不断提高集成测试效率。
应该注意测试用例的积累和管理,方便进行回归并进行测试用例补充。
4.集成测试需要关注以下问题:
4.1 集成测试的可迭代性
在整个软件开发都可迭代的模式下,要意识到集成测试过程本身也是可以迭代的。大型产品集成不应该等待到真正各个子系统或业务模块都开发好才开始集成测试。功能开发的迭代直接驱动集成测试过程也是迭代,同时在每个集成测试周期中最好又分为几个关键点,首先是服务模拟器,其次是替换掉模拟器联调通组件接口,再次测试接口服务中详细实现。
4.2 集成测试的顺序问题
我一直认为这是集成测试中非常关键的一个内容,集成顺序的确定涉及到前期大量的组件间依赖关系分析,业务功能点和接口对应关系分析等。特别是发展到现在,我们发现很多时候组件间不再是以前单纯的单向依赖关系,由于接口服务注册在总线上,导致多个组件间可以相互依赖,所以前面简单的组件依赖分析已经不适用,替代的方法是基于跨组件的流程协同分析,以核心流程驱动组件间的组装顺序。
同时,对于传统的自顶向下集成和自底向上集成方法往往都不能完全覆盖。很多时候采用的都会是混合集成的策略。一个是为了及早的看到集成的效果我们期望从顶向下,但是却需要大量的模拟器和stub桩模块。另外一个是为了减少模拟器,我们从最底层向上集成,但是往往却将风险延迟到最后发现。
4.3 测试全流程的问题
在每个组件或模块的单元测试阶段更加容易实现每日构建和持续集成,持续集成完后应该对每个独立模块进行详细测试,但是测试需要依赖一定的模拟器。在集成测试环境则进入到集成流水线,集成流水线的准入应该是每个组件在单元测试环境都完全测试通过,集成流水线根据组件的集成需求来规划具体的测试计划和测试方案。集成测试过程仍然应该首先是冒烟测试进行准入验证,然后是接口测试,然后是详细功能测试,最终交付到验收。
5.集成测试方法
5.1 非递增式集成测试
所有软件模块完后单元测试后一次集成。
优点:测试过程中基本不需要设计开发测试工具。
不足:对于复杂系统,当出现问题时故障定位困难,和系统测试接近,难以体现和发挥集成测试的优势。
5.2 递增式集成测试
逐渐集成,由小到大,边集成边测试,测完一部分,再连接一部分。
在复杂系统中,划分的软件单元较多,通常是不会一次集成的。
软件集成的精细度取决于集成策略。通常的做法是先模块间的集成,再部件间的集成。
优点:测试层次清晰,出现问题能够快速定位。
缺点:需要开发测试驱动和桩。
5.3 集成测试实现
集成测试在实现方式上和单元测试是一样的,需要根据测试需求设计实现相应的测试驱动和测试桩,同时也可以借助一些工具进行辅助测试。
对我们的系统而言,相对于单元测试,适用的商用集成测试选择面更窄。
实际工作中,各项目开发的模拟工具即属于集成测试工具,但在系统化、灵活性、通用性上尚欠缺,缺乏系统全面的设计。
现有的模拟工具在测试自动化上也需改进,如实现测试数据的自动生成、测试用例的自动运行、测试结果的自动保存和比较等。
所有的软件项目都不能摆脱系统集成这个阶段。不管采用什么开发模式,具体的开发工作总得从一个一个的软件单元做起,软件单元只有经过集成才能形成一个有机的整体。具体的集成过程可能是显性的也可能是隐性的。只要有集成,总是会出现一些常见问题,工程实践中集成测试,几乎不存在软件单元组装过程中不出任何问题的情况。
参考文献
[1]李天日,林宁,高林.基于国产基础软件应用系统的性能测试与优化研究[J].微型机与应用,2010(11).
[2]谢谦,高林,杨建军.国产基础软件标准化与研发、测试、应用[J].信息技术与标准化,2008(06).
分离的测试方法对于语音应用是可行的,但是由于空中接口(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功能,实现信号衰落条件下的应用性能测试,并监测数据吞吐中的故障。这一功能通常需要更昂贵的测试设备来实现。
在最原始的测试过程中,对集成电路(Integrated Circuit,IC)的测试是依靠有经验的测试人员使用信号发生器、万用表和示波器等仪器来进行测试的。这种测试方法测试效率低,无法实现大规模大批量的测试。随着集成电路的集成度和引脚数的不断增加,工业生产上必须要使用新的适合大规模电路测试的测试方法。在这种情况下,集成电路的自动测试仪开始不断发展。
现在国内的同类型产品中,一部分采用了单片机实现,这部分仪器分析速度慢,难以用于大规模的测试系统之中,并且在管脚的扩展性上受到严重的限制。另一部分使用了DSP芯片,虽然功能上较为完善,但造价不菲,实用性能有限。本文的设计是基于FPGA实现逻辑芯片的功能故障测试。由于FPGA芯片价格的不断下降和低端芯片的不断出现,使用FPGA作为主控芯片可以更适合于市场,且有利于对性能进行扩展。实验表明,该系统设计合理,能对被测芯片进行准确的功能测试。
1.逻辑芯片功能测试的基本理论简介
功能测试也称为合格―不合格测试,它决定了生产出来的元件是否能正常工作。一个典型的测试过程如下:将预先定义的测试模板加载到测试设备中,它给被测元件提供激励和收集相应的响应;需要一个探针板或测试板将测试设备的输入、输出与管芯或封装后芯片的相应管脚连接起来。测试模板指的是施加的波形、电压电平、时钟频率和预期响应在测试程序中的定义。
元件装入测试设备,测试设备执行测试程序,将输入模板序列应用于被测元件,比较得到的和预期的响应。如果观察到不同,则表示元件出错,即该元件功能测试不合格。
2.测试系统设计
该测试系统由下位机硬件电路和上位机测试软件两大部分构成。系统采用功能模块化设计,控制灵活,操作简单,而且采用ROM存储测试向量表库,方便以后的芯片型号添加和扩展,有很好的实际应用性。
2.1 硬件设计
控制器模块选用Altera的FPGA芯片EP3C16Q240C8N,配置芯片选用EPCS4。控制器由使用VerilogHDL硬件语言实现了包括串口接收模块、数据转换与测试保护模块和串口发送模块三个部分的功能设计。串口接收模块完成与串口芯片MAX3232进行通信,接收由上位机发送来的测试指令;数据转换与测试保护模块产生实现一个类似于D触发器的保护器,对测试端的被测芯片输出脚进行双保护,保证其在测试后的回测值不受初值影响;串口发送模块将测试后得到的数据组合为一个回测寄存器,并按照串口通信协议将回测数据发送回上位机。
串口通信模块选用MAX3232芯片,现串口的全双工数据传输。
2.2 软件设计
3.系统测试验证
3.1 常规测试
以芯片74LS08为例,测试流程如下:
(1)使用Microsoft Office Access 2003软件建立测试数据库,并在数据库中建立几款不同被测芯片的测试数据。
(2)在芯片型号检索对话框中输入“74LS08”型号后,点击“确定”按钮即可完成芯片检索的流程。
(3)自动测试模式下,系统将调用数据库中被测芯片的完整测试数据,并且完成整个测试集的循环测试。
3.2 故障测试
此时,如果被测芯片依然为74LS00芯片,而从上位机的数据库中重新调入74LS00芯片的测试信息进行测试,其测试结果则显示为“该芯片功能测试全部通过”。其显示界面如图3所示。由此可以验证,测试系统对芯片功能故障的判断十分准确,并且测试系统可以准确的识别存在故障的测试矢量位置,以便于用户进行进一步的分析。
4.结论
本文用FPGA进行了一个芯片功能测试系统,并对其功能进行了验证,实验结果表明该系统测试方法简单,测试过程迅速,测试结果准确。该系统为芯片功能测试提供了一个很好的解决方案,具有重要的应用价值。
参考文献
[]罗和平.数字IC自动测试设备关键技术研究[D].成都:电子科技大学,2008.
[2]马秀莹.新型超大规模集成电路(VLSI)直流参数自动测试系统[D].北京:北京工业大学,2005.
[3]康华光.电子技术基础(数字部分)[M].北京:高等教育出版社,2005.
集成电路测试贯穿在集成电路设计、芯片生产、封装以及集成电路应用的全过程,因此,测试在集成电路生产成本中占有很大比例。而在测试过程中,测试向量的生成又是最主要和最复杂的部分,且对测试效率的要求也越来越高,这就要求有性能良好的测试系统和高效的测试算法。
一、数字集成电路测试的基本概念
根据有关数字电路的测试技术,由于系统结构取决于数字逻辑系统结构和数字电路的模型,因此测试输入信号和观察设备必须根据被测试系统来决定。我们将数字电路的可测性定义如下:对于数字电路系统,如果每一个输出的完备信号都具有逻辑结构唯一的代表性,输出完备信号集合具有逻辑结构覆盖性,则说系统具有可测性。
二、数字集成电路测试的特点
(一)数字电路测试的可控性 系统的可靠性需要每一个完备输入信号,都会有一个完备输出信号相对性。也就是说,只要给定一个完备信号作为输入,就可以预知系统在此信号激励下的响应。换句话说,对于可控性数字电路,系统的行为完全可以通过输入进行控制。从数字逻辑系统的分析理论可以看出,具有可控性的数字电路,由于输入与输出完备信号之间存在一一映射关系,因此可以根据完备信号的对应关系得到相应的逻辑。
(二)数字电路测试的可测性 数字电路的设计,是要实现相应数字逻辑系统的逻辑行为功能,为了证明数字电路的逻辑要求,就必须对数字电路进行相应的测试,通过测试结果来证明设计结果的正确性。如果一个系统在设计上属于优秀,从理论上完成了对应数字逻辑系统的实现,但却无法用实验结果证明证实,则这个设计是失败的。因此,测试对于系统设计来说是十分重要的。从另一个角度来说,测试就是指数字系统的状态和逻辑行为能否被观察到,同时,所有的测试结果必须能与数字电路的逻辑结构相对应。也就是说,测试的结果必须具有逻辑结构代表性和逻辑结构覆盖性。
三、数字电路测验的作用
与其它任何产品一样,数字电路产出来以后要进行测试,以便确认数字电路是否满足要求。数字电路测试至少有以下三个方面的作用:
(一)设计验证 今天数字电路的规模已经很大,无论是从经济的角度,还是从时间的角度,都不允许我们在一个芯片制造出来之后,才用现场试验的方法对这个“样机”进行测试,而必须是在计算机上用测试的方法对设计进行验证,这样既省钱,又省力。
(二)产品检验 数字电路生产中的每一个环节都可能出现错误,最终导致数字电路不合格。因此,在数字电路生产的全过程中均需要测试。产品只有经过严格的测试后才能出厂。组装厂家对于买进来的各种数字电路或其它元件,在它们被装入系统之前也经常进行测试。
(三)运行维护 为了保证运行中的系统能可靠地工作,必须定期或不定期地进行维护。而维护之前首先要进行测试,看看是否存在故障。如果系统存在故障,则还需要进行故障定位,至少需要知道故障出现在那一块电路板上,以便进行维修或更换。
由此可以看出,数字电路测试贯穿在数字电路设计、制造及应用的全过程,被认为是数字电路产业中一个重要的组成部分。有人预计,到2016年,IC测试所需的费用将在设计、制造、封装和测试总费用中占80%-90%的比例。
四、数字电路测试方法概述
(一)验证测试 当一款新的芯片第一次被设计并生产出来时,首先要接受验证测试。在这一阶段,将会进行全面的功能测试和交流(AC)及直流(DC)参数测试。通过验证测试,可以诊断和修改设计错误,测量出芯片的各种电气参数,并开发出将在生产中使用的测试流程。
(二)生产测试 当数字电路的设计方案通过了验证测试,进入量产阶段之后,将利用前一阶段调试好的流程进行生产测试。生产测试的目的就是要明确地做出被测数字电路是否通过测试的决定。因为每块数字电路都要进行生产测试,所以降低测试成本是这一阶段的首要问题。因此,生产测试所使用的测试输入数(测试集)要尽可能的小,同时还必须有足够高的故障覆盖率。
(三)老化测试 每一块通过了生产测试的数字电路并不完全相同,其中有一些可能还有这样或那样的问题,只是我们暂时还没有发现,最典型的情况就是同一型号数字电路的使用寿命大不相同。老化测试为了保证产品的可靠性,通过调高供电电压、延长测试时间、提高运行环境温度等方式,将不合格的数字电路筛选出来。
(四)接受测试 当数字电路送到用户手中后,用户将进行再一次的测试。如系统集成商在组装系统之前,会对买回来的数字电路和其它各个部件进行测试。只有确认无误后,才能把它们装入系统。
五、数字电路测试的设计
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)14-20938-02
1 引言
面向对象软件特有的封装、继承、多态和动态绑定等特征产生了传统语言根本不存在的错误类型,因此传统的软件测试技术不能直接应用到面向对象软件测试中来。面向对象软件测试相对于面向对象软件分析、设计和编程来说还没有引起足够的重视,尤其是多态对面向对象软件集成测试的影响还需要进一步研究。多态是面向对象软件特有的特征,凡是父类对象出现的地方都可以用子类对象进行替换的多态称为对象多态;同一个消息可以被不同对象接受而产生不同行为的多态称为消息多态。
测试顺序(Test Order)是面向对象软件集成测试研究的一个重要问题。文献[1-4]提出利用对象关系图(Object-Oriented Graph)研究测试顺序,但是这些文献都没有涉及到多态对测试顺序的影响。文献[5]在对象关系图上增加因消息多态引起的动态依赖信息,构成扩展对象关系图(Extended Object-Oriented Graph),作为研究测试顺序的测试模型,但是该文没有考虑对象多态对交互测试的影响以及没有给出哪些类之间需要进行两两交互测试以及它们之间的测试顺序。本文在文献[5]的基础之上,在扩展对象关系图中增加对象多态信息,并设计算法计算哪些类之间需要进行交互测试以及它们之间的测试顺序。
2 扩展对象关系图
对象关系图在文献[1]中首次作为面向对象回归测试的测试模型。程序P的对象关系图是一个有向图,其中的结点表示程序P中的类,有向边表示程序P中类间的依赖关系。继承、聚集和关联关系是面向对象模型中三种最为广泛使用的类间依赖关系。继承意味着基类中定义的特性可以自动在所有的子类中定义;聚集意味着一个对象是另一个对象的一个组成部分;关联意味着两个对象之间存在着更一般的关系,A关联B表示A会存取B中的数据成员或A会向B传递消息。
定义2.1 G=(V,L,E)表示边上加标签的有向图,其中V={V1,V2,…,Vn}是结点的有限集合,L={L1,L2,…,Lk}是标签的有限集合,边集E⊆V×V×L是带标签的边的有限集合。
定义2.2 面向对象程序P的对象关系图是一个边上加标签的有向图ORG=(V,L,E),其中集合V中的结点表示程序P中的类,标签集L={I,Ag,As}中的元素表示边上的标签集合,边集E=EI∪EAg∪EAs的定义如下:
定义2.3 EI⊆V×V×L是一个有向边的集合,EI中的有向边反映的是P中类之间的继承关系。
定义2.4 EAg⊆V×V×L是一个有向边的集合,EAg中的有向边反映的是P中类之间的聚集关系。
定义2.5 EAs⊆V×V×L是一个有向边的集合,EAs中的有向边反映的是P中类之间的关联关系。
定义2.6 如果一个类在对象关系图中既没有被其它类包含又不是其它类的子类,则称该类为主类。例如,图1中类A和类F是主类。
定义2.7 设D1(X)是类X静态依赖的所有类构成的集合。
类X静态依赖类Y当且仅当在对象关系图中存在一条从类X到类Y的有向路径。例如,图1中的D1(A)={B,C,D,F,G,H}。
定义2.8 设D2 (X)是类X静态和动态依赖的所有类构成的集合。
动态依赖关系可以从静态关系中推导出来。如果类Y是类X的服务类,则在程序执行的时候,类X及其所有直接或间接子类动态依赖Y及其所有直接或间接子类。例如,图1中的D2(A)={B,C,D,F,G,H,F1,F2}。如果在对象关系图中用虚边表示动态依赖信息,则构成的对象关系图称为扩展对象关系图。图2是图1加上动态依赖信息之后形成的扩展对象关系图。
3 测试顺序
测试顺序是面向对象软件集成测试研究的一个重要问题。在面向对象软件集成测试阶段,构造一个类对象或类成员函数的测试桩的代价非常昂贵。因此,假如使用已经测试过的组件去测试将要被测试的组件,则可以减少构造测试桩的工作量。这个策略的基本思想就是首先测试独立的组件,然后根据依赖关系测试有依赖关系的组件。例如,如果测试人员首先测试服务类,然后再测试客户类,则可以减少构造测试桩的工作量。拓扑排序可以用来计算无环对象关系图的测试顺序。例如,图1的测试顺序为B-C-G-H-F-F1-F2 -D-A-E-A1-A2。如果对象关系图有环,则可以采用某种策略临时删除某些关联边使之变成无环的对象关系图,然后再应用拓扑排序计算相应的测试顺序。
测试顺序解决的是类的测试顺序问题,而没有解决哪些类之间需要进行两两交互测试以及它们之间的测试顺序。例如,图2中需要进行交互测试的有AB,AC,AD,FG,FH,DF,AF,A1E,A1B,A2F,A1F,A1F1,A1F2,A2F1,……,其中AD应该在DF之后测试。下面给出计算需要进行两两交互测试的类及其顺序的算法。其中,假设对象关系图中没有环(对应的扩展对象关系图中可能有环),并且算法从对象关系图中的主类开始遍历整个扩展对象关系图。
步骤1:如果(V,Vi)之间有一条聚集边,则递归处理Vi,递归返回时将(V,Vi)插入到测试顺序队列中;
步骤2:如果(V,Vi)之间有一条关联边,则递归处理Vi,递归返回时将(V,Vi)插入到测试顺序队列中;
步骤3:如果(V,Vi)之间有一条动态关联边,则将(V,Vi)插入到测试顺序队列中;
步骤4:如果(Vi,V)之间有一条继承边,则递归处理Vi 。
根据上述算法可知,如果从图2中的主类A开始遍历,则得到的两两交互测试及其测试顺序为AB-AC-FG-FH-DF-DF1-DF2-AD-AF-AF1-AF2-A1E-A1B -A1F-A1F1-A1F2-A2F-A2F1-A2F2。
4 设计交互测试用例
确定好哪些类之间需要进行两两交互测试以及它们之间的测试顺序之后便可以设计交互测试用例。
步骤1:确定每个类的设计状态。例如,队列有空、非空和满三种设计状态;
步骤2:根据交互对象的状态组合设计交互测试用例;
步骤3:如果某个交互测试的测试用例数量太大,则可以使用某种启发式策略减少测试用例的设计数量。
5 结束语
测试顺序是面向对象软件集成测试的一个重要问题,并给出计算集成测试顺序的算法以及设计测试用例的策略。本文提出利用扩展对象关系图作为测试模型研究集成测试问题。本文只解决了两个类间的交互测试及其顺序问题,多个类间的交互测试及其顺序问题还需要进一步研究。
参考文献:
[1] KUNG D C, GAO J, HSIA P, et al. Class firewall, test order, and regression testing of object-oriented programs[J]. Journal of Object-Oriented Programming, 1995, 8(2): 239-244.
[2] TAI K C, DANIELS F J. Test order for inter-class integration testing of object-oriented software[C]. Proceedings of the CompsAC'97-21st International Computer Software and Applications conference, 1997: 602-607.
[3] TRAON Y L, JéRON T, JéZéQUEL J M, et al. Efficient object-oriented integration and regression testing [J]. IEEE Transactions on Reliability, 2000, 49(1):12-25.
一、集成电路封装测试的技术进步
封装测试是集成电路制造的后续工艺,为了使集成电路芯片的触点能与外界电路如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为根据信息产业网整理的一些相关统计数据。
我国封测产业已具备一定基础,随着我国集成电路设计企业的崛起和下游智能终端市场的快速发展,我国封测企业面临良好的发展机遇,前途一片光明。同时也将应对各种挑战(例如制造业涨薪潮、整机发展对元器件封装组装微小型化等要求等)。展望未来,国内封测企业只有进一步增强技术创新能力和成本管控能力,才能在日新月异的市场竞争中取得长足的进步。
参考文献:
中图分类号:G642.423 文献标识码:B
文章编号:1671-489X(2015)01-0024-02
1 辅助装备集成工具车项目的目的和意义
在比赛过程中,选手常常会遇到一些问题,比如:1)轮胎等很重的物品无法快速搬运,用老的笨重的方法,无法实现快速更换;2)工具多且较重,常常丢失找不到;3)赛场上,队员之间联系困难,需要保持随时沟通联络;4)多种用电设备,保证供电也是个问题。
基于此,北京理工大学学生机械创新实践中心有了做一个集成工具车的构想,其应具备以下功能:无线电联络(team radio),设置小功率发射基站,实现单工集群通讯,构建指挥和通讯平台;快速卸胎,参考国外类似工具,实现同时卸除多个螺母的功能;应急供电平台,多个电瓶组成电瓶组,以提升输出功率,通过高效正弦波逆变器提供稳定的220伏电压,并通过电压转换模块提供多组USB 5伏输出,必要时可以改为连续可调输出;设置车载工具箱,随时提供必备应急工具。
机械创新实践中心内现常驻三个创新团体,分别是方程式赛车工作室、智能车俱乐部和节能车俱乐部,目的是通过实践和参加汽车类创新比赛,提高学生的综合素质。他们在各种国内外比赛中取得优异成绩。
北京理工大学方程式赛车工作室,是其中成绩最优秀的。在汽车类科技创新比赛中,先后在第一届、第二届中国大学生方程式大赛中获得冠军;其后分别赴日本、德国参加比赛,并取得优秀成绩,创造出中国高校参赛同级别比赛的最好记录。2012年汽油机赛车排名位列世界600余所高校的88名,是唯一进入世界前100名的中国车队。
北京理工大学智能车队参与了全国大学生“飞思卡尔”杯智能汽车竞赛历次比赛,在前八届比赛中,多次获得各组别的华北赛奖项和全国赛奖项,竞赛水平位居全国高校前列。基于车辆比赛及测试的辅助装备集成工具项目的实现,将会帮助北京理工大学方程式赛车工作室创下更加优异的成绩。
2 辅助装备集成工具车项目的特色与创新点
其最大特点就是,将比赛过程中常用维修维护功能集成起来在一起,以提升工作效率。其实用性,在于集成多种功能,这需要进行多次反复的实验,进行调整和改进。其新颖性,在于以最优化的组合和最人性化的设计,专门针对方程式赛车的研究和维修,可以是独一无二的。工具车造型现代,集成车队技术工作、工作指挥平台、储存零部件和运送大型装备等功能,节省人力物力,并且占用空间少,是一个很实用的产品。而且在汽车类创新比赛中,北京理工大学是较早开始研发多功能工具车的。
3 辅助装备集成工具车研究内容、进度计划和研究方法
辅助装备集成工具车的研究内容
车辆基体原理:底盘部分采用五轮结构:四个万向轮;车底部中间安装第五个轮,为主动轮,负责辅助动力传输。制动为自行车碟刹动力传动采用带减速器的同步电机,具有可调速功能。
无线通讯原理:以中功率对讲机为基础,安装小型对讲基站,选择相同频段,给赛车和队员都配备发射接收装置,实现车队内部无缝沟通。
电动与电路设计:通过电瓶提供能源,用逆变器调节电压,通过传动装置实现车体运动,使用同步电机来限定转速。逆变器能提供220伏输出,供给电脑灯设备工作,也可给其他设备充电。
快速卸胎装置:参考国外类似工具的原理,计算扭矩,运用轮系设计改装电钻,使其达到同时卸除多个螺母的目的。
工具储存:在满足上述要求后,优化小车结构设计,充分利用空间,使随赛车的工具盒标准件能在工具车上有更人性化的储存空间和相应归类。
辅助装备集成工具车的研究计划
第一阶段:2012年9月―2013年11月,对工具车车身、结构进行设计,对方案进行修改,每周二下午组内成员进行讨论以及分工进行三维建模。
第二阶段:2012年11月―2013年1月,布置学生通过走访五金市场、网上搜索、组内头脑风暴等,对设计进行创意分析,并得出调研报告和修改纸质方案;布局构建,将多功能所需工具或部件合理设计并分布到三维模型上。
第三阶段:2013年1―4月,设计传动系统,研究“换胎枪”和无线通讯设备的原理以及对电机电瓶的有关知识的掌握,并对计划进行一定调整;对设计进行一定程度的修改。根据各学生特点,对他们做了分工:陈智舟负责无线电设备原理的研究,叶剑辉负责“换胎枪”的设计,李益民负责传动系统设计,许尧负责电机,李诗音负责电瓶。最后得出设计或研究报告。同时,建议他们进行深入调研,走访宜家、朝龙五金等大型市场,对布局和多功能整合性、加工难易程度进行调研,通过及时的调研结论,修改、整合设计,得出最终设计方案。
第四阶段:2013年5―6月,将车的整体加工组装,分为车架加工、车身加工、结构部件填充和最终组装四大部分;同时对一些细小的地方进行小修改;车的整体加工完成。
第五阶段:2013年6月―2014年6月中旬,对科创项目进行实验,分析并解决存在问题,进行总结。
车架的三维模型如图1所示。
辅助装备集成工具车的研究方法
首先,要求对现有工具车调研后,通过SolidWorks建立模型进行车体的大致钢架结构设计,对ANSYS车体进行力学结构分析,选取材料,使其承载极限达到100 kg,同时保证车体结构的稳定性,在一些紧急情况下,可以运载轮胎等重物。整车布局如图2所示。
第二,通过前期网络创意收集和反复研讨,修改钢架设计,使其兼具加工简易性、经济性,并符合美学原理。
第三,重新建立三维模型,将多功能的各部分分部先置于车上,并根据使用情况调整结构布局。
第四,经过对家居市场调研,通过整合设计,修改部件和布局,让车辆的结构设置兼备美学与简易多功能的特点。工具车最终模型如图3所示。
4 辅助装备集成工具车的最终成果及验收指标
通过一系列实验研究和改进,最终实现:
1)制作出一台多功能工具车,可以实现快速换胎、具有组成团体内的移动小型通讯功能、对移动设备进行充电、提供交流直流电源、实现常用工具的储存;
2)培养三名学生,使之能够熟练使用SolidWorks和ANSYS进行三维机械设计,将所学的知识应用于实践,培养学生的独立思考和熟练的实际操作能力。
1 引言
近些年来,微电子技术的集成度每过一年半就会翻一番,前后30年的时间里其尺寸缩小了近1000倍,而性能增强了1万倍。目前,欧美发达国家的IC 产业已经非常专业,使设计、制造、封装以及测试形成了共同发展的情形。因为测试集成电路可以作为设计、制造以及封装的补充,使其得到了迅速发展[1]。
我国经济处于稳定增长中。目前,全球半导体产业都在重点关注我国的集成电路产业,因为我国存在着庞大市场、廉价劳动力以及非常优越的政策支持等,因此,我国的集成电路产业在近几年有了迅速的发展。而计算机、通信以及电子类技术也被集成电路产业带动发展,而广泛地使用互联网也产生了很多新兴产业。与此同时,对集成电路进行测试的服务业也得到了很大发展。现如今,集成电路在我国有世界第二大市场,但是国内的自给率低于25%,特别是在计算机CPU上,国内技术与欧美发达国家还存在较大的差距。
微电子技术的发展已经迈进纳米与SoC(系统级芯片)时期,而CPU时钟也已进入GHz,在发展高端的集成电路产业上,我国还需要继续努力,与发达国家缩小差距。尤其与集成电路测试相关的技术一直是国内发展集成电路产业的薄弱点,因此,必须逐步提升集成电路的测试能力。
2我国集成电路测试技术能力现状
上世纪七十年代,我国开始系统地研发集成电路的测试技术。经过40年的实际,我国的集成电路已经从开发硬件和软件发展到系统集成,从仿制他国变成了独立研发。伴随着集成电路产业在我国飞速发展,与之相关的检测技术与服务也发挥着越来越大的作用,公共测试的也有了更大的需求,国内出现了一大批专业芯片测试公司进行封装测试板块。而集成电路的测试产业在一定程度上补充了设计、制造以及封装,使这些产业得到飞速发展。
但是,因为IC芯片的应用技术需要越来越高的要求与性能,所以必须提高测试芯片的要求。对于国内刚步入正轨的半导体行业来说,其测试能力与IC设计、制造和封装相比较是很薄弱的一个环节。尤其是产品已经迈进性能较高的CPU和DSP 时代,而高性能的CPU和DSP产品的发展速度远高于其他各类IC产品。相比较于设计行业的飞速发展,国内的测试业的非常落后,不但远远跟不上发达国家的步伐,也不能完全满足国内集成电路发展的需求,从根本上制约着我国集成电路产业的发展,缺少可以独立完成专业测试的公司,不能完全满足国内IC设计公司的分析验证与测试需要,已经是我国发展集成电路产业的瓶颈。尽管有很多外企在我国设置了测试机构,但是他们中的大部分都不会提供对外测试的服务,即便提供服务,也极少对小批量的高端产品进行测试开发、生产测试和验证。目前国内对于一些高端技术的集成电路产品的测试通常是到国外进行。而对于IC发展,不仅仅对其测试设备有着新要求,测试技术人员也必须有较高的素质。将硬件和软件进行有机结合,完善管理制度,才可以保证测试IC的质量,从而使整机系统的可靠性得到保障[2]。因此,必须加快建设国内独立的专业化集成电路测试公司,逐步在社会中展开测试芯片的工作,能够大量减少测试时间,增强测试效果,最终使企业减少测试花销,从根本上解决我国测试能力现存的问题,才能够加强集成电路设计和制造能力,从而使国内的集成电路产业得到发展。
3我国集成电路测试的发展策略
伴随着不断壮大的IC 设计公司,关于集成电路产业的分工愈发精细,建立一个有着强大公信力的中立测试机构进行专业化的服务测试,是国内市场发展的最终趋势与要求。因此,系统地规划和研究集成电路测试业的策略,对设计、制造与封装进行强有力的技术支撑,必将使集成电路产业得到飞速发展。以下是使我国集成电路测试产业得到进一步发展的建议:
3.1发展低成本测试技术
目前,我国的高端IC 产品还没有占据很高的比例,市场主要还是被低档与民用的消费类产品占据,例如MP3 IC、音视频处理IC、电源管理IC以及功率IC等,其使用的芯片售价本来就比较低,所以没有能力承受非常昂贵的测试费,因此企业需要比较低成本的测试。这就从根本上决定国内使用的IC 测试设备还不具有很高的档次,所以,选择测试系统时主要应该注重经济实惠以及有合适技术指标的机型。
3.2研发高端测试技术
伴随着半导体工艺的迅速发展,IC产品中的SoC占据了很大的比重,产值也越来越多。但是SoC在产业化以前需要通过测试。所以,快速发展的SoC 市场给其相关测试带来了非常大的市场需要。在进入SoC时代之后,测试行业同时面临着挑战和机遇。SoC的测试需要耗费大量的时间,必须生产很多测试图形与矢量,还必须具有足够大的故障覆盖率。以后,SoC会逐渐变成设计集成电路主要趋势。为了良好地适应IC 设计的发展,对于测试高端芯片技术也必须进行储备,测试集成电路的高端技术的研究应该快于IC设计技术的发展[3]。
4结束语
我国作为世界第二大生产集成电路的国家,目前测试集成电路的技术还比较落后,比较缺乏设计高水平测试集成电路装备的能力。对集成电路进行测试是使一个国家良好发展集成电路产业不可或缺的条件。集成电路企业需要不断地增强测试技术的消化、吸收以及创新,政府也需要发挥自身的导向性,为集成电路企业设计和建立服务性的测试平台。
参考文献:
中图分类号:TP311文献标识码:A
文章编号:1009-3044(2017)10-0230-03
1.背景
核电国产化正在持续进行,核电软件也随之在一步步的开发。而软件测试作为软件开发的重要有机组成部分,在软件开发的系统工程中占据着相当大的比重。集成测试作为软件测试的一个重要环节,其充分性、高效性在测试过程中尤为重要。如何高效地完成集成测试,并且在确保其充分性基础下减少测试成本,提高测试效率,成为集成测试的一个重要研究方向。
对于集成测试,通常有非渐增式组装测试和渐增式组装测试两种不同的组装方式。非渐增式组装测试是指一次性将所有模块按照设计要求组装成完整的系统,然后将庞大的系统作为一个整体来进行测试。渐增式组装测试是指先将某个模块作为系统的基础开始测试,之后每次将测试过的单个模块组装到系统中进行测试,直到整个系统组装完成。对于核电软件来说,在单元测试完成的情况下,所有计算代码集成的系统可能具有许多未知的缺陷。所以使用非渐增式组装测试方法,根据系统需求经过分析生成测试用例,使用黑盒测试对整个软件系统进行集成测试,发现集成后的系统中不可预知的缺陷。从而修复软件系统缺陷,完善整个系统。
集成测试是在单元测试的基础上,将所有模块按照设计要求组装成为子系统或系统,进行集成测试,从而确保各单元在组合之后能够按照要求正常的协作运行。而测试用例的设计原理作为软件测试必须遵守的准则,是软件测试质量最根本的保障。好的测试用例应该具有如下特点:有效性、可复用性、易组织性、可评估性和可管理性。因此,有一个好的用例设计原理,能够让测试人员设计出更加优秀的测试用例,从而降低测试成本,并得到准确的测试结果。
核电类计算软件,数值计算过程复杂,中间过程不透明,运算结果的正确性判定使用一个分析程序进行分析判断。通过输出结果中相应参数的值与分析程序得到的值的对比得到相关信息,所以此类软件的集成测试方法主要是非渐增式组装测试,属于黑盒测试。黑盒测试将软件作为一个黑盒子,不考虑内部程序结构,只检查程序功能是否按照需求规格说明书与软件设计文档上的规定正常使用,程序是否能接受输入并产生正确的输出。因此,黑盒测试只着眼于程序外部的结构,主要针对软件的功能进行测试。
基于K-V模型测试的集成测试的工作内容主要是在提供的base算例基础上,根据需求中输入参数生成测试用例。Base算例即为软件运行所需要的输入数据构所成的输入卡,base算例中的数据来自于核电软件所运行的环境中具有的各种环境数据以及其他相关参数。本文主要针对基于K-V模型的集成测试工具如何解决基于K-V模型的核电软件在软件集成测试-过程中出现的耗时高、工作量大、容易出现误差等问题,提出合理的工具设计与实现方案,并在此研究方案的可靠性、高效性与实用性。
2.基于K-V模型的集成测试
对于核电数值类计算软件系统,其运算是基于一组输入卡参数。大量的输入卡以参数名(key)与参数值(value)的组合作为基础输入元素输入到软件系统中。依据Key与Value的对应关系构建测试用例生成模型,生成测试用例。在其集成测试过程中将输入参数以K-V模型的形式存入输入卡中,作为软件的输入。在K-V模型中,K指的是Key,代表输入卡中的参数名;v指的是Value,代表输入卡中的参数值。Key与Value为――对应的关系。设计测试用例过程中,我们需要考虑的Key,来自可变参数对应表,可变参数表中包含了需要测试的所有参数的参数名。参数值可能是单个数值,也可能是一个数组。在测试用例设计过程中,如果参数值为单个数值,则将生成的测试用例值直接替换base输入卡中的值,生成测试用例输入卡。如果参数值为数值数组,那么要将测试用例值逐个替换数组中的值,对应一组测试用例,生成一组测试用例输入卡。
针对K-V模型,我们对其进行总结分类,划分出四个类别:1)Key为边界值类时,我们对其Value取上下边界值以及上下边界外的值作为测试用例。2)Key为枚举类时,对其Value取值域集合中的每个值作为测试用例。3)Key为数值类时,对其Value取默认值的上下一个数量级的值作为测试用例。4)Key为组合数据类时,对其Value值进行便利替换,将所要取得值便利替换默认值中的每一个数据,得到多个测试用例。
根据K-V模型得到测试用例后,根据每个测试用例,改变且仅改变Base算例中测试用例对应的变量,未改变变量值与Base算例中的变量值保持一致,以此生成测试用例输入卡,用于后续测试工作
3.基于K-V模型的集成测试工具Y构设计
基于K-V模型的集成测试工具,主要用于生成测试用例,执行测试用例,比较输出文件并提取其中的差异项,生成误差报表以提高人工走查的效率。该工具在结构设计上,采用三层结构,分为输入层、处理层、数据层。1)10层包括整个工具对外的输入输出接口,包括BASE算例、参数约束、调用驱动、BUG清单等模块。2)处理层连接10层与数据层,根据10层的输入输出以及调用命令,进行相应的操作,包括用例生成、驱动程序、差异分析等模块。3)数据层包括对整个工具的数据存取,包含测试用例、待测程序、分析程序以及输出文件等模块。
根据各层各模块间的调用关系,整个工具主要分为三个功能块:测试用例生成;调用驱动程序;分析输出文件。
1)测试用例生成
测试用例生成模块根据Base算例和参数约束表,生成测试用例与测试用例输入文件,主要包括CaseVariableToDict类、GenenrateCases类和CopyTestCaseInput类。CaseVariableToDict类对Base算例、参数约束表进行解析,生成相应的数据字典;GeneragCases依据测试用例生成规则将Base算例和参数约束表的数据字典生成测试用例字典;CopyTestCaseInput类将测试用例字典中的数据逐个替换Base算例输入卡,生成测试用例输入卡。
2)调用驱动程序
调用驱动程序模块,主要为CallDriver类,通过调用驱动程序驱动待测程序与分析程序运行测试用例,生成相应的输出文件。
3)分析输出文件
分析输出文件模块,主要为AnalyseOutputFiles类,对待测程序与分析程序所生成的输出文件进行对比并进行误差分析后,得最终差异信息,生成BUG清单。
4.基于K-V模型的集成测试工具运行实例
根据初步的工具设计与实现,我们取某软件部分内容作为待测软件用于对工具进行初步验证,并讲述具体文件格式(验证具体流程如图5)。
该待测软件用于实时监测某种仪器的状态,包含四个输入参数,分别为:状态state、温度temp、速度speed、加速度accel。状态表示当前仪器的状态,-1为异常,0为未启动,1为正常启动;温度表示仪器所处环境温度;速度表示仪器当前速度;加速度表示仪器水平四个方向的受力情况。
表2中,“变量名”表示待测软件的输入参数名,“分析程序变量名”表示分析程序中所τΦ氖淙氩问的参数名,类型为参数值的类型,含义为参数的具体含义,默认值为默认状态下参数的取值,值域为参数的取值范围。
3)根据base算例以及参数约束表,可以生成测试用例设计表如图7上。
其中,“name=xxx”表示测试用例编号,name为测试用例编号名,用于与参数名做区分,可取任意非参数名的单词作为编号名,默认为name。用例编号下对应为测试用例所取参数的取值。
4)根据测试用例设计表,逐个将base算例中的相应参数替换,即可生成对应的测试用力输入文件,用于对待测程序进行测试。其中部分测试用例输入文件图7下。
根据上述过程生成测试用例后,调用驱动程序执行测试用例得到输出文件,对待测程序与分析程序的输出文件进行差异分析,得到差异报表,生成BUG清单,完成集成测试的初步任务。
传统变电站二次系统很难在工厂内完成测试,严重制约了系统的安全性和稳定性。智能变电站二次系统设计的核心内容为IEC61850 标准,该标准兼具网络通信特点和数字化建模思想,很多信息只需依靠光纤进行传输,给接线、布线工作带来很大方便。因此,与传统意义上的变电站相比,智能变电站在系统结构、设备模型及集成调试等方面出现很大变化。智能变电站二次系统集成测试工作可在厂商工厂内完成,进而缩短了现场测试时间。文章以智能变电站二次系统典型结构为案例,阐述和分析系统集成测试工作。
1 智能变电站调试特征
根据“IEC61850”系统相关配置规范,智能变电站二次系统需要以网络作为依托,并结合多种智能化电子装置组成。这些电子装置接口及功能模型必须是可配置的,且需要相应的配置文件和工具对其进行维护,使系统能够按照不同需求开展配置和集成。智能变电站二次系统在进行二次系统调试工作时,可主要将其分为两个部分,一是集成测试,二是现场调试。其中,现场调试主要负责联合性测试,包括信号回路检测、回路测量、开关传动试验等。集成测试则主要使用“SCD”作为系统配置文件,具有灵活性和便捷性,能够完成二次系统大部分性能测试。集成测试能够保证二次系统运行质量和维护效率,对智能变电站具有重要意义。
2 二次系统集成测试工作
2.1 基本流程
集成测试是指应用“SCD”文件对智能变电站二次系统进行集成,同时完成对二次系统的配置工作,并对连接后的系统功能进行测试。根据“IEC61850”中相关标准,系统集成配置完成后,应参照“SCD”文件、设计图纸对整个二次系统进行功能测试。现阶段,很多智能变电站为了保障集成测试工作的进度,会先在非集成商的厂家开展 IED 装置测试,后实施系统集成测试。整个过程要对 IED 进行分类,根据分类结果对各层 IED 装置进行测试,通常先后顺序为:过程层 IED 装置――间隔层IED 装置――站控层 IED 装置――顺控、五防功能测试。
2.2 系统集成配置
可以说,系统集成配置是智能变电站的特有之处,与传统意义上的变电站存在本质上的不同。智能变电站使用“IED”文件来描述所有功能,特别是涉及到对外信息交互。而“SCD”则主要负责将“IED”逻辑根据系统规范联系在一起,由全部 ICD 文件、相关配置工具共同创建,并参与到维护工作中。每个“SCD”文件均包含“IED”数据及网络信息通信相关参数,并与其建立交互关系。因此,只有保障二次系统集成配置、设计完整无误,才能正确发挥系统功能,主要包括两个方面,即物理方面和逻辑方面。
通常,“SCD”文件在生成、维护时,需要由集成商来完成,集成商也就是常说站控层相关配置的供应者。集成商可使用自身配置工具将多种 ICD 文件收集起来,集中进行配置,然后根据配置完成后的信息,将“IED”升级成为 CID 文件。这样一来,CID 文件中就会存在相应的“IED”连接信息和网络通信信息。IED 生产商可利用自己厂家的装置工具将 CID文件下装到“IED”中,完成整个二次系统集成配置,即网络通信参数配置和相关逻辑连接设置。
2.3 系统集成测试
智能变电站二次系统集成测试应该以“SCD”文件作为基础,主要负责对“IED”装置配置的合理性和正确性进行验证,特别是针对不同厂商、不同规格、不同类型的“IED”整体性能,利用网络通信参数、数据共享保证系统的安全性和可靠性。系统集成测试主要包括模型测试、“IED”单体调试、相关设备互联互通测试、间隔层设备之间的测试以及系统测试等。
2.3.1 模型测试
模型测试是指对“IED”配置中 ICD 文件模型进行标准化测试,测试标准首先应满足“IEC61850”中相关规范,同时要兼具国家电网要求。同时,要对 ICD 模型与装置之间的协调性进行测试,具体包括以下几个方面内容:(1)检验模型是否符合我国国家电网工程的相关模型。
(2)对模型中各项参数实例化进行检验,如 LN、DO、DA 等。
(3)检验模型中是否存在“desc”字段。
(4)检验模型模板是否和“IEC61850”标准发生冲突。
2.3.2 “IED”单体测试
“IED”单体测试主要负责对 ICD 模型安全性和一致性进行检验,同时检测输入和输出接口数据的准确性,并对设备同步过程中精度进行测试。另外,由于智能变电站二次系统主要采用网络进行通信,在对数据进行采集时,通常不需要模拟信号(实时)接入。这种情况使得电压、电流控制的实时性与网络通信功能的好坏存在直接联系,因此“IED”单体测试也负责对网络报文分析仪器进行测试和调试。
2.3.3 系统测试
系统测试以“IED”单体测试为前提,基于系统整体性能对二次系统的安全性和整体性能晋级下那个测试,进而保证多种装置形成的二次系统的可靠性,主要内容包括多角度对系统进行整体性测试,以确保由多个层面多个类型装置所组成系统的正确性和可靠性。这其中主要包括主窗口功能检测、数据库检测、警告功能检测、系统自我诊断检测、系统自我恢复测试及时钟同步测试等。通过微机监控体系对系统界面、数据库及网络通信等系统性能进行测试,其中的网络通信功能测试及高级应用检测都是传统变电站不具备的,属于智能变电站独有的。
3 结束语
本文在分析智能变电站先进技术的基础上,对二次系统集成测试工作的主要目标、基本流程、工作内容尽心很高简要介绍,指出目前二次系统集成测试工作需要强化的主要环节,旨在为完善智能变电站二次系统建设提供思路。
参考文献