边界测试问题

作者&投稿:劳昏 (若有异议请与网页底部的电邮联系)
软件测试 用例设计方法中的边界值,为什么说程序的边界容易出错呢~

因为程序的边界有一种情况是用循环变量去约束的,最简单的for (var a=0; a<=100; a++)这个语句,a的值为100时还可以执行循环体,但是for (var a=0; a<100; a++)这个语句,当a的值为100时,就跳出循环了,不执行循环体了,这两种情况边界就不一样,如果处理不好就会出错。

计算机边界条件边界条件是指软件计划的操作界限所在的边缘条件.如果软件测试问题包含确定的边界,那么数据类型可能是:数值速度字符地址位置尺寸数量,同时,考虑这些类型的下述特征:第一个/最后一个最小值/最大值开始/完成超过/在内空/满最短/最长最慢/最快最早/最迟最大/最小最高/最低相邻/最远

1.引言

边界扫描测试技术已经得到了国内外广泛的支持和关注。但是,这种测试技术要求被测器件必须具备IEEE1149.1标准所规定的BS( boundary Scan)测试结构,对由非BS器件组成的逻辑簇的测试是目前边界扫描测试技术需要研究的关键问题。在前面的工作中,我们已经研究了基于边界扫描的逻辑簇测试诊断技术 [1],并且设计开发了基于边界扫描的逻辑簇测试诊断软件。但由于逻辑簇的复杂不一、串/并行测试矢量相结合的工作方式,不可避免地会带来扫描链管理、器件隔离等诸多问题,它们在软件调试过程中也时有发生,本文就针对逻辑簇边界扫描测试中的几个问题进行探讨。

2 逻辑簇边界扫描测试相关问题

对于逻辑簇的边界扫描测试,必须采用并行与串行相结合的工作方式,也就是说,既要利用BS器件向逻辑簇以串行方式输入测试矢量,又要在逻辑簇输入输出端以并行方式应用测试矢量,从而使逻辑簇具有可观察、可控制、可隔离的测试点。串并行测试矢量的联合运用带来了一系列问题,包括簇边界的定义、簇的隔离、确定虚拟输入点与虚拟输出点、确定不直接参与测试的其他BS器件的状态、隔离矢量与测试矢量通过BS链路的加载以及故障诊断等问题 [2]。

2.1 驱动管脚的确定

如果逻辑簇的输入与多个BS器件相连接,则必须指定其中之一做为虚拟输入点,将其他管脚置于三态,否则会造成输入冲突。但如果逻辑簇的输出与多个BS单元相连接,则所有的单元都可以用来观察响应,而且这样还可以提高故障诊断率。如图1 所示,若IC1的3,4脚被选做虚拟输入点,则IC2的1,2脚应置于三态。但由于IC2的所有四个输出端都由控制单元B控制,它们会被同时禁止,这样IC2的3和4脚就不能再提供激励,所以,这种情况下应该由IC2的1,2,3,4脚做为虚拟输入点,IC1的3,4脚被置为三态。

2.2 扫描链管理

逻辑簇的测试矢量是通过由BS器件组成的扫描链传输的,扫描链上的每个BS器件在测试中都必须装载相应的控制指令,所以,正确的扫描链管理是边界扫描测试成功进行的关键。在BS扫描链路管理中,首先,各BS器件的TDI与TDO要首尾相接形成一条数据移位路径;其次,所有的TMS与TCK端口应当分别并联,以便BS链路上的所有器件都由同一时钟周期控制。这种连接方式允许测试者仅通过由四条线(或五条线)组成的TAP控制端口访问整个扫描链。如果测试只涉及扫描链上的几个BS器件,其他器件必须用固定的指令控制,以便可重复测试。

如图2所示,一条扫描链上有四个BS器件,但用于逻辑簇测试的是芯片IC2与IC3,它们要保持为EXTEST测试指令,以便对簇测试提供激励和采集响应。由于所有芯片的TDI与TDO首尾相接,测试矢量同时也会经过芯片IC1和IC2,而它们与被测对象无关,这时就可用BYPASS指令将其旁路掉,这可大大缩短扫描链路长度,提高测试效率。如果这些无关器件支持1149.1标准中的可选指令HIGHZ(高阻指令),则可用它代替BYPASS。 HIGHZ指令可将芯片的所有输出端置为三态,同时连接器件的BYPASS寄存器,这不仅可以缩短扫描链长度,还能减少簇测试的电气干扰。

