测试形式

2024-08-30

测试形式(共5篇)

测试形式 篇1

集成电路制造厂对其生产的每种集成电路封装器件都要进行老化测试, 所以集成电路需求量的迅速增长, 为老化测试插座产业也提出了更高的要求, 必须具备与产量和品种相适应的老化测试插座。老化测试插座是对集成电路进行可靠性验证和各类环境适应性试验的必备的试验装置。

集成电路封装的结构型式

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

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

老化测试插座的结构

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

通孔式封装老化测试插座

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

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

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

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

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

P P G A为塑料针栅阵列封装, C P G A为陶瓷针栅阵列封装其节距为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零图13按压式老化测试插座结构示意图插拔力插座使用方便, 接触可靠, 也常用于装机。例如, 计算机主机中的CPU就使用的是PGA零插拔力插座。

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

表面贴装式封装形式

Q F P四方扁平封装适用于高频和多接脚器件, 四边都有细小的“L”字引线 (见图7) 。小外形封装 (SOP) 的引线与QFP方式基本相同。唯一区别是QFP一般为正方形, 四边都有引线, 而SOP则是两对边有引线, 见图8。

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

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

塑料有引线芯片载体 (PLCC/J L C C) 是T I于1 9 8 0年代初期开发的, 是代替无引线芯片载体的一个低成本封装方式。PLCC是J形弯曲 (J-bend) 的, 那是说这封装的接脚向内弯曲成“J”的形状, 所以有些厂家也叫JLCC或QFJ (见图10) 。PLCC的优点是占的安装位置更小, 而且接脚受封装保护。PLCC通常是正方形或长方形, 四边都有接脚, 节距为1.27 mm或0.65 mm。引线数常见的有18、20、22、28、32、44、52、68、84。

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

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

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

表面贴装式封装的飞速发展, 也带动了表面贴装式封装老化测试插座产业的迅速发展。目前用于表面贴装式封装的老化插座的结构形式主要有两种:按压式和翻盖式。这两种结构都能很好地保护集成电路封装件, 并且方便快捷, 不需要专用工具就能放入和取出封装件。

按压式测试插座由安装板、施力装置、定位装置、接触件等零件组成, 其结构形式如图13所示, 常见的外形见图14。使用时操作者要按压插座的施力装置, 将表面贴装式封装件放置在接触件上, 并且借助于定位装置很好地定位, 松开施力装置使其施加给封装件的“L”形、“J”形或焊锡球形引线足够的力, 使得引线与接触件之间形成可靠的接触。国内IC生产厂家也曾使用过这种结构形式, 通过使用发现存在两个比较大的问题, 一是按压力太大, 不宜操作;二是由于手压施力装置时容易造成接触件受力不均匀, 使得图13所示的接触件受力后, 变形处易折断, 一个接触件损坏, 整个插座就报废了。所以一般情况下对于芯数比较少的表面贴装式封装件使用按压式结构的IC生产厂家还是比较多的, 比如J形弯曲引线的PLCC和SOJ, 在老化测试时一般选用此种结构形式。

翻盖式老化测试插座主要用于表面贴装式封装的夹具, 其施力装置是由带挂钩或卡块的不锈钢或塑料盖子。QFP、SOP封装件的引线为”L”状, 非常的脆弱, 其引线的节距分别为1.27 mm、1.02 mm、0.8 mm等。为了保护封装件的引线, QFP系列夹具结构设计时应有便于放置封装件的结图15翻盖式老化测试插座机构形式 (1) 构件。到目前为止用于QFP和SOP的翻盖式老化测试插座有两种结构形式。

一种是图15所示的结构, 由盖板、卡块、安装板和接触件等零件组成, 接触件安装在安装板的槽中, 接触件的接触部位与安装板的槽顶端有一定的距离H, 封装件的各个引线既可直接放置每个接触件上安装板的槽中, 这样的结构在盖子扣到位后, 既可以在夹具工作过程中很好地保护封装件, 又可以使封装件的引线与夹具的接触件可靠地接触。

另一种也是目前比较受欢迎的结构, 在带挂钩的盖板与接触件之间增加一个固定封装件的绝缘装置 (见图16) , 其中的定位板上设计有与封装件的引线的节距与数量相等的细长槽, 测试、老化时将QFP或SOP封装件放置在固定装置后, 再将固定装置放置在插座的接触件上, 盖板锁紧后, 即可以保证引线与接触件可靠地接触, 又能保护引线不受损害, 不变形。其最大优点就是操作方便, 使用寿命长, 比较受IC生产厂家的欢迎。

LCC翻盖式老化测试插座结构详见图17, 其接触件也是“C”型的。测试、老化时将其放置在插座的规定位置, 使封装件的引线与插座接触件的接触部位接触, 然后将盖板压紧卡块卡到位即可。

焊锡球形引脚封装翻盖式老化测试插座的结构形式见图18, 其接触件结构的形状为喇叭口形状, 这种喇叭口形状既能很好地保护焊锡球, 又能与焊锡球形成可靠地接触。老化测试时将封装件的焊锡球形引脚放置在接触件的喇叭口上, 将盖板压紧卡块卡到位后, 封装件的焊锡球形引脚与接触件的喇叭口的接触部位可靠地接触。

结语

本文简单论述了目前用量比较大的集成电路老化测试插座的结构形式。通过以上论述可以看出为了使用方便、保护封装件, 无论是通孔式封装, 还是表面贴装式封装其老化测试插座的结构形式基本上是低插拔力或零插拔力结构。

参考文献

[1]佘玉芳.机电元件技术手册——设计、制造、使用、维修[M].北京:电子工业出版社, 1992

[2]郑华宇.关于集成电路插座.机电元件, 1995 (2~3)

[3]球删阵列封装——小荷才露尖尖角[J].电子设计技术, 1995.12

[4]张经国.SMD技术向高端的发展趋势[J].世界电子元器件, 2003.01;

[5]贾松良等.电子封装与互连手册 (第四版) [M].北京:电子工业出版社2009.06

测试形式 篇2

教师还可通过形式多样的竞赛活动, 让学生在宽荣”。

四、情理课堂, 是借语言悟道得法的课堂。情理课堂中的“道理”需要在情感体验的基础上去“悟”, 这个过程是一个理性思考的过程, 即进行判断推理、分析概括的逻辑思维过程。这就要求教师要冲破自身的教学习惯, 克服懈怠情绪, 在教学内容上求新, 在教学方法上求变, 巧设悬念, 设置“障碍”, 吸引学生主动地去探究。

二语口语测试形式的效度研究 篇3

关键词:二语口语测试,测试形式,效度

一、引言

二语口语测试是语言测试的一项重要内容。由于口语的特殊性, 针对口语设计的测试也与普通测试有很大不同。如何正确检测受试学生的语言运用和表达能力, 是口语测试的主要目标, 也是确保口语考试效度的关键。如何正确把握口试的性质和特征, 需要综合考虑口语与口语测试本身的特性、口语测试的形式和评分标准等一系列因素。正确把握二语口语测试的特点、形式, 认识其中存在的问题, 确保二语口语测试的效度, 是我们目前研究的重点。

二、二语口语测试的效度

二语口试在我国的研究起步较晚, 原因是效度难以把握和保证。众所周知, 信度、效度和可行性是语言测试的三个基本问题, 其中“效度是语言测试的基本出发点” (杨惠中, 1998:55) 。考试的效度, 也就是有效性。在于“测试是在对被测试对象能力的准确分析的基础上制定并且测试的结果和根据其它因素推测而得到的结果一致” (符存, 2006:310) 。口语测试的目的是通过受试者在有限的测试任务和测试时间内的表现推断出受试者的口语表达能力。在这里, 考试的效度至关重要。即在口语测试中, 要确保测量到受试者在真实生活中的语言表达和运用能力。

三、二语口语测试效度的影响因素

由于口语的特殊性, 二语口语测试的效度相对于其他门类的测试更加难以把握。首先, 口语测试与笔试有很大不同, 国际上二语口试研究匮乏, 原因是口试是临时、短暂、瞬间变化的, 难度很大 (徐海铭, 2006:63) 。口语具有瞬间性、易变性、临时性、不稳定性等特征。然而, 口语测试相对于每个受试者来说只有短短的几分钟, 如何在有限的时间里准确地判断受试者的二语口语表达能力, 对二语口语测试的设计是个挑战。

其次, 二语口语测试与二语日常会话既有差异又有相似之处。如何掌握口语测试与现实会话差异的度的问题, 是将口语测试尽可能地还原成现实场景的会话, 还是坚持测试的基本形式和原则?这样将测试与现实环境下的谈话情况进行比较, 实际上是考查口语测试的真实性问题。一方面由于口试的目的在于推断考生在真实环境下口语能力的使用情况, 为提高测试效度就要使其与真实语言使用情况更加接近, 另一方面由于口试归根结底是考试而不是日常会话, 它永远不可能摆脱考试环境所赋予的某些特征 (杨莉芳, 2006:43) 。因此什么样的使用环境和目标会话情况是口语考试的模仿对象, 模仿的程度如何, 是必须与现实情形下的会话相同, 还是允许一些考试特征的存在, 也会影响推断受试者的口语能力。

从内因上, 受试学生的个体差异影响到口语测试效度, 以及对测试成绩的解释程度 (徐海铭, 2006:60) 。在实际的语言测试中, 考生的焦虑程度、个性特征、学习背景等特点对考试表现有一定影响, 尤其在口语考试中, 这种个体差异表现得更加明显。在口语考试中, 临场的状态和考生的心理变化对考生的发挥存在一定的影响。这种考生个人因素对口语考试效度的影响和作用不可忽视。性格方面, 外向的学生可能在口语测试中表现得更活跃、更自信, 相对于内向性格学生的腼腆、少于言辞, 这种受试者更容易在考试形式为二、三人对话的测试中占据主动, 引导话轮转换, 以至于滔滔不绝, 不给别人张嘴的机会。而易紧张、焦虑的受试者, 在测试这种特定环境下, 尤其是在直面考官这种形式的测试中, 其真实水平会受到一定干扰。焦虑会导致一些受试者在考试中发挥失常, 尤其在口语考试这种即时的、需要快速反应的测试类型中, 部分学生由于焦虑会变得头脑空白, 甚至暂时忘记已知单词, 以至于在测试中的表现与平时真实会话环境中的口语能力产生偏差, 影响二语口语考试的效度。

同时, 从外因上, 测试环境也会影响测试的效度。在目前传统的口试中, 口语测试的参与者是考官和考生。不可否认在口语测试中考生与考官之间, 以及同组对话的考生之间存在着相互作用, 这种口语测试也是一种交互式活动。“作为交互活动的参与者, 考官表现对语言测试的目的是要推断出考生使用语言的能力” (Bachman, 1999) 。在口语考试过程中, 作为口语考试的引导者和组织者, 不可否认, 考官的一言一行对考生的心理状态和临场发挥也存在着一定影响和人为因素, 从而影响测试的效度。

四、二语口语测试的形式

综上所述, 二语口语测试具有与一般测试截然不同的许多鲜明特性。由此也决定了二语测试的形式有其与众不同的特征。随着口语测试研究的发展, 各种各样的测试形式也层出不穷。目前, 在口语测试中, “考生是单独、组对或是分三人以上小组参加考试, 任务指令是由主考官还是录音带甚至计算机传达, 考生是与人交谈还是对着机器讲话, 这些差异都会给测试表现带来不同特点” (杨莉芳, 2006:46) 。现阶段, 在我国大学英语教学与测试中影响最广大的四、六级口语测试就采用了传统的考官与受试学生面对面进行交互式口语考试形式, 除此以外, 1994年英语专业四级考试开始进行录音口试试点 (文秋芳, 1999) 。这些不同的口语测试形式各有特点。正如上文提到的以考官和考生为主体的面对面交际式口试, 与考生面对机器进行录音或录像是不同的。人与人之间的交流是一种互动的过程, 同样, 考生与考官的交流也是互动的、随机应变的, 而且受到双方个人因素的影响;在这种考试方式下, 考生可以从考官的神态、表情、鼓励性言语等得到及时的反馈, 从而在一定程度上调整自己的状态;但是, 相对而言, 考生的发挥也会在这种面对面的考试中受到来自环境、情感等各方面的影响。在这种形式的口语测试中, 考生不仅要根据口试题目的要求, 单项作出反应, 而且要对考官或其他参与者的言语作出及时反应。“这里测量的不仅是考生的口语水平, 而且考查了考生的应变对策能力、交际沟通能力、听力理解能力及语境施为力等” (叶小兰, 2006:286) 。

相对于人与人的交流, 考生面对录音机或电脑进行录音或录像, 在一定程度上缺乏及时的反馈, 这种情况下的口语更加缺乏一种仿真的环境, 由于缺少话轮之间的交替, 因此缺乏现实口语中的互动和交际性。考生根据机器的要求和提示对机器说话, 更像个人的自言自语, 或即兴演讲, 相比之下, 与日常会话有很大不同。但这种形式可在一定程度上排除一些外部环境因素干扰。

同时, 评分标准也是测试形式的一个重要组成部分。在考生与考官交流的测试形式中, 评定口语的标准, 不完全是看语法、语音, 还要看考生与考官口语的交际效果和交际效率等, 不仅仅包括考生语言表达的流利性、准确性, 还有在一定交际环境下的得体性, 以及语言以外的非言语交际, 如面部表情、与考官的目光交流、说话时的手势、动作等。而在人机交流的测试形式中, 由于没有考官的参与, 评定标准集中在考生的语言表达本身, 而排除了其他因素干扰。由此看来, 根据不同的具体测试目的和测试环境, 这些形式的口语测试方式各有优劣, 因此, 针对不同测试目的, 选择适合的测试形式, 才能更好地确保效度。

五、结语

口语测试本身的特性和口试中各种因素的制约, 使口语测试效度受到一定程度的影响。现阶段存在的几种测试形式, 各有优缺点。如何进一步改进这些测试形式, 最大限度地确保口语测试的效度, 以及如何确定在何种测试目的、测试环境中, 使用哪种测试形式更科学, 仍然需要我们进行深入的研究和探讨。

参考文献

[1]Bachman, L.F.Fundamental Considerations in Language Testing[M].上海外语教育出版社, 1999.4.

[2]符存.口语测试的构想效度及实现途径[J].大学英语, 2006.3:310.

