功能测试范例(3篇)
功能测试范文
【关键词】CD4511;译码驱动;逻辑功能;测试电路
引言
十进制计数器、数字钟、声控计数器等一些电子产品,在我们的日常生活随处可见,CD4511作为一种常见的BCD码―七段码译码器,被广泛地应用于这些电子产品中,用来译码驱动共阴极LED数码管。不过,在对该集成块的应用过程中,人们发现如果能理解CD4511的逻辑功能,将会给CD4511应用电路的装配、调试以及排故带来极大地益处。所以,本人在本文中,本着电路结构简单、操作简便、现象明显的原则设计并制作了一款CD4511逻辑功能测试电路。
1.CD4511简介
CD4511集成电路具有16个引脚,其引脚分布如图1所示。其引脚功能为:A、B、C、D为四位BCD码的输入端;a、b、c、d、e、f、g为七段码输出端;为灯测试端,给灯测试输入端加“L”电平时,a~g均为“H”电平,七段全亮;为消隐端,给该端加“L”电平时,a~g均为“L”电平,七段全灭;LE为锁存控制端,当给该端输入高电平时,在此之前一瞬间的A~D状态将被锁定并保持,集成电路“记忆住了”(锁存)这一瞬间的状态,同时译码输出也随之保持不变,当给该端输入低电平时,A~D输入则直接到达译码变成七段信号从a~g输出;Vcc为电源;GND为接地端。
图1CD4511引脚分布
2.电路设计思路
2.1设计要求
要求设计一个用于测试CD4511逻辑功能的电路,在电路装配检测无误后接入+5V电源,能对CD4511的逻辑功能进行正确测试,且输入信号控制简单,输出现象明显,便于理解CD4511的逻辑功能。
2.2设计思路
根据设计要求,本人设计了一款CD4511逻辑功能测试电路,其电路图如图2所示。在该电路中,本人采用一个拨码开关K的断开或闭合来控制输入的二进制代码,灯测试端、消隐端、锁存控制端分别用一个开关来控制该端输入为高电平还是低电平,这样在进行CD4511逻辑功能测试时,测试者能通过简单的操作给相应的端输入高电平或低电平。电路的输出端接的是一个共阴极数码管,这种数码管由发光二极管LED排列成“日”字形状,“日”字各笔段与CD4511输出端a、b、c、d、e、f、g相对应,如图3所示,测试者就可以通过数码管上0至8的不同显示,根据笔段发光表示所对应的输出端输出高电平,反之输出低电平的原则,很容易地可以知道a、b、c、d、e、f、g七个输出端输出的是高电平还是低电平。
图2CD4511逻辑功能测试电路
图3半导体数码管
图4CD4511逻辑功能测试电路实物图
表1元件清单
代号名称规格型号数量测试结果
R2-R8电阻510Ω7
R21-R27电阻2KΩ7
DS数码管BS2071
K1-K3按钮开关SW_PB_13
U2集成电路CD45111
S1-S4拨码开关DIP-41
3.电路测试
根据设计思路,在选择好相应元器件后制作出如图4所示的CD4511逻辑功能测试电路,其元件参数如表1所示。在电路装配完成后,经检查确认装配无误后,给电路接入+5V电源,通过设置各开关的状态,对电路进行测试。
测试过程如下:
(1)测试灯测试端。
开关K1控制灯测试端,不按K1时CD4511③脚接高电平,当只按下开关K1时,数码管显示“日”,数码管各笔段全亮。
(2)测试消隐端。
开关K2控制消隐端,不按K2时CD4511④脚接高电平,当只按下开关K2时,数码管无任何显示,数码管各笔段全灭,即“消隐”。
(3)测试锁存端。
开关K3控制锁存端,不按K3时CD4511⑤脚接低电平,电路可以计数;按下K3,⑤脚接高电平,则保持原有输入,新输入无效,即“锁存”。
(4)在锁存端为低电平、消隐端和锁存端为高电平时,根据表2测试CD4511的逻辑功能,并将输出记录于表中。从测试结果来看,在输入为“0000”~“1001”时有相应的“0”~“9”输出;而在输入为“1010”~“1111”时,无输出。
表2CD4511逻辑功能测试
4.结束语
这款CD4511逻辑功能测试电路制作方便,测试操作简单、并且现象一目了然,能让人比较深刻地理解CD4511的逻辑功能,帮助人们理解一些电类的专业名词,如:“消隐”、“锁存”。同时,整个测试过程也利于人们对应用该集成块的电路中出现的一些故障进行分析、排除。
参考文献
[1]姜大源.职业教育课程改革思路[J].职业技术教育,2008.
[2]姜春玲,封百涛.任务驱动法在“数字电子技术”教学改革中的应用[J].中国电子教育,2009(4).
功能测试范文
【关键词】风力发电机;变流器;安全保护;测试
引言
长期以来风力发电机组变流器的安全保护功能测试由于其测试方法较为复杂而且在测试过程中又极易损耗变流器的各相关元器件,因此各变流器供应商一直将其作为风机的型式试验要求来做而不作为出厂试验的测试要求。而型式试验只是在有试制的新产品或定型产品做重大改进时或产品质量遇到其它特殊情况时才做,而且一般也只测试一两台,其它相同型号的产品在出厂时就不再作为强制试验项目做出厂测试了。这样变流器安全保护方面的功能在平时的生产过程中就不易受重视,容易出现质量方面的问题,而变流器安全保护功能又恰恰是关系到风机变流器生命周期至关重要的一类保护功能。
一、风机变流器安全保护功能
风机变流器的安全保护功能根据其所保护的部位及类型的不同主要分为过温保护、过流保护、开关与熔断器故障保护、缺相保护和相序错误保护、接地保护、发电机过速/欠速保护、直流环节过电压/欠电压保护和浪涌过电压及防雷电保护。
1.过温保护,其中包括绝缘栅双极晶体管IGBT模块散热器过温、输入电抗器过温和输出电抗器的过温保护。即当变流器某关键部位温度过高时其控制器发出报警信号或停机。
2.过流保护,为变流器控制器检测到网侧及转子侧过电流时,发出报警信号以及触发相应逻辑保护。
3.开关与熔断器故障保护,当主功率回路开关跳闸或主熔断器发生熔断故障时变流器控制器发出相应报警信息并触发相应逻辑保护的功能。
4.发电机过速/欠速保护,变流器通过发电机编码器传来发电机转速信号来判断其转速是否正常。当转速高于或低于一定的数值时即发出发电机过速或欠速报警信息并触发相应的保护逻辑。
(五)直流环节过电压/欠电压保护,当变流器控制器检测到直流母线电压超过或低于设定值时,即报出相应故障信息并触发相应保护逻辑。
二、风机变流器安全保护功能的测试方法
(一)过流保护过流保护包括网侧和转子侧过流保护
根据过电流采集信号的不同可分为两种情况:第一种是通过电流互感器进行模拟量的电流采样,这种较为简单,一般在测试程序中修改下调网侧及转子侧过流保护参数值,然后变流器启动运行,并网后给系统加载使网侧和转子侧电流上升至修改后的过流参数值,查看测试系统保护逻辑及故障信息是否准确即可(网侧和转子侧应分开测试)。第二种是通过数字量过电流传感器(比如霍尔元件)进行数字量过电流信号的采集。由于数字量过电流传感器的电流保护值是不能修改的,因此需通过并网加载加电流测试使过电流传感器置“1”的方式试验,显然这是一种带有一定破坏性的试验方法,容易损伤变流器的某些元器件,所以作为出厂测试一般可以省略并网加载环节,而采用直接断开连接过电流传感器信号线的方式测试,然后查看测试系统故障信息及保护逻辑动作是否准确即可。这种测试方法就是有不能验证过电流传感器本身是否符合要求的缺陷,但至少验证了过电流安全保护的其它所有功能,增加了该功能的出厂验证测试面,提高了可靠性。
(二)开关与熔断器故障保护
1.主功率回路开关故障安全保护功能测试:一般主功率回路开关的故障有触点烧毁、脱扣器损坏、操作机构损坏、过载线圈烧毁等等。当开关出现故障时,其自身会有一个数字量故障信号节点动作,此信号节点外接至变流器控制系统。为了安全的测试出此项的全部功能,主功率回路开关故障安全保护功能测试可分成两部分测试,即主功率回路开关故障测试部分和变流器控制系统响应部分。主功率回路开关故障可在变流器不通电的情况下测试,人为给主开关一个故障,然后用万用表电阻挡测量故障信号节点是否变化,变化为符合要求。变流器控制系统响应部分测试要先给变流器送控制电源,然后人为将连接主功率开关故障信号节点的信号线在主开关接线排上短接,待测试系统报出相应故障信息及触发相应保护逻辑即视为该安全保护功能测试通过。
2.熔断器故障安全保护功能测试:变流器主熔断器熔断后其辅助熔断器也跟着一起熔断并触发相故障开关量节点(微动开关),变流器控制系统接收到此熔断器熔断故障节点信号反馈后报出相应故障信息并触发相应保护逻辑。由于主熔断器的额定电流值要比辅助熔断器大很多,只要目击检查若辅助熔断器熔断后其微动开关是否能随之触发即可。微动开关的检查可以人为拨动其微动挡块听其分合动作声音是否清脆,或者用万用表电阻挡测量其节点是否有通断状态即可。相应变流器控制系统响应部分的测试同样要先给变流器送上控制电源,然后人为拨动其微动开关的微动挡块,测试系统报出相应故障信息及触发相应保护逻辑即可视为此功能测试通过。
3.缺相保护及相序错误保护缺相安全保护功能测试及相序错误安全保护功能测试分为总网侧、定子侧及转子侧三个变流器主电路进出线位置的安全保护功能测试。
(1)总网侧进线缺相及相序错误安全保护功能测试:这个测试的方法较为简单,缺相保护测试是在总网侧送电之前先将其三相进线接成二相进线,在并网接触器及励磁接触器主触头未闭合的情况下给总网侧进线送电并合上主断后,给网侧送电变流器测试系统应立即报出相应故障信息并触发相应保护逻辑(按照A、B、C三相分别做一次测试)。相序错误保护测试则是在总网侧送电之前将三相网侧进线相序人为接反,然后在并网接触器及励磁接触器主触头未闭合的情况下给总网侧进线送电并合上主断后,变流器测试系统也应立即报出相应故障信息及触发相应保护逻辑,这样即可视为此项功能测试通过。
(2)定子侧及转子侧缺相及相序错误安全保护功能测试:这两个位置的测试需要分开测试,但测试方法基本相同。缺相安全保护测试首先将定子侧或转子侧三相出线改接成二相出线,然后按测试程序正常启动运行变流器,期间测试系统报出相应故障信息并触发相应保护逻辑即视为此功能测试通过(按照A、B、C三相分别做一次测试);相序错误安全保护测试同样首先将定子侧或转子侧三相出线的相序接反,然后按测试程序正常启动运行变流器,期间测试系统报出相应故障信息并触发相应保护逻辑即视为此功能测试通过。
三、结束语
在设计风力发电机组的每一个部件时,设计工程师们考虑最多最全面的往往就是该部件自身及其对整个风机的安全保护功能方面的诸多要求。风机的安全性能也是各风电业主采购风机时的重要参考项目,其重要性不言而喻。通过上述对风电机组变流器系统各个安全保护功能测试方法的详细分析和描述,使读者基本了解了该安全保护功能测试方法的工作原理及将其作为出厂试验项目的必要性;同时对变流器系统本身及风电机组的其它工作系统的安全保护功能测试方法提供了一种新的思路,在其实际的出厂常规测试应用中亦具有一定的指导意义。
功能测试范文篇3
关键词:Web功能自动化测试;CubicTest;Selenium;QucikTestProfessional
中图分类号:TP393文献标识码:A文章编号:1009-3044(2012)09-2115-04
FunctionalWebTestingAutomationwithCubicTest
JINMing-yan
(TongjiUniversity,Shanghai200092,China)
Abstract:ThispaperbrieflyintroducedCubicTestasoneoftheeasiestsolutionstoautomatefunctionalwebtestingandemphasizeditsstrengthandweaknessbycomparingamorefullyfeaturedHPMercuryQuickTestProfessional.KnowledgeofopensourcealternativetoQTPwillbeusefulwhenservingcustomerasconsultants.Lastly,IprovidedanoverviewoftheframeworkIdevelopedtosupplementthefeatureCubicTestandSeleniumdonotprovide.ThereisstillmuchroomforenhancementandIwillappreciatecontributionfromtalentedsoftwarearchitectsinthecommunity.省略[2]网站曾经编撰过一份公开源码的功能测试工具名单。在名单中,我试图寻找一个网页测试工具,能够使我不必编写代买来执行测试用例还能确保测试用例都是自我描述且直观容易理解。大多数的工具都需要用户编写Java或者XML(可扩展标记语言)的代码来实现断言或者检查点。但是,编码要求高度熟练的人员,以及大量的精力来维护测试。因为可读性差,又增加了那些不得不维护测试用例的痛苦因素。在下面的选项中给出了CubicTest的主要特点:
1)录制用户交互。没有Java,XML或者任何编码需要。
2)以图形化屏幕工作流形式来展现测试用例。
3)与JUnit集成。可配置从Java的调用。
CubicTest是一个Eclipse的插件,可以在Selenium[3]中启动用以录制和执行测试用例。Selenium是另一个开放源码的网页测试工具,作为MozillaFirefox的插件它可以录制网页的交互。使用这个功能,CubicTest能录制用户与网页的交互,并通过右击在网页中显示的文本来产生断言以及提供关键字检查。图1是CubicTest正在录制过程中的截图。在右手边,打开的Firefox浏览器中,我在文本“11111”上右键从上下文菜单中选择”AssertTest‘11111’Present”(断言文本“11111”与当前文本)。在左手边,在Firefox浏览器背后是CubicTest通过录制同步生成测试用例的功能。这种简便的使用并不需要特别的技能,这使得大量测试用例的开发变得低成本和容易部署。它的学习曲线十分容易,我和我的小组差不多花15到30分钟就可以开始上手。即使对于那些没有计算机知识和技能应届毕业生,在学历了30分钟左右的教程以后也能成功的写出测试用例。
该工具用户友好的图形表达,能使任何人都可以理解和维护测试用例,并且编程的知识也不一定是必需的。
与Java的集成给予了架构师、高级程序员很大的自由度去添加那些CubicTest周边功能用以补充那些在CubicTest范围内的缺少功能。添加了一个执行在文件中的SQL(结构化查询语言)语句的小功能,用以在执行测试用例前后准备和整理数据库。在下面的文章中,描述实施此功能的框架。
每个CubicTest的测试用例都基本上是一个XML文件,这使得用AWK,Perl或者Ruby去做类似文本替换这样的修改,相比通过GUI(用户图形界面)逐个去修改要简单的多。尽管,你通常不需要查看或修改XML的测试用例,通过脚本编辑器修改文本来驱动测试用例的功能可以是改进其维护性。例如,假设网页服务器的主机名都是内嵌在每个测试用例文件中。在不同的环境中,你就需要更改你的主机名。你可以写一个脚本来替换主机名,而不是打开每一个测试用例手工的去修改。
CubicTest是满足上述优点的工具之一。在继续深入之前,建议花30分钟左右阅读其教程用以了解那些我描述的优点。请相信,这十分容易。
图1使用Firefox录制
2与QTP的比较
本节将从个人的角度来比较CubicTest和QTP。
毋庸置疑,QTP比CubicTest更成熟、更强大。但是,这并不意味着你每时每刻都需要QTP。在有些情况下,你使用的往往只是QTP全部功能的一个子集。客户更倾向于做出明智的决定在清楚的理解工具的功能需求和用开放源码工具来取代商业工具。表格1给出了与QTP的比较,来帮助你更快理解。如果需要更多信息,可以选择更进一步的研究,例如如何支持Ajax代码。(这里十分欢迎您能分享您的评估)
QTP可用诸如VisualBasicScript(VBS)或者Java来扩展,而且它比CubicTest和Selenium提供了更丰富的应用编程接口(API)套件。毫无疑问QTP更加强大,但也十分昂贵。我个人的结论是,如果关键字检查是一个商务网页应用程序的主要需求,CubicTest完全可以满足。若一个网页应用程序密集的使用图形对象,那CubicTest可能不是一个特别好的选择。这里要注意的重点是分析你的网页应用程序和选择最合适的工具。CubicTest还是有其应用的局限性。
3示例框架
本节介绍了一个示例框架,其在项目中的实施使CubicTest更加有用。在该文中同一个示例网页应用程序一起,给出了工作源代码。在此简单给出了该文中框架的概述,如果您感兴趣的话,可以基于源代码之上做更深入的发掘。
框架作用如下:
1)执行储存在”_before.sql”文件中的SQL语句,以便加载测试数据到数据库或者配置测试用例的状态。测试用例的编号(ID)必须匹配CubicTest的测试用例的文件名。
2)选择启动浏览器来执行CubicTest的测试用例。
3)执行储存在"_after.sql"文件中的SQL语句,以便卸载测试数据,清除在执行测试用例过程中创建的数据或者恢复数据的状态。
4)如果安装了Firefox的插件Screengrab,并且通过SeleniumRemoteControl服务器来启动CubicTest的测试用例时启用了Firefox插件,那么它将保存在执行测试用例过程中呈现在页面上的每个源,还移动源的文件到测试用例编号(ID)名字命名的文件夹。
5)重复上述步骤,递归每个特定的文件夹和子文件夹下的CubicTest用例。
注意,SQL语句很多时候依赖于数据库。
图2展示了在UML(统一建模语言)框架中类图的静态结构。CubicTestCase#batchExecute()遍历在PATH下所有子文件夹,为每个测试用例去递归查找CubicTest的测试用例,它也调用BaseCustomTestSuiteTest#test()。BaseCustomTestSuiteTest#setUp()设置Selenium启动的配置,比如浏览器类型。
AbstractSqlCommandTemplate是一个抽象类,它利用ApacheCommonsDbUtils库实现了所有数据库相关的操作,并给BaseCustomTestSuiteTest类提供了执行SQL语句的接口。AbstracSqlCommandTemplate类表示了如果获取SQL语句到其实现类。
图2中SqlCommandfileConsumer从文件中读取SQL语句。有的读者可能想要使用DbUnit取代纯SQL。这里之所以决定使用纯SQL,是因为其在手工功能测试中也十分有用。SqlCommandfileConsumner#readSqlFile在字符串数组中返回SQL语句,这些SQL语句被SqlCommandfileConsumer#getBeforeDB1Queries和SqlCommandfileConsumer#getAfterDB1Queries包装。
如果读一下代码的话,就更容易理解了。在项目中,有两个数据库的实例,因此在源代码中除DB1以外还有DB2,但是为了简单起见,我在本示例中除去了DB2。如果对它是如何工作感兴趣,请在该文的工作站上下载一个示例网页应用程序(Struts2,Spring,iBatisandHSQLDB)和示例测试框架。最低的运行要求是,Tomcat和JDK(Java开发工具包)的1.5或更高版本(这里使用的是1.6.0_11)。
表1
图2框架结构
4进一步的工作
目前,正在探索一种能用简单的方法来添加数据检查功能的框架。其关键因素是:
1)测试设计人员不是必须要写Java代码。
2)可以避免重复的精力去创建和维护那些供测试人员使用的文档(通常是电子表格)和供程序使用的(通常是XML)的测试数据,期望数据。成功的测试自动化的关键是就花最少的功夫。
相信这十分方便使人们在一个电子表格中看所有测试用例的测试数据和预期数据,以便快速了解每个测试用例间的差别。在团队中,使用了这种方式来设计和审查测试数据和预期数据。更好的讲,如果能转换人们可阅读的电子表格到程序阅读的XML文件,并利用数据库测试框架,比如DbUnit,来加载、清除和验证数据库状态。另一种可能性是从数据库中生成XML文件和电子表格。
5结束语
希望从该文的读者中获得建议或意见。此外,欢迎读者修改、扩展和改进框架代码并且在论坛中共享。
参考文献: