公务员期刊网 精选范文 集成测试范文

集成测试精选(九篇)

集成测试

第1篇:集成测试范文

在上期栏目中我们给大家介绍了应对挑战的新方法,本期我们将详细介绍UML图表和美科利质量中心的详细解决方案,并对公司在UML和美科利质量中心集成中所获的体验和结果进行陈述。

使用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移入合适的方位。如果相同的话,无需进行任何操纵,因为在用户界面的正确方位上测试已经展开了。

总结:业务案例成果

第2篇:集成测试范文

关键词:SCADA;系统;集成

中图分类号: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]杨帆,孙姗,郭抒然.电力调度SCADA数据转发配网SCADA系统的方案分析[J].电子世界,2013(19):51-52.

第3篇:集成测试范文

集成电路封装的结构型式

集成电路芯片的封装技术已历经了好几代的变迁,技术指标一代比一代先进,如芯片面积与封装面积越来越接近,适用频率越来越高,耐温性能越来越好,引脚数增多,引脚节距减小,可靠性提高,更加方便等等。芯片封装形式很多,但就其与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)。

为满足发展的需要,在原有封装方式的基础上,又增添了新的方式一一球栅阵列封装(BGA)、盘栅阵列封装(LGA),芯片尺寸封装(CSP)、多芯片组件(MCM)等等,其外形见图12,由图可以看出,这几种封装形式充分利用整个底部来与电路板互连,用的不是接脚,而是焊锡球,因此除了封装方便容易外,还缩短了与PCB板之间的互连距离。

第4篇:集成测试范文

关键词:集成电路 设计验证 发展策略

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结束语

我国作为世界第二大生产集成电路的国家,目前测试集成电路的技术还比较落后,比较缺乏设计高水平测试集成电路装备的能力。对集成电路进行测试是使一个国家良好发展集成电路产业不可或缺的条件。集成电路企业需要不断地增强测试技术的消化、吸收以及创新,政府也需要发挥自身的导向性,为集成电路企业设计和建立服务性的测试平台。

参考文献:

[1]程家瑜,王革,龚钟明,等.未来10年我国可能实现产业跨越式发展的重大核心技术[J].中国科技论坛,2004(2):9-12.

第5篇:集成测试范文

关键词:RFID技术;冷链仓储管理;集成测试;成功应用;经验启示

RFID是一种非接触式的自动识别技术,是21世纪发展前途最大的信息技术之一,主要包括无线通信技术、信息安全技术、标签封装技术、系统集成技术、芯片与天线设计和制造技术等。当前,中国已将RFID技术应用于诸多领域,包括铁路车号识别、身份证和票证管理、动物标识、特种设备与危险品管理、公共交通以及生产过程管理等。2017年3月,天津市小蜜蜂公司将RFID技术应用于冷链仓储管理中,成功实现了集成测试,有效提高了冷链仓储环节的识别效率与准确性。由此,文章将深入分析此案例的成功经验,从而为RFID技术在整个物流业乃至跨境物流领域的应用提供参考与借鉴。

一、案例概述

天津小蜜蜂计算机技术有限公司(简称小蜜蜂公司)成立于2005年,主营RFID、通信、无线、楼宇智能化的系统集成及软件开发,并致力于成为领先的信息技术与物联网业务解决方案供应商。小蜜蜂公司一直重视为仓储物流领域提供具有先进的技术产品和服务,帮助客户建立智慧型仓储物流管理体系。2017年3月,小蜜蜂公司成功完成了RFID应用于某大型物流企业冷链仓储管理项目的集成测试,此次项目测试主要在客户的Smart WMS智慧仓库管理系统中融入RFID技术,并将该技术应用于冷链仓储业务流程中,包括理货、备货、标识、入库上架、移库、出库下架等业务。小蜜蜂公司旨在通过此次测试与客户一起实践,让客户真正了解RFID技术在冷链仓储管理中的应用效果,帮助其有效解决业务效率低下、业务操作流程混乱、仓库商品信息不全面、盘点不精准等仓储管理问题,实现对冷链仓储管理业务的高效管理。

在测试实施前,小蜜蜂公司的Smart WMS团队多次组织项目现场勘察和调研活动,并与客户积极沟通与交流,为制定合理可行的解决方案做准备。同时,小蜜蜂公司成立了专门的项目小组,并由其制定测试计划表,在测试准备期间,小蜜蜂公司团队对客户的仓储管理业务流程进行了详细分析,并按照仓储业务流程,进行RFID中间件以及应用软件的开发。经过充分的测试准备后,小蜜蜂公司团队开始进入现场进行测试,工作人员与设备进入仓库现场后,在叉车上进行RFID设备集成安装,并采用公司自主设计和制作的铝合金支架,对电源、车载式读写器、天线、平板电脑等设备进行可调整式固定。集成安装完成后,工作人员开展了卸货与码货作业,并在集装箱内、码货、取货叉托盘过程中进行RFID读取测试,进而依据测试数据调整软件参数、天线角度和设置策略;之后,小蜜蜂公司团队在每层货架上安装了RFID电子货位标签,并进行了上架和下架测试,进一步将货物读取标签安装在叉车上,以获取精准的货物位置信息,最后通过平板电脑显示上述信息。整个上架和下架测试持续了一天半的时间,期间小蜜蜂团队多次对RFID中间件、读取托盘标签与货架标签的天线、参数设置分别做出相应调整,以确保测试的准确性。完成上述测试后,小蜜蜂团队运用与测试相匹配的设备,陆续在现场进行了平面仓库RFID测试、高位叉车RFID测试和自动化仓库固定式RFID读写器测试,并取得了较为满意的数据读取率、数据采集灵活度和数据反馈效率。

此次RFID技术应用于冷链仓储管理的测试项目,是一种以客户需求和具体环境为中心的应用测试。测试对象包括整个方案的过程和结果,其开展的场景与实际应用环境非常接近。同时,测试团队以实现精益化冷链仓储管理为目标,将客户仓储管理业务流程与软件的智能算法相结合,以确定最佳的解决方案,为RFID应用于冷链仓储管理项目的具体实施提供了保障。

二、RFID应用成功的经验做法分析

(一)精准定位目标客户,满足多元业务需求

天津市小蜜蜂公司在冷链仓储管理集成中,成功应用RFID技术的主要经验之一是准确定位了应用测试目标,满足客户I务需求,从而提供先进技术与商品服务。在选择供应商方面,小蜜蜂公司优先定位了专业型提供冷链仓储物流服务的供应商。例如,供应商具有提供总体供应链服务,第三方跨境电商、海关查验服务、商检、高质量冷链仓储物流、进口食品国际交易服务等能力。在定位客户方面,深入了解与掌握客户仓储现场工况环境,客户期望等。包括,RFID系统的规划到设计、评估到实施,不断运营与后续支持,为客户提供一种立体化、全方位与灵活处理方案,助力客户构建新时代智慧的仓储物流管理。例如,个性化定制开发、软硬件一体化商品、生命周期管理与咨询等服务。通过应用RFID技术,充分满足仓了储物流领域的客户实际业务需求,由此提供优质商品与服务。