[3]文秋芳.英语口语测试与教学[M].上海:上海外语教育出版社, 1999.

[4]徐海铭.口语测试的理论、设计、实施和研究——《二语口语测试》评述[J].外语与外语教学, 2006, (1) :63.

[5]杨惠中, Weir, &C.J.大学英语四、六级考试效度研究[M].上海:上海外语教育出版社, 1998.

[6]杨莉芳.近二十年口语测试研究中存在的主要问题[J].外语教学, 2006.1:43, 46.

测试形式 篇4

随着Web应用领域的不断扩展, Web应用的质量问题日益受到人们的关注, Web应用的测试已成为软件测试研究的重要内容。Web应用具有异构性、分布性、并发性、平台无关性等特性, 使得对Web应用软件的测试要比对传统软件的测试更加困难。另一方面Web应用软件开发周期短、更新速度快。如何在有限的时间和资源条件下进行高效的测试, 这给软件测试研究带来了新的挑战。

基于规格说明的软件测试因其与代码的无关性, 在Web应用测试中日益得到重视。Web应用导航模型是Web应用软件规格说明的重要组成部分, 它描述了Web导航中所涉及的元素及其相互关系, 用模型化的方式表示Web应用复杂的链接关系和交互关系, 便于测试用例的生成。关于Web应用导航模型, 国内外已有不少的研究成果, 如HDM方法、UME方法、OO-H方法等[1,2]。分类树法[3,4]是软件测试常用的方法, 是分类划分法[5]的扩展。分类树法采用组合的方式生成测试用例, 但所得到的测试用例集一般比较庞大。文献[6,7]提出在分类树法中添加约束, 以限制测试用例的数量。在分类树中增加约束关系, 利用分类树编辑工具 (CTE) , 可以避免无效测试用例[8,9]。文献[10]将分类树法应用于Web服务测试, 利用约束关系和CTE得到有效的测试用例, 但没有根据覆盖标准对测试用例集进一步优化。文献[11]提出应用每个选取一次和基本选取的方法选取测试用例, 但没给出具体的方法和相应的工具, 且这两种方法缺乏灵活性, 不能根据工程的具体需要灵活选取测试用例。在实际的测试过程中, 由于时间和资源有限, 不可能做到充分测试, 因此有必要对生成的测试用例集根据一定的标准进行优化。

形式概念分析FCA (Formal Concept Analysis) 在数据挖掘、数据分析和软件工程等领域都有广泛的应用。

Sampath[12,13]应用FCA削减user-session集, 以生成较小的测试用例集。Pin Ng[14]提出应用FCA整合UML场景序列, 确认需求。Susan Khor[15]应用FCA组织遗传算法产生的数据, 生成测试用例。本文应用FCA, 按照给定的覆盖标准, 对用分类树法从Web应用导航模型生成的测试用例集进行精简, 并给出了一个自行开发的测试用例自动化选取工具。

1 形式概念分析

FCA (又称概念格) 理论基于概念和概念层次的数学化表达, 是应用数学的一个分支 [16]。

定义1 称 (U, A, I) 为一个形式背景, 其中U={x1, x2, …, xn}为对象集, 每个xi (in) 称为一个对象;A={a1, a2, …, am}为属性集, 每个aj (jm) 称为一个属性;IUA之间的二元关系, IU×A

对于形式背景 (U, A, I) , 在对象子集XU和属性子集BA上可以定义一对对偶算子:

X*={a|aA, ∀xX, xla}

B*={x|xU, ∀aB, xla}

其中, X*表示X中所有对象共同具有的属性集合, B*表示共同具有B中所有属性的对象集合。

定义2 设 (U, A, I) 为一个形式背景。如果一个二元组 (X, B) 满足X*=B, 且B*=X, 则称 (X, B) 是一个形式概念, 简称概念。其中, X称为概念的外延, B称为概念的内涵。

定义3 设 (U, A, I) 为一个形式背景, (X, B) 为概念, 定义偏序关系:

(X1, B1) ≤ (X2, B2) ⇔ (X1⊆X2) ⇔ (B1⊇B2)

形式背景 (U, A, I) 根据偏序关系所生成的格称之概念格。

例如, 设有形式背景 (U, A, I) , U={x1, x2, x3, x4}, A={a, b, c, d, e}, I由表1给出, 值1表示它所在行的对象具有它所在列的属性, 0表示不具有。

该形式背景共有六个概念:c5 ({x1}, {a, b, d, e}) , c2 ({x2, x4}, {a, b, c}) , c3 ({x1, x3}, {d}) , c4 ({x1, x2, x4}, {a, b}) , c1 (U, Ø) , c6 (Ø, A) 。为了方便描述, 将其简记为 (1, abde) , (24, abc) , (13, d) , (124, ab) , (U, Ø) , (Ø, A) , 其概念格如图1所示。

2 分类树法

