基于XML的COM构件自动化测试技术研究.docx

上传人:王** 文档编号:775327 上传时间:2024-01-14 格式:DOCX 页数:73 大小:246.17KB
下载 相关 举报
基于XML的COM构件自动化测试技术研究.docx_第1页
第1页 / 共73页
基于XML的COM构件自动化测试技术研究.docx_第2页
第2页 / 共73页
基于XML的COM构件自动化测试技术研究.docx_第3页
第3页 / 共73页
基于XML的COM构件自动化测试技术研究.docx_第4页
第4页 / 共73页
基于XML的COM构件自动化测试技术研究.docx_第5页
第5页 / 共73页
基于XML的COM构件自动化测试技术研究.docx_第6页
第6页 / 共73页
基于XML的COM构件自动化测试技术研究.docx_第7页
第7页 / 共73页
基于XML的COM构件自动化测试技术研究.docx_第8页
第8页 / 共73页
基于XML的COM构件自动化测试技术研究.docx_第9页
第9页 / 共73页
基于XML的COM构件自动化测试技术研究.docx_第10页
第10页 / 共73页
亲,该文档总共73页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《基于XML的COM构件自动化测试技术研究.docx》由会员分享,可在线阅读,更多相关《基于XML的COM构件自动化测试技术研究.docx(73页珍藏版)》请在优知文库上搜索。

1、随着构件的广泛应用,基于构件的软件工程也应运而生,其目标是在一个框架内用即插即用的软件构件定制构造或者是商业成品(COmmerCialOff-The-Shelf,COTS)构件一一组成应用系统。基于构件的方法使得大型分布式软件系统的开发和维护变得更为简单,可以提高软件的复用性和软件开发效率。但是,复用质量低下的软件构件可能会起到相反的作用,不合理的使用高质量的软件构件也可能带来灾难性的后果。因此需要对构件进行测试。使用软件测试自动化技术提高软件测试的效率己经成为软件测试发展的必然趋势,构件的自动测试也成为一个必不可少的环节。但传统的自动测试技术,由于其设计模式的局限性,已经不能适用于构件的自动

2、测试。因此,迫切需要研究CoTS构件自动化测试技术。基于XML的COM构件自动化测试技术是对第三方COM构件进行自动化测试的有效技术。该技术主要包括COM构件测试自动化框架和实现该框架的Cc)M构件自动化测试工具C0MCAT(C0MComponentAutomatedTest)0整个框架主要由构件测试元数据自动提取与描述、构件测试脚本自动生成、构件测试脚本自动执行、构件测试结果自动验证与记录四个环节组成。XML技术被充分应用到构件测试自动化的各个环节。该框架将面向对象单元测试自动化框架XUnit与数据驱动的测试框架加以结合,并且做了改进。该框架还从构件使用者和测试者的角度设计了内涵丰富的构件元

3、数据,并且针对CoM构件,通过访问类型库来自动获取构件结构信息元数据,并用XML描述。该框架还综合运用多种技术辅助实现测试过程的自动化。实验表明,该技术有效、自动化程度较高、投入回报率较高。关键词:构件测试,测试自动化,自动化测试工具,元数据,类型库AbstractWiththewidelyadoptionofthecomponents,Component-BasedSoftwareEngineeringemergesasthetimesrequire.Itsgoalistoassemblyapplicationsystemsusingplug-and-playsoftwarecomponen

4、tswhichareeithercustom-builtorCOTS(CommercialOff-The-Shelf)inaframework.Component-basedmethodmakesthedevelopmentandmaintenanceoflargedistributedsoftwaresystemseasieranditcanincreasethesoftwarereusabilityanddevelopmentefficiency.However,reusingsoftwarecomponentsofinferiorqualitymayhavethereverseimpac

5、t,andreusingsoftwarecomponentsofsuperiorqualityincorrectlymayalsobringdisastrouseffect.Socomponentsneedtobetested.Applyingsoftwaretestautomationtechniquestoimprovetheefficiencyofsoftwaretestinghasbecometheinevitabledevelopmenttrendofsoftwaretesting,andtestautomationofthecomponentshasalsobecomeaneces

6、sarysection.Butduetothelimitationofdesignpattern,conventionaltestautomationtechniquescannotadapttotestautomationofthecomponents.SotheresearchonCOTScomponentstestautomationtechniquesisbadlyneeded.XML-basedCOMcomponentstestautomationtechniquesareeffectivetestautomationtechniquesonthird-partyCOMcompone

7、nts.ltmainlyincludesCOMcomponenttestautomationframeworkandCOMcomponentautomatedtestingtoolCOMCAT(COMComponentAutomatedTest)whichimplementsthatframework.Thewholeframeworkiscomposedoffoursections,whichare,componenttestmetadataautomatedretrievalanddescription,componenttestscriptautomatedgenerating,comp

8、onenttestscriptautomatedexecuting,componenttestresultsautomatedverificationandlogging.XMLtechniquesarefullyappliedtoeverysectionofcomponenttestautomation.Theframeworkcombinesobject-orientedunittestautomationframeworkxUnitanddata-driventestframeworktogetherandmakessomeimprovements.ltalsodesignscompon

9、entmetadatawithplentyofcontentfromcomponentusersandtestersview.EspeciallyforCOMcomponents,itretrievescomponentmetadataaboutstructuralinformationautomaticallybyaccessingtypelibraryanddescribesthatwithXML.ltalsosyntheticallyutilizesseveraltechniquestoassistaccomplishingtheautomationoftestprocess.Anexp