(二)测试计划周密、准备充分,提高了RFID应用的成功率

为了实现将RFID技术成功应用于冷链仓储管理,在测试实施前,小蜜蜂公司Smart WMS团队为此次测试项目设立了包括项目经理、软硬件支持人员的专门项目小组,并由其制定测试计划表。项目小组依据客户的冷链仓储管理需求、业务流程以及预计效益,制定了测试目标,以及涵盖约200个测试事项的计划表,为具体测试提供了参照依据,从而提高测试成功率。同时,在测试前,Smart WMS团队多次到项目现场进行考察和调研,并与客户积极沟通与交流,充分了解客户仓储现场的工况环境和仓储管理业务操作流程,并进一步结合关于RFID应用的智能算法、过滤机制等,开发与仓储现场相适应的手持、车载、固定式RFID中间件以及测试Demo应用软件,提升RFID与客户冷链仓储管理系统的匹配度。此外,在测试准备过程中,小蜜蜂公司与多家读写设备、各类标签等硬件的供应商合作,选用高性能RFID设备,并为叉车、托盘与自动化仓库中准备了相应的先进配件,以此推进RFID在冷链仓储管理体系中的运用,提高客户仓储业务的效率。

(三)测试环节覆盖较广,有效规避了应用的不确定性

此次测试项目中,小蜜蜂公司将RFID全面融入到客户冷链仓储管理系统中,测试环节包括叉托盘测试、上架和下架测试、平面仓库测试、高位叉车测试以及固定式读写器测试。并且,项目小组在每个环节中均开展了全方位的测试内容,例如,在上架与下架测试中,工作人员在叉车上安装了货物读取标签,以获取货物位置信息,规避RFID在冷链仓储管理中应用的不确定性;针对货物上架的具体测试操作,相关工作人员先后对货物标签、货位标签分别进行扫描,扫描数据通过无线网路与数据库通讯进行比对,确认数据无误后,完成上架;针对货物下架的具体测试操作,工作人员依据下架任务找到货物后进行扫描,进而完成下架操作。再如,对平面仓库进行测试时,根据此仓库货物需要用铁框托盘进行堆叠码放的特征,测试小组在铁框托盘上安装了抗金属标签,并进行高层和底层的托盘读取测试,同时,将货位标签作为地标安放在货物前面的地上,开展地面RFID标签测试。总体来看,小蜜蜂公司对冷链仓储管理不同环节进行了RFID应用测试,有效规避了不同情况下RFID应用的不确定性,从而实现仓储管理可视化、全局化和协同化。

(四)有效运用多方协作模式,场景选择接近实际应用环境,提高测试结果的可靠性

在此次项目测试中,小蜜蜂公司充分运用多方协作模式,场景选择接近实际应用环境,提高测试结果的可靠性是成功将RFID技术应用于冷链仓储管理集成的主要经验之一。例如,在Smart WMS业务发展中,采用“联系+发展”的协作模式,创建各行业仓库管理过程中入库、退库、调拨等核心业务环节,以及各方面专业人才的协同配合,形成了企业仓库管理完整体系。此外,整个方案过程和结果的测试场景选择与部署,接近实际应用环境,有效保证了测试结果的可靠性。具体而言,在现场测试环节中,仓库穿廊的地方温度为-4℃至-5℃,库房内部恒温在-20℃以下,持续性测试了4-5天。并且,在实际现场测试过程中,安装了相应测试设备,对不同场景与仓库进行全方位测试,由此为测试的成功提供了进一步保障。

三、几点启示

(一)加大RFID技术的科研投入,提升物流仓储管理水平

RFID企业应加大RFID的科研力度,加速RFID创新,尤其是技术创新、生产创新、应用创新,以及中间件的发展创新,提升物流仓储管理水平。一方面,企业应加大RFID传感器网络与通信网络技术的研发投入,增加拥有自主知识产权的技术和产品数量。并且,应针对物流仓储管理产品,研发新一代RFID标签检测仪,运用物流识别检测技术,进行完整准确的数据统计、物流仓储分类细化与环境识别,从而减少物流仓储损失。另一方面,研发企业要加大RFID远距离快速读取技术的创新力度,建立RFID的货物管理平台,通过对货物入库、出库、盘点等核心业务优化升级,提升物流仓库管理业务水平。同时,企业应加大RFID的自动识别功能技术的研发力度,提供货物实时动态消息,实现信息及时共享;创建准确性、盈利性和客户满意的物流仓储管理,实现物流仓储管理水平的提升。

(二)优化基于RFID的物流管理信息系统,实时监控货物冷链仓储信息

将RFID应用于物流信息系统中,可以发挥其自动识别与精准定位等功能,实时监控货物在物流全过程的相关信息。由此,企业应不断优化基于RFID的物流管理信息系统的硬件构成,包括电子标签、读写器、中间件与服务器等,大幅提高冷链仓储环节货物信息采集的及时性与准确性。具体而言,可通过优化电子标签方式,扩大读写器作业范围,精确过滤和整理仓储入库货物数据,并对各个车间的仓储信息进行实时监控、定位和追踪。同时,在物流管理信息系统中,应将RFID技术与MES相结合,实时控制冷链仓储的各个环节,保证物流顺利开展。例如,应借助安装于各个车间的读写器,实时读取与传输各类仓储信息与数据;借助MES的实时监控功能,进行货物冷链仓储工作的指令下达与调度,提高物流管理信息系统的自踊与信息化程度。通过优化此系统方式,可以实时监督与调控货物的冷链仓储信息,提高整体物流效率。

(三)加强RFID安全系统建设,保护客户隐私数据与信息

随着人们网络安全意识的觉醒与日渐扩大,保护隐私数据与信息已成为RFID应用于物流管理领域的关键问题。因此,相关企业应从保护物流仓储环节中的客户隐私数据出发,加强RFID的安全系统建设,一方面,RFID相关企业应在原有数据保护技术基础上,创建适用于RFID的新型安全系统,对物流仓储环节的客户隐私数据与信息进行保护:另一方面对应用RFID系统的物流管理数据进行筛选,利用细粒度加密方法对数据采取加密处理。通过建立密钥管理模块和管理协议,对数据隐私进行保护,防止客户隐私数据泄露。同时,冷链物流企业应加大对RFID安全系统的监管力度,确保电子标签和读写器之间数据传输的安全,有效保护物流仓储环节中的客户隐私数据与信息。

第6篇:集成测试范文

关键词:功能特性;固定0-1故障;桥接故障;标准输入矩阵

中图分类号:TP3 文献标识码:A 文章编号:1009-3044(2013)12-2866-05