2.3 器件隔离

有时被测逻辑簇的周围存在其他非BS器件,这些器件必须被隔离开来,以免影响簇的逻辑关系,所以在这种情况下要编写针对簇周边器件的隔离矢量,并通过适当的链路管理置入扫描链中。如果被测逻辑簇完全被BS器件所包围,则无需任何隔离,因为其虚拟输入端与虚拟输出端完全由BS器件的EXTEST指令控制,相当于已经被隔离。但在实际情况中,逻辑簇往往既具有虚拟测试点又有实际测试点。如图3所示,芯片IC2和IC3给簇提供虚拟输入与虚拟输出端,A ,B,C为实际可接触测试点,这时就需要把簇隔离出来。

图中当从A点输入激励时,IC5的输出管脚8上会出现过驱动。为防止此现象,可在8脚预置逻辑1,也就是使9或10脚置0,9脚与 BS器件相连,可以方便的设置为0。芯片IC1可以采用指令CLAMP (箝位指令)或EXTEST。CLAMP指令在将输出管脚置为所需状态后,还能在TDI与TDO之间连接BYPASS寄存器,从而缩短扫描链路。

当以B为测试点时,它会与IC4的5脚发生冲突,所以也要进行隔离。此时可以对IC4运用HIGHZ指令,它可将IC4输出端置为三态,防止潜在的冲突。没有HIGHZ指令时也可用EXTEST控制输出端为三态。

用C做测试点时,IC3的4脚也有同样的情况。但IC3已经包含在簇测试中,已处于EXTEST状态,这时,可以控制4脚的控制单元,将其置为三态。

另外IC2与IC6相连接的网络也需要隔离。IC2的 3脚为虚拟输入端,所以IC6的12脚必须置为三态,这可以通过IC1的BS单元实现。此时IC1可使用 CLAMP指令或EXTEST指令将输出置为所需状态。

以上是对逻辑簇进行边界扫描测试时遇到的典型问题,我们在测试诊断软件开发过程中,针对这些问题对软件做了改进,但在以上几个问题同时出现的更复杂的情况下,对逻辑簇的测试还需要采取其他辅助手段,比如结合在线测试ICT(in-circuit testing)、内建自测试BIST(built-in-self-test)等,下面介绍一种逻辑簇的BIST测试方法。

3 逻辑簇的BIST测试

内建自测试BIST技术是一种置于芯片内部的自测试结构,一般由测试矢量生成器TPG(test pattern genera tion)自行产生测试矢量,施加于芯片中待测的特定功能块。被测功能块的响应经压缩比较后,得出该被测功能块功能正常与否的结论,被送上BS链,经TDO端口移出。在JTAG协议RUNBIST指令的启动下,芯片中的多个BIST结构可同时以真速运行,给出在真速下的逻辑功能,弥补了在BS测试中用INTEST指令只能测试静态功能的不足。边界扫描和内建自测试都是测试性设计技术,边界扫描擅长于互连测试,而BIST更适用于功能性测试,两者优势互补,结合使用,可以很好地满足逻辑簇的测试需要 [3]。

在对逻辑簇的测试中,可以考虑插入特定的 BIST结构,并构造出包含TDI,TDO,TMS,TCK端口的TAP控制器,与其他BS器件相连,由特定的RUNBIST指令激发其运行,得出功能正常与否的结论,送至BS扫描链路,与其他BS器件一起完成测试。图4为采用BS和BIST技术的测试信号连接,其中,芯片IC2即插入BIST结构的逻辑簇,其BIST结构组成如图5所示。当控制逻辑接受BIST测试启动信号(RUNBIST)后,由TPG 自动生成测试矢量,并对测试时钟CLK进行计数长度等于测试向量长度的计数,确保BIST测试过程的正常运行和结束。BIST测试结果反映在逻辑变量BISTOUT中,其值随之通过BS扫描链输出至边界扫描主控机。文献[4]描述了一个逻辑簇BIST结构,并给出了TPG的设计方案,它有效地解决了多驱动输入的冲突问题,并能够完全覆盖互连簇故障,同时有测试序列短、硬件开销小的优点。可见,BIST技术在逻辑簇的测试中不失为一种较好的测试手段。

4 结束语