10、erimentindicatesthatthesetechniquesareeffectiveandofhighdegreeofautomationandhighreturnoninvestment.Keywords:ComponentTestingiTestAutomationiAutomatedTestingTool;Metadata;TypeLibrary摘要IABSTRACTIll1绪论1.1 研究课题的背景与意义(1)1.2 国内外研究现状(4)1.3 本文主要内容及组织(9)2构件测试及其自动化1.1 基于构件的开发(10)1.2 构件测试方法(11)1.3 构件测试的自动化及其工

11、具(15)1.4 本章小结(15)3 COM构件测试自动化框架3.1 测试自动化总体框架(16)3.2 XML语言与构件测试自动化(18)3.3 测试脚本生成自动化(26)3.4 测试程序运行自动化(34)3.5 本章小结(36)4 COM构件测试元数据4.1 构件元数据(37)42COM构件的类型信息及其提取(39)4.3 类型信息的描述与展现(41)4.4 本章小结(45)5第三方COM构件自动化测试工具的实现5.1 自动化测试工具的实现(46)5.2 实验(49)5.3 本章小结(54)6总结与展望6.1 论文总结(55)6.2 进一步工作展望(56)致谢(57)参考文献(59)1.1

12、研究课题的背景与意义自从1968年NATO会议首次提出“软件危机”以来,软件工程己经取得大进展,然而这一危机并没有消失。随着计算机应用领域的迅速扩大,软件及复杂性的不断提高,软件危机愈加明显地暴露出来,提高软件生产率成为产业的当务之急。要解决这个问题,软件复用无疑是一个有效的方法。软件复用(SOftWareReUSe)是将己有软件的各种有关知识用于建立新的软件,以缩减软件开发和维护的花费1。它的主要思想是,将软件看成是由不同功能部分的“组件”所组成的有机体,每一个组件在设计编写时可以被设计成完成同类工作的通用工具。这样,如果建立了可以完成各种工作的组件,编写特定软件的工作就变成将各种不同组件组

13、织连接起来的简单问题,这对于软件产品的最终质量和维护工作都有本质性的改变。从早期的子函数到后来的面向对象的类的概念,软件复用的粒度逐渐变大。但是以类为封装单位的复用不能解决异构互操作问题。构件可以将一组类的组合进行封装,隐藏具体的实现细节,通过接口向外界提供服务。构件可以将复用提高到更高的复用层次。进入20世纪90年代以后,越来越多的软件开发组织在系统开发过程中,开始采用可复用的软件构件2。ClemenzSZyPerSkiF认为构件是“一个软件单元,具有一组契约或合同规定的接口。构件与它所在的环境/上下文有清晰的依赖关系,并且仅仅与此相关。构件可以被独立配置,以便由第三方进行合成(新的软件)。

14、一个广为接受的定义是:构件是具有符合特定协议的接口的组合单元,它的上下文依赖性是完全显式的,构件可以被独立地部署,并由第三方组合。在与其它构件组合时,不需要修改构件的源代码,只需要修改构件的接口和属性。构件的接口分为两种:一种是构件可以向外界提供的服务的接口,其它构件可以通过这些接口来调用构件提供的服务;另一种是构件期望从其它构件获得服务的接口2。目前,工业界主要有三个不同的构件规范,即SUN公司的EJB,Microsoft公司的8M/D8M4,对象管理组织OMG的8RBAS这些技术提供了从构件开发应用系统的通信与协同。其中微软的COM构件应用十分广泛,包括WindOWS操作系统和OffiCe

15、办公套件都大量使用了COM构件0。COM的全称是ComponentObjectMode1,也就是构件对象模型。COM是一个二进制的标准,COM标准包括规范和实现两大部分。规范部分定义了构件和构件之间通信的机制,这些规范不依赖于任何特定的语言和操作系统,只要按照规范,任何语言都可使用。COM标准的实现部分是8M库。8M库为Cc)M规范的具体实现提供了一些核心服务。一般是在WindOWS平台下,并且被Microsoft推出的开发工具和类库支持。COM标准详细规定了一个COM构件所应具有的内存结构。COM对象间的交互完全基于对此内存结构的操作。因此可以在很大程度上忽略不同编程语言,应用环境之间的差别

16、,解决了重新编译重新发行的问题7。COM用接口的概念对构件的功能属性进行完全的封装。与构件的通信必须通过接口进行。接口不仅仅是一个逻辑上的概念,而且也存在着与之相对应的物理内存结构虚表(VTABLE)。一个对象可以对应多个接口,一个接口也可以由多个对象所实现,表现出灵活的多态性。COM接口同时也为版本管理提供了方便。当使用新版本的构件替换老版本时,只要该构件实现了旧版本的接口(通过包容、聚合等手段),就保证了其与原用软件系统的兼容。同时新增功能(新的接口)又可被自然地使用。接口完全封装了内部功能、属性的具体实现,使得COM对象对外表现为“黑盒”结构,完全吻合面向对象系统所要求的“强内聚性”。但由于对接口的过多强调,Cc)M构件一般不具备广泛提倡的“弱耦合性”的特点。总之,OOM的设计思想是构件化构建软件,软件由多个经过编

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 论文 > 毕业论文

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!