超大规模集成电路的高速发展导致了单个芯片的组成元素个数的指数增长。然而,由于每个芯片的基本输入输出是有限的,这导致了测试芯片工作更加困难。此外,集成电路制造商们因为知识产权的问题不乐意公开电路板内部实现的详细细节。另外,为了确保一个系统操作的可靠性,用户需要在在芯片提供给系统前对其进行测试。尽管如此,用户通常可以从集成电路制造商的数据书中找到一些该芯片的功能属性和芯片的部分体系结构。因此,两个问题出来了:1)只是基于一个芯片的功能特性而不知道其内部的实现细节,对其进行测试可能吗?2)进一步,用和上一步同样的信息,不仅测试这个芯片的固定故障而且测试其桥接故障可能吗?事实是,对这两个问题的回答都是积极的。

在这篇文章中,我们根据芯片的功能特性提出了一些系统的测试方法。不管怎样,基于对被测电路板的有限信息,我们的测试也会受限。因此,我们在此只考虑电路板的基本输入输出上的故障。换句话说,我们将要测试的故障仅限于下边几种:

1) 基本输入输出上的固定故障;

2) 输入线间的非反馈桥接故障;

3) 输出线间的非反馈桥接故障;

4) 输入和输出间的反馈桥接故障。

尽管我们的测试仅仅是根据电路板的外部特性提供的有限信息,我们得到了很好的效果,可以很方便的检测电路板的功能特性。对于大多数的用户来说,这个方案可以直接实现而不用复杂设备,软件和其他复杂工作。

1 基本定理

下边的定理,已经在前几篇论文中提出并证明,在这里再次列出但不予证明。方便起见,不失一般性,在这片文章中,我们提到桥接故障时就是这与-桥接故障模型。此外,我们把桥接故障划分为反馈型桥接故障和非反馈型桥接故障。

定理1:让我们来考虑一个电路板,其实现的F(n,m)这个功能函数,该功能函数有n个输入x1,...xn和m个输出F1,...Fm,我们在此提出一个输入矩阵T,其格式如下:

我们称T为输入矩阵T。

T可以检测出输入线x1,...,xm中的任何一个固定故障,当且仅当(a)T既不包含全0列也不包含全1列。(b)对每一个i(1≦i≤n),这里总存在一个j(1≤j≤N)和一个k(1≤k≤m)使得Fk(t1j,...ti-1j,0,ti+1j,...,tnj)≠Fk(t1j,...ti-1j,1,ti+1j,...tnj).

定理2:定理1中提到的输入矩阵T检测所有的输出线上的固定故障当且仅当对应定理1中的输入矩阵,输出矩阵。

既不包含全0列也不包含全1列。

定理3:功能函数F(n,m),有n个输入x1,...xm,m个输出F1,...Fm,在这个电路板中非反馈桥接故障可以被检测当且仅当至少存在一个输入结合(a1,...as,xs+1,...,xn),(a1,...as)不是全0也不是全1,且有一个k(1≦k≦m)满足

Fk(a1,...as,xs+1,...,xn)≠Fk(0,...,0, xs+1,...,xn)

定义1:X=(x1,...,xn),xi={0,1}。对于有n个变量的布尔功能函数F来说,当X中含有的1的个数最少且使F=1时,X成为F的最轻最小项。

定理4:实现布尔功能函数F的输入输出间的任何反馈桥接故障都可被检测出来通过一个一步测试方案0或者一个两步测试(0,LM),这里LM是F的一个最轻最小项。

因为对于所有的反馈桥接故障来说,只有上边所提的一步或两步测试被需要。不管怎样,在两步测试中,LM必须提供给电路板,测试将第二步尾随第一步进行。

2 测试固定故障和桥接故障的案例应遵循的规则

基于上面所描述的理论,我们发现一些测试一个电路板的外部输入输出的固定故障和桥接故障应遵循的规则。

让我们考虑一个实现功能函数F(n,m)的电路板。T和F(T)是我们以上提到的输入输出矩阵。然后,我们可以发现如果T检测错误,那么输入矩阵T和输入矩阵F(T)必须满足如下规则:

规则1:为了检测固定故障,T和F(T)都既不包含全0列也不包含全1列。因为,如果不这样,一个固定型故障不能与非固定性故障但是有全0或全1列的区分开来。

规则2:为了检测输入线上的固定故障,对于每一个输入线Xi,必须存在一个j和一个k,使得Fk(t1j,...ti-1j,0,ti+1j,...,tnj)≠Fk(t1j,...ti-1j,1,ti+1j,...,tnj)。

规则3:为了检测输入和输出线上的非反馈桥接故障,T和F(T)都不能含有两列相同列,这样任意的非反馈桥接故障都可以被检测到。因为这个原因,这里必须

规则4:为了检测一个电路板的输入输出间的反馈桥接故障,输入矩阵中必须包括上边所提到的一步和两步阵列。

基于上述的规则,固定故障和桥接故障的测试矩阵可以很容易的产生且不用去了解被测芯片的内部详细实现。

作为一个例子,我们来考虑一个8-bit RAM,其有8个输入(x1,x2...x8),4个地址线(a1,a2,a3,a4)和一个读写控制线C.当C=0时是写模式,当C=1时是读模式。此RAM的8个输入线可以被描述为:

失一般性,我们假定所有的存储单元在测试前置0,这样下边的输入输出矩阵可以用来检测所有以上提到的故障。我们首先按顺序依次写5个8-bit数据,然后是读操作把数据倒序读出来。

可以看出我们上边提到的固定故障和桥接故障用这对输入输出矩阵都可以被检测出来。为了进一步的阐述输入输出矩阵的用途,我们简单的看几个例子:

1) 检测输入线上的固定故障:一个控制线C上的固定故障,任何一个地址线ai或任何一个数据输入线xj上的固定故障都可以用T和F(T)检测到。例如,在a1上有一个固定0故障,这样第五行的输入变成(0011111110000),使得地址单元(0111)重新写入(11110000),而地址单元(1111)并没有数据写入。因此,在输出矩阵中,输出的第六行变成(00000000)而且输出的第七行变成(11110000).因此,a1上的固定0故障可以被检测到。

2) 检测输出线上的固定故障:对于人一个输出线zi上的固定故障可以简单的被输出矩阵检测到。任何输出线上的固定故障将会形成输出矩阵上的全0或全1列。

3) 检测输入线上的非反馈桥接故障:地址线间的任何非反馈桥接故障可以检测到通过观察到两行相同的输出。例如,两个地址线a1和a3连接到了一起,那么数据输入矩阵的第三行(01010101)将被重新写到地址单元(0001)。结果是,输出矩阵的第8和第9行有相同的值(01010101)。用类似的方法,一旦地址线和输入线间有连接在一起的,这样在输出矩阵中将有多余一行的数据会被改变,因此这个故障可以轻易的检测到。

4) 检测基本处出现上的非反馈桥接故障:这个故障可以被直接检测到仅仅通过检查在输出矩阵里是否有至少两个形同的列即可。因为任何输出线上的非反馈桥接故障都会导致在输出矩阵中至少有一对相同的列。

3 固定故障和桥接故障的确定

通过上述讨论的规则,我们现在发明一个系统的方法可以确定一个电路板的固定故障和桥接故障的位置,而不用知道电路板的详细实现。