分类树法根据规格说明将输入域划分成若干个子域, 再将子域的取值分成不同的类, 根据取值类之间的结构组合得到测试用例。应用分类树法确定测试用例的基本步骤为:

1) 根据规格说明确定与测试相关的若干个方面, 称之为分类;

2) 应用分类将输入域划分成若干个子域, 称之为类;

3) 由分类和类的关系表生成分类树;

4) 从分类树中选出测试用例。

下面应用实例说明分类树法确定测试用例的具体过程, 实例来源于上海大学科研处管理平台中的论文管理模块。该模块有教师和管理员两类用户。提供给教师的主要功能有:查询论文信息。论文分为会议论文和期刊论文两类。管理员的主要功能有:增加、删除和修改论文信息。实例的导航模型如图2所示。

导航模型中根据用户不同的输入选择进入不同的页面, 用户的输入选择可以作为分类树法划分分类和类的依据。由此得到实例的分类和类及约束关系如表2所示。

运用工具CTE-XL可以由表2得到此实例的分类树及其测试用例, 如图3所示。

为了方便描述, 按表2中的标识表示。由于期刊论文与会议论文的操作不完全相同, 所以在表中的相应标识ti不相同:

T1:t1→t3→t6→t10

T2:t1→t3→t6→t12

T3:t1→t3→t6→t14

T4:t1→t3→t8→t10

T5:t1→t3→t8→t12

T6:t1→t3→t8→t14

T7:t1→t4→t5→t9

T8:t1→t4→t5→t11

T9:t1→t4→t5→t13

T10:t1→t4→t7→t9

T11:t1→t4→t7→t11

T12:t1→t4→t7→t13

T13:t2→t3→t6→t16

T14:t2→t3→t8→t16

T15:t2→t4→t5→t15

T16:t2→t4→t7→t15

这只是根据系统部分模块得到的, 如果根据实际系统, 产生的用例将会更多。下面按照覆盖所有功能节点并覆盖部分路径的标准, 应用FCA对上述的测试用例集进一步精简。

3 形式概念分析的应用

对于上面的测试用例集, 按照覆盖所有功能节点的标准, 令U={T1, T2, …, T16}, A={t1, t2, …, t16}。表3给出了这个实例中对象集与属性集之间的关系I。在表3中如果测试用例Ti包含tj (其中i=1, 2, …, 16, j=1, 2, …, 16) , 则第ij列为1, 否则为空。

由实例的上下文可以得到相应的概念格, 如图4所示。

记Bottom结点的深度为0, 每往上一层深度加1。规定当一个结点按不同路径计算有多个不同深度值时, 取这些深度中的最大值。若按照Sampath[12,13]的选取规则, 在深度为1的结点上每点选取一个 (多个则随机选择一个) , 则得到一个大小为10的测试用例集T′={ T1, T2, T3, T4 , T7, T8, T9, T13, T15, T16}。这种选取方法只考虑单个节点的重复性, 没有得到最精简的测试用例集。为了使选取的对象集能够覆盖所有的属性, 深度为1的每个结点必需保证至少有一个对象被选出, 应用贪心算法, 现提出如下新的选取规则, 称之为贪婪选取规则:

(1) 计算每个测试用例在深度为1的结点中出现的次数。为每个深度为1的结点选取一个测试用例, 若在前面结点的选取过程中该结点已有测试用例被选入, 则不再选入该结点的测试用例。将与被选取的测试用例出现在同一个结点下的测试用例出现次数减1。例如在上例中, 若结点c15中的测试用例T7被选入, 则将c15中的T10和c13中的T8, T9, T15, 的出现次数都减1;

(2) 若一个结点中有多个测试用例可供选择, 则选取在深度为1的结点中出现最多的测试用例。若出现的次数相同, 则随机选择一个。

这样我们可以得到实例削减后的测试集, T={T1, T3, T5, T7 , T9, T11, T13, T16}, 与Sampath的选取结果相比, 削减了1/5的测试用例, 并且仍然能覆盖所有的功能节点。

对于部分路径覆盖的标准, 如要覆盖路径:t1→t3→t6, 只须去除属性t1 , t3, t6, 加入属性 (t1 , t3, t6) , 其他步骤与功能覆盖标准类似。部分路径的多少可以根据工程需要和资源条件灵活选取。精简测试用例集可以由本文根据形式概念分析原理开发的测试用例精简分析器自动生成, 测试用例精简分析器接受文本文件形式的原始测试用例集和测试覆盖标准, 默认的测试覆盖标准为功能节点覆盖, 输出为文本形式的精简的测试用例集。图5中显示的是在功能节点覆盖的基础上增加了t1→t3→t6、t2→t3→t6两个路径覆盖的精简结果。

4 测试用例选取方法的有效性

4.1 覆盖的充分性