在当前非BS器件仍然广泛存在的情况下,逻辑簇的边界扫描测试具有很高的实际应用价值。我们就此问题开展了一系列的研究工作,陆续发现了逻辑簇测试中的许多相关问题。以上所述问题在采取相应措施后都得到了良好的解决,但在更复杂情况下,逻辑簇测试还需借助于ICT和BIST等测试技术,也许BS技术与ICT和BIST技术的结合是未来更值得深入探讨的研究方向。

 

对这些地方要仔细地选择测试用例,认真加以测试。 * 如果对模块运行时间有要求的话,还要专门进行关键路径测试,以确定最坏情况下和平均意义下影响模块运行时间的因素

全面测试...

边界测试问题
答:但是,这种测试技术要求被测器件必须具备IEEE1149.1标准所规定的BS( boundary Scan)测试结构,对由非BS器件组成的逻辑簇的测试是目前边界扫描测试技术需要研究的关键问题。在前面的工作中,我们已经研究了基于边界扫描的逻辑簇测试诊断技术 [1],并且设计开发了基于边界扫描的逻辑簇测试诊断软件。但由于逻辑...

黑盒测试边界值测试问题?
答:1、如果输入(输出)条件规定了取值范围,或是规定了值的个数,则应该以该范围的边界内及边界附近的值作为测试用例 2. 如果输入(输出)条件规定了值的个数的取值范围,则用最大个数,最小个数,比最小个数少一,比最大个数多一的数作为测试数据 3. 如果程序规格说明中提到的输入或输出是一个有...

以下关于边界值测试法叙述中,不正确是( )。
答:【答案】:A 本题考查黑盒测试方法中边界值分析法基础知识。边界值分析法:是对输入或输出边界值进行测试一种黑盒测试方法。通常边界值分析法是作为对等价类划分法补充,这种情况下,其测试用例来自等价类边界。 边界值分析不仅考虑输入条件,还要考虑输出空间产生测试情况。

什么是边界测试
答:顾名思义,就是用来探测和验证代码在处理极端的或偏门的情况时会发生什么。并不仅仅指输入域/输出域的边界,还包括以下内容:1、数据结构的边界;2、状态转换的边界;3、功能界限的边界或端点。二、边界测试的内容 边界测试要检查的内容具体包括:1、普通非法数据是否正确处理。2、普通合法数据是否正确处...

可测性设计(三)边界扫描测试
答:一、芯片级与板级的测试之旅 首先,芯片级测试是基础,通过对芯片进行直接操作,以正常模式运行。通过向输入端施加测试矢量,然后观察串行输出的响应,调试工程师得以精细化调试芯片。这一步旨在确保芯片内部逻辑的准确性。接着,步入板级测试阶段,边界扫描技术用于检测集成电路与PCB的接口问题。通过连接所有...

边界条件测试的选择测试用例的原则
答:一、如果输入条件规定了值的范围,则应该取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据;二、如果输入条件规定了值的个数,则用最大个数、最小个数、比最大个数多1格、比最小个数少1个的数做为测试数据;三、根据规格说明的每一个输出条件,使用规则一;四、根据规格...

边界条件的越界测试
答:空白,空值,零值和无;非法,错误,不正确和垃圾数据。 一、如果输入条件规定了值的范围,则应该取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入数据;二、如果输入条件规定了值的个数,则用最大个数、最小个数、比最大个数多1格、比最小个数少1个的数做为测试数据;三、根据...

初值问题与边界值问题有什么区别?
答:初值问题和边界值问题是软件测试中两种常见的测试方法,它们在测试目标、测试范围和测试策略上有所不同。1.测试目标:初值问题主要关注系统在给定初始条件下的行为,即系统在启动时的状态。它的目的是确保系统在正常或异常情况下能够正确地处理初始数据并产生预期的结果。初值问题通常用于验证系统的基本功能和...

边界值测试
答:边界是指相对于输入等价类和输出等价类而言,稍高于、稍低于其边界值的一些特定情况。边界值分析是通过选取指定数据域的“上点”“内点”“离点”来测试输入或输出的边界。上点:就是边界上的点,无论域是开区间还是闭区间。若是开区间,上点在域外;若是闭区间,上点就在域内。离点:是指离“上...

模糊测试和边界测试有什么区别?
答:)相比之下,边界测试则显得更为精准,它更像是一个细致入微的分析师,专攻输入和输出的边缘地带。边界测试(作为白盒测试的组成部分,它要求测试者对程序内部逻辑有深入理解,以识别那些在处理边界值时可能出现的错误。测试的核心是关注那些等于、刚刚超过或刚刚低于预期值的数据,以此来验证软件在边界条件...