方便起见,我们来考虑一个4位快速全加法器。这个加法器有9个输入线:包括4个数据输入线(A1,A2,A3,A4),(B1,B2,B3,B4)和一个低位向高位的进位C0,五个输出线:4个输出线(∑1,∑2,∑3,∑4)和一个向高位的进位线C5.然后让我们来考虑如下的输入-输出矩阵。用来检测和确定可能的固定故障和桥接故障。

从上面可以看出,4位全加器实现的布尔功能函数F(9,5),它有9个输入5个输出。为了测试和定位故障,矩阵可以称为标准输入矩阵(standard input matrix , SIM), 它生成的矩阵称为符合输出矩阵(corresponding output matrix, COM)。在COM中的每一行都是根据运算法则对输入产生的。现在我们考虑为什么这个选择好的SIM和COM可以用来测试和定位所有可能的固定型故障和桥接故障。

1) 如果在输入线上有任何固定型故障,那么至少会有两个相等的形式出现在SIM中。因此,也会有两个相等的形式出现在COM。

2) 如果在输出线上有任何固定型故障,那么在COM中会有全0或全1的列出现。

3) 如果在任何两个输入线之间有NFBF故障,那么至少有两个相等的形式出现在SIM中,因些也会有两个相等的形式出现在COM中。

4) 如果在任何两个输出线上有NFBF故障,那么至少有两个相等的列现在COM中。

5) 如果在任何输入线和输出线之间有FBF故障,然后根据一步或两步测试序列,至少错误列上会有一个0。

从上面的例子,可以和很容易看到,不仅固定型故障和桥故障可以被测试出来,而且它们的位置也可以根据他们在输出矩阵中的错误形式找出来。根据上面的讨论,可以得到下面的结果。在一个电路的合适SIM中,可以找出在主输入和输出上的各种错误,只要它的相应COM符合下面的条件:

1) 在输出矩阵中不多于两个相等且相邻的行。

2) 在输出矩阵中不多于两个相等的列。

3) 在输出矩阵中没有任何的0(1)列。

进一步,如果输入形式SIM也满足在III中的规则4,那么它也可以测试在输入线和输出线上的FBF故障。

为了定位故障,我们重新考虑下面SIM和它COM的通用例子。SIM中根据函数有个n条输入,我们的(n+1 x n)输入矩阵中每行ti有(i-1)0s,第(tn+1)th行是全(1,1,. . . ,1)向量。图1(a)展示了SIM的初始化状态。对于M列的输出矩阵,我们称是SIM按照F函数对应生成的。

根据上面的呈现的三个可测试条件,我们现在可以用下面的几个原则去定位固定型故障和桥故障。

1)如果在输入线xi(1≤i≤n)上有一个故障s-a-0,那么SIM中的输入形式t(n-i+2)将要变成t(n-i+1),这让SIM中的两个相邻行t(n-i+2) 和t(n-i+1)相等。同样,在输出矩阵中,F(n-i+2)也将变成F(n-i+1),标记为:F(n-i+2) F(n-i+1).

2)如果在两行以上输入线上有NFBF错误,就是xi和xj,(1≤i≤j≤n )那么,根据上面相同的原因,可以很容易地知道在输出形式COM中将发生F(n-i+2) F(n-i+1)的变化。

3)接下来可能会琐碎些,对于输出线上的固定型故障或NFBF故障,可以直接观察输出矩阵就可以看出来。因此,上面的规则使用(n+1 x n)SIM和(n+1 x m)COM可以应用来去确定固定型故障和桥故障。

对于输入线和输出线间的FBF故障,可以使用测试序列(0,LM)在加在SIM的前面就测试任何在输入线和输出线间的FBF故障。

事实上,在图1上描述的SIM不一定能保证产生一个有效的COM去满足上面的三个测试条件。因此,现在的测试生成算法如果生成一个错误的SIM,就交换SIM中的列再生成合适的COM,可以有效地适应初始SIM。这里讲一种列交换算法,它将修饰输出形式COM以满足合适的测试条件。

列交换算法的任务是进行列交换,描述如下。

列交换规则:

第一步:对于给定的函数F(n , m),形成初始化的a (n+1) x n SIM,可如图3所示。

第二步:根据给定的函数和SIM,运算生成它相应的COM。

第三步:检查新生成的COM是否符合三个条件。 符合条件就停止运行。不符合条件进行第四步。

第四步:完成当前SIM中所有列的交换以生成一个新SIM,转回第二步。

为了举例说了列交换算法中的列交换,我们考虑了一个熟知的电路上的应用。如图4,它是一个4位的ALU,带着14条输入线和5条输出线,首先从它初始的SIM通过函数得到相应的COM。

然而很明显可以看到,从初始SIM计算出来的COM并不满足上面三个可测试条件。因为一些COM中相邻的行是相等的。如F4 =F5 ,F6 =F7 ,F10 = …=F14。经过重复执行2-4步,我们通过交换SIM中列的位置可以改变的输入形式,因此再次计算所得的COM也会改变它的值,此时再次重新检查新的COM是否满足三个输出条件。经过几次重复列交换算法后,初始的SIM和COM已经改变了他们的形式产生出新的COM,新计算的COM也可满足可以可测试条件,这样我们就可以根据原则进行测试。变成图5所示。

4 加速寻找速度和实验结果

交换算法可以生成有效的SIM和它的COM,事实上,最坏的情况下,交换算法的时间复杂度可以达O(n),n为被测试电话的输入线数。这是因为它需要所有可能的输入排列去找到一个合适的SIM。当N增加时,算法的时间复杂度也就增加。因此,一个随机的交换算法可以很好地提高查找速度以生成符合条件的COM。使用随机交换算法,我们每次交换的SIM的n个输入数列是随机产生的,而不是以前算法中的相邻地一个接一下产生的。理论上,最坏的情况下,随机交接算法和原始算法有相同的时间复杂度,但在实际操作中,前者却是更高效的。下面的表中,列出了以四项基准比较这两种算法的实验运行时间。

参考文献:

[1] S.Xu and S.Y. H. Su, “Detecting I/O and Internal Feedback Bridging Faults”, IEEE Trans. On Computers Vol.34, No.6, pp.553-557, 1985 ;Also re-printed in IEEE Computer Society Press, 1992, pp.9 –13.

[2] S.Xu and S.Y. H. Su, “Testing Feedback Bridging Faults Among internal, Input and Output Lines by two patterns”, Proc. ICCC 82, 1982, pp.214-217

[3] S. M. Thatte and J. A. Abraham, “Test Generation for Microprocessors”, IEEE Trans. on Computers C29, 1980, pp.429-441.

[4] S. Y. H. Su and Y. I. Hsieh, “Testing Functional Faults in Digital Systems Described by Register Transfer Language”, J. Digital Systems. Vol. 6, 1982, pp.161-183.

[5] M. Karpovshy and S. Y. H. Su, “Detecting Bridging and Stuck-at Faults at Input and Output Pins of Standard Digital Components”, IEEE Proc. 17th Design Automation Conf. pp. 494-505

第7篇:集成测试范文

【关键词】软件生命周期;质量管理;软件测试