定理1 设 (U, A, I) 为一个形式背景, U={o1, o2, …, ok}, A={a1, a2, …, ak}, 概念集C={c1, c2, …, cm}, 在这个概念格中, 深度为0的概念集为Cbottom, 深度为1的概念集为C′={ci1, ci2, …, ciI}。若Cbottom=Ø, 任意的属性aiA都被U中至少一个对象所具有, 对象集U′={oi1, oi2, …, oih}覆盖概念集C″ (即对任意的概念cij (Oij, Aij) ∈C″ (j=1, 2, …, I) , 存在oikU′, 使得oikOij) , 则对象集U′覆盖属性集A (即对任意的aiA (i=1, 2, …, k) , 存在oikU′, 使得oik具有属性ai) 。

证明 对任意的aiAj, Aj为概念cj (Oj, Aj) 的属性集, 若cjC′, 即概念cj在其格中的深度为1, 根据U′的定义, 存在oikU′, 使得oikOj, oif具有属性ai, 若cjC′, 则存在cij (Oij, Aij) ∈C′偏序大于cj, 设oikOij, 根据格的偏序关系, 对象oik具有属性ai

由定理1可知, 对于测试用例集T={T1, T2, …, Tn}, 测试覆盖标准集C={t1, t2, …, tm}, 以T为对象集, C为属性集, 构建概念格。根据贪婪选取规则, 当bottom结点为空时, 在深度为1的结点上, 每个结点选取一个对象, 所得到的测试用例精简集T′={Ti1, Ti2, …, Tik}可以充分覆盖测试覆盖标准集C

4.2 精简结果的优度

贪心算法属于启发式算法, 设计算法容易, 所得算法复杂度低, 运行速度快, 一般都能达到局部的最优解, 在实际问题求解中得到了广泛的应用。本文提出的贪婪选取规则应用了贪心算法, 因此, 可以以较小的时间和空间成本代价, 得到较优的精简结果。

5 结 论

本文应用分类树法从Web应用导航模型自动生成测试用例。应用形式概念分析, 改进了Sampath的选取规则, 按照给定的覆盖标准, 对分类树法生成的测试用例集进行精简, 生成较小的测试用例集, 并根据根据形式概念分析原理开发了测试用例选取工具。进一步的工作是集成测试用例生成工具和测试用例选取工具, 提高测试效率。

摘要:Web应用软件开发周期短, 时间和资源条件有限, 要求有高效的测试。应用分类树法从Web应用导航模型自动生成测试用例, 并应用形式概念分析对生成的测试用例集进行精简, 在满足给定覆盖标准的前提下, 得到较小的测试用例集, 提高测试效率。

测试形式 篇5

随着软件产业化发展,软件的功能越来越强大,软件的复杂度也越来越高,更好地保障软件质量成为亟待解决的难题。在整个软件开发过程中,软件测试占有举足轻重的地位,是保证软件质量的重要手段。测试用例复用技术的发展,大大提高了软件测试的效率,更好地保证软件质量。形式化方法描述是提高测试用例复用的一个有效途径。

软件测试可分为基于代码的测试和基于规格说明的测试[12]。基于代码的测试对编程语言、开发和运行环境具有很强的依赖性。为了增强测试用例库中用例的可复用程度,本文将定位于基于形式规格说明的测试用例库建设。从规格说明产生的测试用例和环境具有相对独立性,从而使得这些用例非常适合于可复用测试用例库的建设。

1 形式规格说明语言

为了将规格说明准确地表达出来,通常采用一种新的软件开发范型,即通过形式化、规范化的数学理论,用描述“做什么”来取代“怎么做”,这就是形式规格说明。它采用形式规格说明语言书写,具有简洁、明确、无歧义的优点,易于用计算机自动地对其进行正确性证明,能够在软件开发的早期检查软件规格说明的一致性和完整性。常用的形式规格说明语言有Z、VDM、Larch和OBJ等。

Z是目前使用最广泛的一种形式化规格说明语言,它以一阶谓词逻辑和集合论作为形式语义基础,利用集合、序列、包和函数等数学概念对目标软件系统的结构和行为特征进行抽象描述,具有简明、精确的特点[8]。其主要的结构是模式,每个模式由变量说明和谓词两部分组成。模式又可分为状态模式和操作模式。状态模式是对系统的状态空间及其约束特性的描述,是系统最基本的模式,它定义了一个系统的本质特征。操作模式定义了系统在状态空间上的操作,描述了该操作所要满足的条件以及操作前后系统状态的变化关系。

以一个登录系统为例说明:

类型定义,User表示所有用户的集合,类型Word表示所用用户密码的集合。模式上方为声明部分,下方为谓词部分。状态模式LogSys定义了系统的特征,password用User到Word的部分函数表示;reg、active分别表示注册用户和激活用户,都是类型User的幂集。模式LogIn为操作模式,描述注册用户激活账号操作。u?、p?为输入变量,谓词部分的前两个式子是表示输入变量的前置条件,即进行一个操作时输入变量要满足的条件,表示该用户已注册但未激活并且输入的密码p与用户u相对应;后面的式子反映了输入后系统的变化及约束关系。关于Z语言的细节可参阅参考文献[8]。

2 软件测试中的测试用例

2.1 测试用例在软件测试中的作用

测试用例是对软件运行过程中所有可能存在的目标、运动、行为、环境和结果的描述,是对客观世界的一种抽象。测试用例体现了一定的测试方案、方法、技术和策略。

影响软件测试的因素有很多,例如软件本身的复杂程度、开发人员的素质、测试方法和技术的运用等。测试用例是测试工作的指导,可以把人为因素减少到最少,而且会随着测试的进行日趋完善,是软件测试质量稳定的根本保障。所以说,软件测试的核心任务是编写和执行测试用例,以验证软件的质量。测试用例是软件测试工作的指导,是软件测试必须遵守的准则,更是软件测试质量稳定的根本保障。因此如何设计出好的测试用例达到最佳测试效果是进行软件测试的关键和核心[13]。

2.2 测试用例的复用

测试用例的复用就是把一个软件的测试用例在一个新的软件测试中使用或是在软件新版本的测试中使用[7]。其中包括测试用例的设计思想、具体内容、操作步骤以及测试过程中产生的信息的复用。

测试用例的复用可分为在同一软件的不同测试阶段、不同时间测试下的复用和相似软件之间的复用。同一软件的不同测试阶段中的测试用例复用是指在项目开发过程中,低层测试对象的测试用例可能部分地用到高层对象的测试中,例如单元测试的测试用例可以用到集成测试中。对一软件多个版本的测试中,如果软件在上一次测试未通过,那么产生的大量测试用例被保存下来,在新的一次测试中,可以查询找到相关的测试用例,直接导出运行来进行测试。本文提出的测试用例库,基于形式化描述,测试用例描述精确、规范、属性全面,可以根据软件所属行业、测试类型或测试输入等在库中查询相似软件的测试用例。项目间的测试用例的复用主要是设计思想、测试方法、执行步骤以及测试用例的选择和测试数据等的复用。

2.3 可复用测试用例的设计和描述

通常把软件测试分为黑盒测试和白盒测试。黑盒测试一般为功能测试,它是在已知软件所应具有的功能,通过测试来检验每个功能是否能正常使用。黑盒测试不考虑程序内部结构和内部特性,通常采用等价类划分、因果图、边界值分析等方法来生成测试用例;白盒测试是基于代码的测试,它是根据程序的内部逻辑结构生成测试用例。白盒测试生成测试用例时要依据一定的覆盖准则,包括:语句覆盖、判定覆盖、条件覆盖、条件组合覆盖和路径覆盖等。

软件测试用例复用的基本前提:一是必须有可以复用的测试用例,二是所复用的测试用例必须是有用的,三是复用者必须知道如何去使用被复用的测试用例。因此,正确刻画、描述和管理可复用的测试用例是实现测试用例复用的关键技术[6]。复用测试用例首先要对测试用例进行分类描述,这种描述是否权威、完整、可理解与规范化,则决定了该测试用例能否或多大程度上可以被测试人员所理解并接受。所以,规范化的测试用例描述在软件测试与测试用例复用中具有重要的作用。

测试用例是定义测试实现及其环境、测试输入、测试条件及为一个特定目标所开发的预期结果的集合。全面地描述测试用例并详细分类,加强测试用例的独立性。测试用例的分类涉及被测软件类型、测试的类型、软件所应用的领域等多个方面,通过合理、科学的测试用例描述和分类,降低测试用例之间的联系,提高测试用例的可复用性。可复用测试用例的形式化描述在下文中给出了定义。

3 测试用例与系统操作的形式化描述

3.1 形式化描述

规格说明首先给出类型定义:[Person,TestCase,ID,Intro,SoftwareType,TestType,ApplyArea,Senario,Input,Output,Result,CurrentStock,HistoryStock]。Person是所有人的集合,包括用户和管理员;TestCase是所有用例的集合;后面的类型定义用于描述测试用例的属性。SoftwareType表示测试软件类型,包括应用软件、系统软件、支持软件等;TestType表示测试类型,包括功能测试、性能测试、安全测试、负载测试、UI测试、数据库测试、易用性测试等。

状态模式CaseInfo定义了测试用例的信息。为了更好地实现测试用例的复用,测试用例的属性定义要全面,粒度要小,便于用户根据自己的需求在用例库系统中查找,属性值包括了ID号、用例简介、测试软件类型、测试类型、测试软件应用领域、测试场景、输入输出和预期结果。CaseStock是测试用例库和复用信息的数据库状态模式,其中变量reusetime来标示每个用例的复用次数,便于用户查找行业中使用最频繁的测试用例,提高测试用例的复用效率;变量stock、available、history分别表示当前用例库、可用用例和历史用例库;reuse是用例的复用记录,它以从测试用例到用户的部分函数形式表现出来;last_reuse记录最后复用某用例的用户。谓词部分对用户操作进行了限制,只有当前用例库中的可用用例才可进行复用。

InitCaseStock为初始状态模式。系统初始时,测试用例库中无用例,无用户,也无复用记录,但至少存在一个管理员。初始状态模式中只规定管理员集合不为空,其余全为空。

下面的模式为操作模式。模式Reuse定义了系统中测试用例复用操作。该操作会对测试用例库系统产生影响,要求测试用例是可用的,即该测试用例属于当前用例库。复用操作更改当前测试用例信息和最后复用用例的用户信息,及时更新,并将属性reusetime加1。模式AddCase定义了添加测试用例操作,输入测试用例的简介、软件类型、测试类型、输入、输出等信息。通过函数case_info,判断输入的测试用例信息是否与库中存在的测试用例信息相同,不存在则操作合法,否则为重复,不可以再添加。测试用例库中新添加了测试用例,可用测试用例和当前用例库要将新添加的测试用例包含进去。模式ApplyArea_search和 Input_search分别定义了根据被测软件的应用领域和测试用例的输入进行搜索的操作,用户和管理员都可对测试用例搜索,根据输入的属性变量值输出测试用例信息。

3.2 初始化定理的证明

对于任何系统的状态模式S,都有一个初始状态InitS。一个没有初始状态的系统一般来说是没有什么用处的。所以写下一个规格说明后,就必须证明系统的初始状态是存在的。

可复用测试用例库的形式规格说明CaseStock的初始化定理可描述为:∃CaseStock′,InitCaseDtock。先进行预处理,依据规则(∃J|P.Q)⇔(∃J.P∩Q),展开定理为:

这样该初始化定理中含有12个子目标:

子目标G1、G2、G3和G4很容易用定律L12(0∈ZΠ S)得到证明;G5显然是正确的;子目标G6、G7、G8可用定律L14(Ø∈S→T)得到证明;根据定律将dom 0重写为0,然后由定律L4,子目标G9和G10都得到证明;G11和G12根据数学定律显然也是正确的。综上,整个初始化定理得到证明,说明该系统初始状态的存在性。

4 系统实现及更新维护机制

要使测试用例库能保持永久的活力,测试用例库中的用例必须是一个动态进化、持续更新的系统,可复用的测试用例库的基本架构如图1所示。

可复用测试用例库系统为用户提供全面的软件测试服务,用户可以在此平台新建测试项目、编写测试需求、测试计划、测试用例和缺陷报告;提供统一的测试文档模板,可以在最大程度上避免测试的随意性,规范中小企业的测试流程,提高测试设计的质量。形式规格说明中的ApplyArea_search模式定义了根据测试用例中测试软件应用领域的查询操作,得到相应的测试用例进行复用操作或添加到收藏。一个测试用例经复用操作后,变量reusetime加1,系统统计每个用例的复用次数,并用图表显示各行业各领域中复用频繁的测试用例,方便用户查询,了解行业最新测试动态和信息。

如果测试用例库无法增加新的测试用例,那么该测试用例库随着时间的推移,将失去其使用价值[11]。模式AddCase定义了添加测试用例的操作,要求新添加的用例是当前测试用例库中不存在的,避免重复用例的出现。为提高复用程度,测试用例的模式定义CaseInfo是可配置的,可以根据测试项目要求添加其他属性,比如测试环境、测试用例设计方法、项目来源等信息。

测试用例库中的用例逐渐增加,部分测试用例查看和复用次数较少,或随着技术的不断改进,部分测试用例可能不再具备实际运行的条件而成为过时的测试用例,可将其移动到历史用例库。为了提高测试用例的搜索效率,删除多个测试用例来测试同样功能的冗余的或不具有复用特性的测试用例。

5 小 结

利用形式化方法描述进行需求分析,有助于发现需求中隐含的不一致性、二义性、不完整性,并对其进行更深入和更精确的理解,从而进行规范化管理。通过对测试用例的形式化描述,增强对测试用例的管理,使测试用例结构文档实现标准化,提高测试用例的复用能力。

本文提出的基于形式化描述的可复用测试用例库系统,有助于测试用例的复用和共享,可以大大提高软件测试效率,保证软件的质量。

摘要:软件测试作为保证软件质量的重要手段,是软件开发过程中的重要环节。软件测试过程中产生的大量测试用例对保证软件的质量起到了关键作用。为了共享和复用测试用例,提出了基于形式化语言描述的可复用测试用例库的构建方法,收集大量测试用例,并进行合理的分类和管理,测试人员可以从库中选择合适的测试用例直接使用或稍作修改来使用,从而大幅度降低了测试人员的工作量,极大地提高了测试工作效率,进而更好地保证软件质量。

上一篇:项目辅助论文下一篇:历史唯物主义