1.引言

软件质量是指与软件产品满足明确或隐含需求的能力有关的特性,由于软件产品是逻辑体,不具有实体的可见性,因而其质量也就更加难以把握。软件产品的质量是通过软件开发活动和软件开发过程构造入软件的,所以软件开发管理者和软件开发者必须了解每一个开发活动对软件产品质量可能产生的影响,及时掌握每一个开发活动对软件质量所产生的影响,并且对在开发过程中可能产生的或已经产生的质量问题,能够及时发现并加以控制。要做到这些必须实现软件开发的工程化。软件全生命周期质量管理实际上就是工程化管理。它的主要任务就是使软件开发活动规范化、程序化、标准化。软件质量管理的基本方法就是根据软件开发活动的各阶段,将质量管理目标分解为若干可实现并可管理的部分,并采用相应的技术和方法进行管理,并对其阶段性产品的质量进行验证,确保最终软件产品质量满足用户的要求。下图是一个软件开发过程的主要阶段分解图。

2.需求分析阶段

2.1 任务及目标

软件需求分析阶段的任务是确定所开发软件的运行环境、功能和性能要求,编写开发计划。软件需求分析是由软件开发方根据委托方提出的软件任务书以及其它文件,详细确定软件需求并编制出一个需求完整、详细的软件需求规格说明。

2.2 实施步骤

1)分析和确定软件开发和运行的环境;2)明确操作者的要求,经分析后将任务书中的技术指标条文拟定成相应的软件需求规格说明的条文;3)确定人机界面;4)编制项目开发计划,确定项目质量要求,并将它分解为对软件开发各阶段的质量要求,给出检查准则;5)确定本项目的质量保证、配置管理工作,并写入项目开发计划;6)编写软件需求规格说明;7)初步编写软件测试工作计划,明确计划安排。软件测试工作计划一般由软件项目组编写。如要求独立测试,则测试计划应由独立测试单位在本阶段评审通过后根据需求规格说明另行编写;8)开始编写软件使用说明;9)评审;10)安排测试工作。若需要开发专门的测试软件或研制专门的软件测试设备,则应在本阶段评审通过后与软件开发并行地进行此项工作,以保证软件测试工作按时顺利进行。软件测试的测试软件开发和测试设备的研制工作按计划由软件项目组或独立测试单位承担。

2.3 阶段产品

1)项目开发计划;2)软件需求规格说明;3)软件测试工作计划;4)软件项目计划数据表。

2.4 技术要求

1)软件需求规格说明应对软件的主要功能、性能、技术指标进行定义,其内容应全面、可检查;2)项目开发计划中应给出阶段评审及配置管理计划,并明确人员。

2.5 配置管理要求

软件任务书、开发计划、软件需求规格说明、软件项目计划数据表、软件需求分析阶段评审表、软件测试工作计划进入受控库。

2.6 评审要求

在软件需求分析阶段,必须进行软件需求评审,以保证软件需求的完整性、一致性和准确性。提交软件任务书、项目开发计划、软件需求规格说明、软件项目计划数据等,针对项目开发计划及软件需求规格说明,对任务和需求分析、可行性分析、质量保证、标准化、配置管理等进行评审,以决定是否开展下阶段工作。

3.软件设计阶段

3.1 任务

软件设计阶段的任务是根据软件需求规格说明进行软件的总体结构和功能模块间的设计,初步编制软件集成测试计划。定义各功能模块的接口并设计数据结构,对功能模块进行过程描述设计,设计功能模块的内部细节,包括算法和数据结构,为编写源代码提供必要的说明。

3.2 实施步骤

1)总体结构设计;2)设计该软件系统的数据结构,给出所需的模型及所采用的算法原理;3)设计高层模块的数据流和控制关系;4)给出各个功能模块的功能描述、数据接口描述及全局数据定义;5)根据软件可靠性要求,对各功能模块进行可靠性指标的分配和相应的可靠性设计;6)进行安全性分析,使安全性关键的软件设计符合安全性要求;7)初步编制软件集成测试计划;8)确定所有模块的功能及详细的接口信息;9)对构成软件系统的各功能模块逐步细化,形成若干个可编码的程序模块或程序单元。

3.3 阶段产品

1)软件设计说明;2)软件集成测试计划(初步)。

3.4 技术要求

1)各功能模块间应具有低耦合度及高内聚度,功能模块的作用范围应在其控制范围之内;2)各模块功能单一,模块接口的复杂度低;3)软件设计说明和软件需求规格说明要保持一致,并具有良好的可追踪性;4)各子项目、模块的功能和接口要求必须完整、正确。

3.5 配置管理要求

集成测试计划(初步)、软件设计说明进入受控库。

3.6 评审要求

评审软件设计是否实现了软件需求规格说明的要求;评审设计方案与主要算法的可行性和先进性;并针对集成的单元之间的信息流和控制流的可追溯性、数据加工处理与数据结构的一致性、并发性信息处理的正确性、可靠性和安全性技术应用的程度及正确性等进行评审,并最终做出本阶段工作是否完成、是否转入下阶段工作的评审结论。

4.代码开发阶段

4.1 任务

根据软件设计说明对各程序单元进行编码、调试、静态分析和单元测试,验证程序单元与设计说明的一致性,并将经过单元测试的模块逐步集成和调试,完成软件系统集成,

4.2 实施步骤

1)对每个程序单元用指定的程序设计语言进行编码和测试;2)对完成编码的源程序进行静态分析;3)补充和完善单元测试用例并依此产生测试输入数据,开发单元测试程序;4)进行程序单元测试;5)将经过单元测试和调试的程序逐步集成和调试,直至集成为相对独立的软件功能模块;6)及时清除程序中用于调试等项工作的多余语句和程序“垃圾”;7)在集成调试后,对经过修改的模块应进行单元回归测试;8)编写软件使用说明初稿;9)评审。

4.3 阶段产品

1)修改了的软件设计文档及相应的修改报告单;2)程序单元的编码;3)程序单元的测试结果、测试用数据及测试辅助程序;4)软件使用说明初稿。

4.4 技术要求

1)用指定的编程语言进行编码;2)编码符合规定语言的编码格式约定;3)每个程序单元实现的功能、性能和接口应该满足设计说明的要求;4)必须进行程序静态分析;5)按要求应分别采用自检、互检、专检等方式检测软件,以提高软件质量和可靠性;6)被测试单元中的每项软件特性和功能都必须被至少一个测试用例所覆盖;7)采用必要的安全性设计措施,保证安全性设计需求的实现;8)对在单元测试中发现错误的程序应进行修改,修改后的程序单元必须进行回归测试;9)不仅要考虑对合法的输入产生测试用例,而且要对非法的、非预期的输入产生测试用例,既要对正常的处理路径进行测试,也要考虑对出错的处理路径进行测试; 10)程序单元的测试用例需加明确的注释,并和测试辅助程序一起纳入测试集,存档保留。

4.5 配置管理要求

修改的文档和相应的修改报告单、软件使用说明、程序单元的代码、单元测试数据和测试程序、软件实现阶段评审表进入受控库。

4.6 评审要求

评审编码、单元测试的正确性和完整性,在完成文档、程序编码、程序单元调试及单元测试的前提下,提供程序单元的编码、程序单元测试的结果和测试用例、程序开发卷宗等,对程序代码与详细设计的一致性、代码格式与规定要求的一致性、程序代码调试结果的正确性、静态分析过程的正确性和合理性、单元测试用例的充分性和合理性、单元测试数据的产生和测试过程的正确性、合理性和完整性、软件实现过程中若修改了软件详细设计或概要设计,则应多途径审查从被修改阶段开始到软件实现阶段为止所有改动部分的正确性等进行审查,做出软件实现阶段是否完成、是否将程序和文档提交,以便进行软件集成测试的结论。

5.集成测试阶段

5.1 任务

根据集成测试计划,在将底层程序单元逐步集成到子项目、直至整个开发项目的过程中对软件进行测试。在进入集成测试前,各程序单元必须完成代码静态分析和逐步审查、无错误地通过编译或汇编、完成单元测试、满足软件质量要求、程序单元已置于软件配置管理之下等。

5.2 实施步骤

1)补充、修改和完善软件集成测试计划;2)校订集成顺序,编制软件集成测试程序并核对其正确性;3)建立软件集成测试环境;4)对集成软件功能模块进行测试;5)对集成软件子项目进行测试;6)对集成软件产品总体进行测试;7)分析测试结果,找出产生错误的原因;8)提交软件集成测试分析报告,以便尽快修改错误;9)完成软件使用说明的编写工作;10)评审。

5.3 阶段产品

1)修改后的软件集成测试计划;2)修改后的软件设计文档及相应的修改报告单;3)软件集成测试分析报告;4)通过集成测试的代码;5)集成测试用例集和集成测试辅助程序;6)软件使用说明。

5.4 技术要求

1)软件集成测试应保证模块间无错误地连接;2)应测试软件系统或子系统对数据的正确处理能力和经受错误的能力;3)在软件集成测试中,在找出错误后,程序应送回编码者进行修改、调试和单元测试,然后再重新进行软件集成测试;4)通过软件集成测试的软件应满足各模块无错误地连接、满足各项设计要求、对错误输入有正确的处理能力、人机界面正确无误、满足全部操作要求等。

5.5 配置管理要求

软件集成测试计划、修改的软件设计文档及相应的修改报告单、软件集成测试分析报告、最后集成完成的程序代码、集成测试用例集和集成测试辅助程序、软件使用说明、软件集成测试的评审报告进入受控库。

5.6 评审要求

评审集成测试结果的有效性、软件的结构和接口间的协调性;评审在软件集成测试中对所发现的问题进行软件设计修改、程序代码修改的正确性。在完成测试、测试分析和文档提供软件集成测试计划、软件集成测试分析报告、软件问题报告单的前提下,对软件集成测试的恰当性、测试用例集的完整性和恰当性、测试结果和测试用例集的一致性、测试环境和正式运行环境的相容性、测试分析过程和结论的正确性等进行评审。

6.确认测试阶段

确认测试主要是针对软件的全部功能和性能要求的黑盒测试。软件项目开发单位的质量管理部门的测试人员负责测试过程的实施和测试结果的确认,技术管理部门的有关人员与业务部门及项目组成员共同组成确认测试小组,完成确认测试任务。

6.1 任务

1)根据软件需求规格说明中定义的全部功能和性能要求及确认测试计划,测试整个软件,确认其是否符合软件需求规格说明的要求;2)软件确认的依据是软件需求规格说明、概要设计说明及详细设计说明等,测试对象为通过了软件集成测试的源程序代码;3)软件确认测试工作包括测试环境的建立和测试计划的编制两项,此两项工作在软件需求分析阶段就应开始。

6.2 实施步骤

1)组织和确定软件确认测试组成员;2)修订确认测试计划,对确认测试计划进行评审,经批准后实施;3)建立和确认软件测试环境;4)接口测试;5)根据软件需求规格说明中规定的功能对软件逐项进行测试;6)根据软件需求规格说明中规定的性能要求,如精度、速度、适应性等,对软件逐项进行测试;7)逐条运用软件使用说明进行测试,以进一步证实该说明的适应性和有效性,并改正其中的错误;8)分析测试结果,找出产生错误的原因;9)编写确认测试报告;10)评审。

6.3 阶段产品

1)确认测试计划;2)确认测试分析报告;3)确认测试用例集及有关测试辅助程序;4)通过确认测试的程序代码。

6.4 技术要求

1)关键软件部件或测试项目的确认测试应由与该软件项目组无关的技术人员进行,以保证测试的客观性;2)应在正常输入数据和合理的异常输入数据的条件下,考查被测软件功能和性能的完备性;3)确认测试的测试环境必须与软件真实运行环境一致或相容;4)全部测试结果、预期结果及测试数据应当存档保留;5)个别功能和接口要求只能在系统联试后才能确认的,必须在确认测试分析报告中写明;6)软件项目组应积极配合确认测试组的测试工作。

6.5 配置管理要求

确认测试计划、确认测试分析报告、确认测试用例集及有关测试辅助程序、通过确认测试的程序代码、确认测试计划评审表和确认测试阶段评审表进入受控库。

6.6 评审要求

在本阶段应进行两次评审,软件确认测试计划评审和软件确认测试阶段评审。

1)确认测试计划评审

评审确认测试计划的合理性、完备性以及与软件需求规格说明的一致性。提供软件确认测试计划,确认测试计划安排的合理性;确认测试环境选择的合适性;确认测试计划中功能测试的合理性、齐全性;确认测试计划中性能测试的合理性、齐全性;确认测试用例、测试数据、测试方案的合理性、正确性和全面性;确认测试结果分析的合适性;确认测试组人员组成和安排的恰当性。该评审应得出的结论是该确认测试计划是否可行,是否批准实施。

2)确认测试阶段评审

评审确认测试结果的有效性;评审软件功能、性能与软件需求规格说明的相容性;评审确认测试分析结果的正确性。完成确认测试后提供软件确认测试分析报告、确认测试用例集,对确认测试用例集的完备性和恰当性、确认测试用例集和确认测试结果的一致性、确认测试环境和运行环境的相容性、确认测试分析过程和结论的正确性进行评审,最终确认该软件是否实现了软件需求规格说明所要求的技术指标,对确认测试过程不正确或不完整,需改进测试过程后重做或另外组织确认测试组重做。

7.系统联试阶段

7.1 任务

系统联试是大系统开发的一个重要阶段。系统联试应由大系统的开发部门主持,软件项目组参加,以保证软件与大系统的对接。

7.2 技术要求

1)软件与所属大系统的接口应重点测试,不允许有不协调之处;2)对软件向所属大系统输出的信息以及从所属大系统向软件输入的信息,都应仔细归类进行测试,并注意边缘测试;3)测试应在软件和大系统的正式工作环境下进行;4)对存在的问题应分析其产生的原因并给出修改意见;5)全部预期结果、测试结果及测试数据应存档保留。

8.总结

软件生命周期质量管理就是使软件开发过程规范化、程序化和标准化。它通过将复杂的问题分解为若干可实现并可管理的部分,对软件生命周期的各阶段采取相应有效的方法,对其阶段性产品的质量进行验证,以保证软件的质量。

参考文献

[1]周艳会,王静.软件质量管理的几点做法[J].电脑与电信,2012(4):70-71.

第8篇:集成测试范文

关键词:建筑材料;检测要点;主要事项

前 言:一直以来,建筑材料都是工程建筑中的重点,直接影响着建筑的施工质量,做好建筑材料检测工作具有重要意义。当前,我国在材料检测方面还存在着一些问题,需要施工单位进一步提高建筑材料的检测力度,使用合理的检测方法和步骤,注意检测过程的科学性,从而使检测更加的规范合理。

1材料检测的重点

1.1对检查步骤进行明确

在对材料进行检测过程中,首先要对检测的步骤进行明确。一般来说,主要有以下几个步骤:(1)确定检测材料。在购买材料时,不同型号、不同厂家、不同批次的材料质量也不相同。所以,在进行检测时,要注意进行分类,检测材料的规格、编号、种类等。比如在进行集料的检测时,根据集料的形成过程可以分为人工加工的碎石、地质作用形成的砂砾石、碎石,根据集料的直径大小可以分为细集料和粗集料,根据集料的化学性质可以分为碱性集料和酸性集料等。在检测过程中,要注意分析集料的耐酸碱性、直径大小等。(2)材料的抽检。在进行材料的抽检工作时,样品材料要具有代表性。各个样品之间要有显著的性能差异,只有这样才可以保证抽检效果。(3)在检测的过程中,要根据规定要求进行检测。例如检测钢筋时,只是使试件表面出现缩颈而没有将钢筋拉断,这样就会影响检测结果的准确性。虽然检测误差是不可避免的,但是按照规定要求进行检测可以有效降低误差,提高检测的精准性,将误差控制在最低范围中。

1.2检测方法的控制重点

在对材料进行检测时,要使用标准化的检测方法,只有这样才可以保证材料的检测质量。首先在性能检测方面,要规划化的选择检测样品,严格按照材料的送检规定和取样要求进行检测,保证检测的基本流程,从而制定出更加科学、准确的检测报告。其次,要做好“代表性取样”的控制工作。由于选择样品的数量、位置以及检测方法都会影响最终的检测结果,所以在进行检测时,要根据相关规定要求,选择具有代表性的样品进行检测。在检测过程中,要注意控制好检测温度。最后,要注意做好试件精度和大小的控制工作,根据标准精度和尺寸测试材料的力学特性。检测完成后,如果检测材料的外形和大小均达到了规定要求,那么试件的检测是合格的。

2粗细集料的检测技术

2.1集料筛选标准以及粗细集料的特性

集料指的是各种砾石、碎石组成的建筑材料。在混合料中发挥着填充和骨架的作用。按照集料的颗粒直径大小,可以将集料分成细集料和粗集料两种,在划分时,根据不同的用途划分尺寸来对集料颗粒直径进行划分。当集料应用于沥青混合料时,划分界限为2.36mm,当集料应用于混泥土混合料中时,划分界限为4.75mm。施工中所说的最大颗粒直径分别指集料公称最大粒径、集料最大粒径。其中集料公称最大粒径指的是允许筛余梁在10%以内的筛孔标准。最大粒径指的是要求集料全部通过的最低标准筛孔尺寸。一般最大粒径标准要比公称最大粒径高一个等级。一般来说,粗集料的力学性质主要参考集料的磨耗性和集料的抗压碎能力两个指标,如果粗集料是在表层路面进行使用,还要考虑集料的磨耗值、磨光值和冲击值。细集料指的是石屑、人工砂、天然砂等粒径比较小的集料,由于细集料的颗粒直径很小,因此在实验时不需要使用过多的试样数量,但是对实验的精度要求比较高。在进行筛分试验时,一般先称出一定数量的样品,然后使用套筛按照规定标准进行筛分,并将筛上砂样的存留质量称出来,再利用公式将级配和细集料的级配参数计算出来。一般情况下,不论是粗集料还是细集料中都会有一些杂质存在,会对集料的性能造成影响。例如,细级料中砂的有害杂质含量超出了规定数量,就会影响混凝土的凝固,因此要注意限制集料中有害杂质的含量。常见的有害杂质如有机质、泥块、轻物质、云母、三氧化硫等。

2.2粗集料的实验检测

在进行粗集料检测时,主要需要进行压碎试验、磨耗试验、压碎试验、集料抗冲击试验、磨光实验等。取样时,如果是从同一批来料,先将不具备代表性的部分铲去,然后分别在底部、中部和顶部的位置选择试样,并将比较接近的试样组成试样组。在从货船、汽车和火车上进行取样时,要选择不同的深度和位置处选择相同的试样,组成试样组。如果是从皮带运输机上进行取样,那么要使用接料器在皮带运输机的尾部收集具有代表性的试样,然后将试样分成若干份组成试样组。总之,不管是什么方式进行取样,都需要保证取样的具有代表性。

2.3细集料的实验检测

(1)通常情况下,细集料检测主要使用容量瓶法进行密度试验。主要用于检测含有少量2.36mm以上颗粒直径的细集料。试验时,首先对试样的质量进行称取,浸泡一天后称取水+样+瓶的质量,然后将水倒出称取水+瓶的总质量,得出细集料的表观相对密度。(2)砂当量试验。细集料砂当量试验主要用来对集料中杂质和粘性土的含量进行评价,并根据洁净程度评价这一指标。在实验时,首先使用孔径为4.75mm的筛子对试样进行过筛,然后将直径比较大的颗粒去除,并对细集料的含水率进行检测。称取相当于干重120g的细集料。在试验的过程中,先将冲洗液加入到试筒中,然后将称量好的试样倒入到试筒中,将静置气泡排出后,利用振荡器震荡90次左右,并对筒壁上的试样进行称取,使试样表面的杂质浮出。再将冲洗液加入静置20rain后,使用尺子对筒底和絮状物液面的高度进行测量,并在试筒中插入配重活塞,将螺丝拧紧,取出活塞。利用尺子测量活塞底部和套筒顶面的高度,求出试样的砂当量值。

3注意事项

(1)处理数据。在对材料进场检测时,很多因素都会对测量数据造成影响,使检测结果有比较大的离散型。所以,要科学的选择测定结果,按照规定要求对材料测试结果进行对比,保证检测结果的准确性。(2)对误差进行检查。在对材料进行检测的过程中,设备仪器、作业人员的技能水平、材料情况、环境因素等都会影响检测结果,所以,在检测的过程中,要严格按照规定的标准和要求进行检测。(3)使用有安全许可证的产品,进场材料要严格按照说明进行检查,检查材料的数量、外观等,不允许使用质量不达标的施工材料。

4结束语

总而言之,在建筑工程施工中,建筑材料是一个非常重要的工程质量影响因素。因此,要做好建筑材料的质量管理工作,首先将建筑材料入场检测工作做好。严格按照材料检测的相关步骤和注意事项,细致、认真的做好检测工作。从而使材料检测更加的规范为、科学化和制度化,提高建筑工程的施工质量。

参考文献

[1]韩亮.建筑材料检测与试验工作的注意事项[J].中外企业家,2014,(08):98-99.

[2]曹倩.建筑材料检测要点与注意事项[J].建筑,2014,(14):87-88.

第9篇:集成测试范文

【关键词】测试用例;分类树;蚁群算法;测试用例集

【Abstract】In the software testing test case design must be considered necessary to ensure coverage and also reduce the number of test cases,the test suite optimization is crucial.Aiming to generate functional test suite proposed variation factor using ant colony algorithm,using the classification tree generated test suite to optimize the use of test suite to potimize test coverage and scale.

【Key words】test cases;Classification trees;Ant colony algorithm;Test suite

0 引言

软件测试是保证软件质量最为重要的一种手段,有效的软件测试可以发现软件中存在的绝大部分问题。所以,软件测试项目的终级目标是100%测试覆盖,发现软件中尽可能多的问题,为靠近这一目标测试项目组会尽可能多设计测试用例以达到最佳测试效果。因为不可能进行穷尽的测试,测试一般会在保证测试覆盖率同时尽可能精简测试集,相应的方法一直是测试工程师研究的重点课题。

基于不同测试方法设计的测试用例集会有很大的差异。在软件的系统测试阶段,分类树方法是一种非常有效的测试用例集设计方法,分类树方法是由Grochtmann和Grimm在1993年提出的,是在软件功能测试方面一种有效的测试方法,通过分类树把测试对象的整个输入域分割成独立的类。通过组合各种不同分类的结果来形成测试用例。使用分类树方法的一个重要的好处是:它把测试用例设计转变成一个组合若干结构化和系统化的测试对象组成部分的过程使其容易把握,易于理解,当然也易于文档化。但分类树设计方法并未根据测试覆盖标准对测试用例集进行约束,测试用例集往往很庞大。本文针对功能测试用例集生成,提出使用变异因子的蚁群算法对采用分类树生成的测试用例集进行优化,使测试用例集达到测试覆盖率与规模的最优化。

1 分类树方法用于测试用例设计

分类树方法的基本原理是:首先把测试对象的可能输入按照不同的分类方式进行分类,每一种分类要考虑的是测试对象的不同的方面。然后把各种分开的输入组合在一起产生测试用例,同时又能覆盖测试对象的整个输入域。

分类树方法设计测试用例的过程分为三大步骤:

1)识别出测试对象并分析输入空间。

2)对测试对象的输入空间进行分类。

3)画出分类树、组合成测试用例。

以Windows操作系统自带标准计算器为例演示分类树的测试用例设计过程:

如图1所示对计算器的输入进行划分,以一个二元运算式为例输入操作为:

把计算器输入划分成运算数、运算符、内存操作(属于扩展功能)。按等价类方法把各种分类细化各种输入可能。例如,运算数可能的输入是负数最小值、负数正常值、负数最大值、零、正数最小值、正数正常值、正数最大值、无操作等;运算符可能的输入是/、*、-、+、1/x、sqrt、%、=;内存操作的可能的操作是MC、MR、MS、M+、无操作。最后,测试用例由不同分类的类组合形成,在组合类时交集不能为空。测试人员组合类形成需要的测试用例,以便覆盖测试一个二元等式的所有方面并充分考虑各种可能。

从例子中可以看出测试人员如果要考虑所有组合进行用例设计,最后用例集将十分大。在实际的测试工作中,被测软件的规模及复杂程度也比例子软件大的多,采用分类树设计的测试用例数将十分巨大。事实上若无特殊要求的情况下,在满足充分性同时会考虑最精简的测试用例集,以达到测试效益的最优。

2 蚁群算法优化测试用例设计

20世纪90年代意大利学者M.Dorigo,V.Maniezzo,A.Colorni等从生物进化的机制中受到启发,通过模拟自然界蚂蚁搜索路径的行为,提出来一种新型的模拟进化算法――蚁群算法(Ant Colony Optimization, ACO),是群智能理论研究领域的一种主要算法。

在分类树测试用例集的优化中蚁群算法可这样描述。设节点r为分类树的根节点,节点1-m分别代表分类树的叶子(测试输入值),任何一个测试用例可看成根节点到叶子j(j≠0)的路径。

将r作为蚂蚁寻优的起点,输入值j看作蚂蚁选择的食物源,dj可以理解为从寻优起点到食物源的距离。对任任意一只蚂蚁k从节点r观到节点j的概率为:

τrj(t)表示路径上残留的信息素强度,该参数表明了系统从节点r转移到j的后天演化过程中得到受益度;ηrj(t)表示先天性的启发性,该起始信息是由要解决的问题给出的即表示转移对于蚂蚁k的吸引度。α表示残留信息的相对重要程度;β表示期望值的相对重要程度。在计算器的例子中一个用例是由一组蚂蚁转移寻找食物源完成的,如完成一个二元计算式是至少由4只蚂蚁同时寻找路径完成的。在使用蚁群算法过程中每设计一个用例完成一次求解,每求解一次对路径中的信息素强度进行更新,更新的方程式为:

ρ为挥发系数,为了防止信息的无限累积,ρ必须小于1。

在实际中主要有两种应用:首轮测试用例与回归用例设计。首轮测试用例设计需要在满足覆盖率的基本上有好的发散性;回归用例设计一般的做法是首轮用例加新增用例,新增用例要求对有错误的模块有重点增加测试用例。所以,首轮测试用例设计参数选择原则:ρ挥发系数设置应适当偏大,dm可以忽略为近似。算法结束条件为分类树分支覆盖。

3 验证

为验证本文的方法进行编程实验,以上文计算器测试为例,演算达到块覆盖率的用例数。在实验中,取Q=1,ρ=0.8,α=0.5,β=0.7,共39个叶子(输入值),启动5只蚂蚁,得到实验结果如表所示:

以上结果表明,本方法在实践中可行。由于计算器软件没有首轮测试未发现问题,回归测试用例实验未进行。

4 结束语

本文提出以分类树为基础并以蚁群算法优化进行用例设计,可以使用例的设计更加科学化、规范化,以此基础可以进一步研究测试用例设计的自动化生成与实现,必将为软件测试带来新的技术革新。基于现有工作,下一步研究:(1)算法的通用性及自适应能力;(2)方法的工程实现可能。

【参考文献】

[1]Dorigo M,Gambardella L M.Ant colony system:a cooperative learning approach to the traveling salesman problem[J].IEEE Transactions on Evolutionary Computation,1997,1(1):53-66.

[2]傅博.基于蚁群算法的软件测试数据自动生成[J].计算机工程与应用,2007(12).

[3]尹文洁,崔冬华.测试用例集的方法研究[J].电脑开发与应用,2011:5.