文档库 最新最全的文档下载
当前位置:文档库 › 自动测试系统软件框架的设计与实现

自动测试系统软件框架的设计与实现

..器篓鼍竺悬船17

(1)224Contro。陬雨醺两日

??

Computer

Measurement&l

I_t:^?IT-J一。l土JJ‘.,l、l

文章编号:1671—4598(2009)01—0224—04中圈分类号:TP319

文献标识码:B

自动测试系统软件框架的设计与实现

郭双宙,梁金兰

(宁波城市学院,浙江宁波315100)

摘要:阐述了自动测试框架的核心技术;从软件重用的角度出发.结合面向对象软件的特点,在分析了软件测试复用可行性的基础上.讨论了设计测试模式的意义.其次,为了简化测试用例的开发,使框架可复用,易扩展,易维护,借鉴了XUnit的模式产生框架的思想,给出了如何利用设计模式,如Command,Composite。Observer,Adapter和Template等模式来设计和实现框架的结构的I最后介绍了验证项目N.E.w.的背景和N.E.w.测试面临的问题。

关键词:功能测试;软件复用;自动测试框架;XUnit

DesignandImplementationofAutomatedTestingFramework

GUOShuangzhou,LiangJinlan

(NingBoCityCollege,Ningbo

315100,China)

Abstract:This

paper

introducedkey

technologies

ofAutomatedTestingFramework.Firstly,startedfrom

theopinion

ofsoftware

reu—

sing,combinedwiththe

characteristicof

Object--Orientedsoftware

and

based

on

analyzingthefeasibilityofsoftwarereusing,thispaperdis—

CCUSS

thesignificanceof

Design

Pattern.Secondly,inorder

tO

make

theframeworkreusable,expansive,maintainable,referencedtheidea

ofXUnitframework,Pattern

generating

Framework,this

papergives

detailed

introductionabout

the

keytechnologies

that

are

used

inthe

ATFframework.Theframework

is

implementedby

usingandapplyingmanyexisting

relateddesignpatternsand

techniquessuch

as

Com—

mand,Observer,Composite,Adapterand

TemplateMethod,etc.Inaddition

to

the

above,this

paper

also

describes

Automated

Testing

Frameworkfor

N.E.W.,whichapplyATF

to

the

functionalitytesting

ofN.E.W.

Key

words:functionaltest;software

reuse}automatedtestingframework}XUnit

引言

软件系统的成功开发和交付已成为公司和国际经济增长的

关键因素。随着软件市场份额的增长,快速开发出高质量的产品的压力也随之而来,这就需要软件开发人员和测试人员不仅要提高软件开发的建设,而且还要提供使顾客满意的、高质量的软件产品。所以对于今天的软件测试人员来说,主要面临着两个需求:(1)快速测试以满足极具挑战性的产品提交时间表;(2)测试得足够充分使得致命的缺陷(bug)不会流人顾客手中。

为了解决以上两个基本需求,需要有效的测试过程和实用的测试技术来支持,并使之有效地结合。

在迭代式开发过程中.需要反复验证更改的系统或组件仍然保持应有的特性,借助自动化功能测试工具可提高测试覆盖率,缩短系统提交时间。

为了加速软件产品开发的速度,很多软件公司,如微软公司等采用了迭代模型的生命周期。这很符合上述的第一条测试需求。迭代模型是一种在每个阶段都受顾客反馈和测试结果驱动的开发过程。一旦定义了原型,开发团队便开始了设计、编码,而测试团队则同时开始进行测试计划、测试开发和测试的执行。软件测试的概念也扩展到软件开发的各个阶段。但是迭代模犁也有如下的缺点[1]:一是功能测试和回归测试过程效率低;二是自动测试不够充分。

为了满足迭代周期这种快速开发模式下,对不断变更的需

收稿日期:2008—05—10;修回日期:2008—06—20。

作者简介:郭双宙(1963一),男,上海人,硕士.讲师,主要从事软件技术方向的研究。

中华测控网

chinamca.corn

求进行自动的系统测试,如功能测试、回归测试和压力测试等,开发了一种自动测试框架.它借鉴了XUnit框架思想而搭建的功能测试自动化框架。

测试驱动开发(TDD)模型是XP极限编程的发明者提出,XUnit则是TDD的核心技术实现,也就是常说的单元测试,这种模型和其他传统开发模型很大不同就是它不是首先开发代码,而是先写测试用例,然后根据测试用例来确定各个模块接口。这样做可以更明确开发需求,而且对修改代码时造成

的错误可以及早发现。

单元测试(XUnit)是最底层测试,一般采用黑箱测试,使用用例来进行测试,这样就提供了自动实现测试的可能,XP编程的发明者同时也编写了一套自动测试的程序——JUnit,一种JAVA版的单元测试框架,而后又在不同的语言下面形成了多个测试库。

本文将详细介绍ATF所借鉴的XUnit框架的测试模型和

测试步骤。一

国内外自动化测试系统的技术现状

第一个阶段是基本的GUI测试。使用录制/回放(Re—

cord/Playback)工具开发自动化测试脚本的用法局限于记录在GUI级别上的用户操作、编辑得到的测试脚本以及重放编辑过的测试脚本。得到的测试脚本是非结构化的、无存档的,并

且是不可维护的。

在第二个发展阶段中,脚本编写者发展了“建立结构良好、有存档的、健壮的、可维护测试”的能力。在这个级别上,测试项目成了工程项目;测试脚本包括错误捕获和恢复逻辑,其关键特征是测试脚本组件的可重用性。

第三个阶段的特征是控制了测试资源。在这个级别上,测

万方数据

第1期郭双宙.等:自动测试系统软件框架的设计与实现?225?

试设计和测试自动化被看成是互捅分开的行为。并把XML格式的泓试数据与相应的测试用铡(testcase)对本文所介绍的自动测试框架即采用了基于第三阶段的框架应起来,为测试用例在自动测试框架中运行做好准备。

复用技术。(3)XML解析器:对从P.S.(ProductStudio)中测试

2自动测试框架的主要功能

自动测试框架借鉴了Xunit的框架思想——用模式生成架构的思想,为测试人员提供了高效的、可复用的自动测试系统。它的主要功能包括以下几方面[2]:

(1)自动执行功能测试、压力测试、回归测试等。

(2)复用框架开发所需的测试工具。借鉴XUnit框架的模式生成框架思想,用户可以通过复用它实现自己所需的测试工具,执行不同的测试。

(3)自动存取测试数据。ATF与测试管理数据库P.S.

(ProductStudio)连接。执行测试时,测试用例直接取自P.S.数据库的测试用例中的附加XML文件。测试结束后,将

失败测试用例的测试日志(Log)以及P.S.根据测试日志自

动生成的缺陷报告(BugReport)存入P.S.数据库。

(4)自动发送缺陷报告(BugReport)。将P.S.自动生成并保存在P.S.数据库中的缺陷报告(BugReport),通过E—mail系统自动发送到项目组所有入的信箱中,

选用命令交互行(CommandLine)方式的界面执行测试,此模式执行速度快,适合大规模自动测试。界面要提供以下功能:(1)用户能设置功能、测试日志文件名等参数;(2)在测试执行时,提供实时跟踪的测试执行状态及相关数据显示;(3)提供参数含义的帮助说明。

限于篇幅,下面只对部分功能进行分析说明。

3自动测试系统架构

为了实现高效的、可复用的自动测试系统,整体架构由7部分组成,自动测试框架、CIL测试用例实现层(CaseImple—mentationLayer)、XML解析器、测试日志(Log)、测试管理工具P.S.(ProductStudio)和Email服务器7部分,如图1所示。

MF系统

图1ATF(AutomatedTestingFramework)系统整体架构

(1)自动测试框架:是自动化测试框架系统的核心部分,也是本文主要阐述的内容。主要负责初始化测试用例(testcase)、测试用例结束后释放资源、运行测试用例(testcase)、生成测试日志(Log)。由于框架设计上借鉴了XUnit框架的思想,使其具有复用性、扩展性、效率高等特点。故可以复用此框架开发出不同的功能测试工具。

(2)CIL(CaseImplementationLayer):是实现测试用例的中间层,在该层中定义待测的测试用例(testease)的功能,用例附带的XML数据文件进行解析,转化成测试数据。

(4)测试日志(Log):测试用例执行结束后,将测试过程中成功(Pass)、失败(Failed)或异常(Exception)等详细信息以文本的形式保存。

(5)缺陷(bug):测试执行结束后,系统根据失败测试用例的测试日志(Log).以P.S.中缺陷(bug)的格式自动生成缺陷(bug)并存入P.S.数据库,并使失败的测试用例(testcase)与缺陷(bug)的ID相对应。

(6)缺陷报告(BugReport):当浏试失败(Failed)或异常(Exception)时,P.S.根据测试日志(Log)和P.S.中缺陷报告的格式生成缺陷报告(BugReport),并将其保存在P.S.中。

(”E—mail服务器:当测试失败(Failed)或异常(Ex—ception)时,P.S.(ProductStudio)根据测试日志(Log),按照其缺陷报告的格式生成缺陷报告(BugReport),并通过E—mail系统自动发送到项吕绲各成员信箱。

4框架设计思想

自动测试框架是通过面向对象方法开发的,采用的开发方法遵循匾向对象牙发规范。但是,在优秀软件大量涌现的今天,实际上已经积累了大量成功的分析结果和设计结果。自动测试框架就是借鉴了XUnit的设计结果,不仅加速软件开发的进程.而且由于采用的分析和设计结果是经实践检验过的国际公认的成功模型.在软件质量、可靠性、可复用性和可维护性等方面也给予保证。

在自动测试框架中使用了Composite模式来作为测试集(TestSuite)表示的00D模型框架,不仅加速了我们的测试用例的开发进程,而且得到了易于扩展和复用的设计模型,保证了软件质量。

在自动测试框架中参考了Composite模式来定义单个测试用铡(TestCase)与测试集(TestSuite)共同的接口.封装了两种不同数量测试用例的实现.使测试开发人员无需区分是单个测试用例还是复合的测试用例的执行,而将精力更专注于测试用例的开发即可。

在自动测试框架设计中使用了Command、Composite,A—

dapter,Observer,TemplateMethod等设计模式,使测试工具的开发人员可以复用此框架,针对不同的测试功能开发不同的

测试工具,方便编写实现代码¨j。

在开发过程中,由于被测产品N.E.w.不断增加新的功能,由于设计模式的帮助,使主要结构通过复用自动测试框架始终保持稳定,修改范围比较小。开发相应的测试工具可以满足其功能和要求,充分感受到了使用设计模式的好处。

5基于XML的测试用例数据

自动测试框架使用基于XML的测试用例数据具有以下优点。

(1)良好的可扩展性。XML可以让测试用例的开发人员根据需要,自行定义标记及属性,结构化地描述信息内容,从而使XML可用于多个不同功能的测试。

(2)适于异构应用问的数据共享。XML的灵活性和扩展

性使其可以对不同应用甚至是差异很大的应用问的数据进行描

中华测控网

chinarnca.corn

万方数据

述,尤其是对于那些专用于记录数据的应用。另外,XML具有自我描述的特性,使本地数据可以在不同的应用闯进行交换和处理而不必要求相应的应用程序是针对该数据定制的。自动测试框架在执行测试时需要从ProductStudio中提取XML测试用例数据等。

(3)不同数据源的集成。XML能够使不同来源的结构化的数据很容易地结合在一起,测试用例的开发人员可以不用了解XML的语法.可以将其转换到Excel的表格或在.NET中生成的数据库中直接填写数据,再转换成XML格式。

(4)大量技术和工具的支持。由于XML是一个开放的标

准,因此XML得到了广泛的支持。从CJHJ到Java,大量的开发工具可以处理XML,而且XML并不是一个孤立的标准,基于XML的标准覆盖了所有的应用领域。

6功能测试框架

自动测试系统主要用于功能测试,也可用于压力测试和回归测试,功能测试是从用户的角度来编写的,这些测试保证系统能够按照用户所期望的那样去运行。编写一系列可维护、自动化、没有测试框架的功能测试几乎是不可能的。Xunit在单元测试方面做得很好;然而,它在试图编写功能测试时就显得比较松散。Xunit不等同于功能测试,现在已经有满足这个功能的产品问世了,但是还没有看到它们被应用于开发产品过程里。

自动测试框架自动测试系统就是在这种情况下开发出来、专门进行功能测试的自动测试框架。

7测试框架的设计与实现

自动测试框架是系统的关键,设计时需要主要实现以下几个功能:

(1)执行测试用例:框架需可以执行单个测试用例和多个测试用例的组合。

(2)初始化和释放系统资源,需有一个地方集中初始化和释放系统资源。由测试钳(TestFixture)实现。

(3)动态适配:测试执行时,不同的测试用例可以动态地适配与其对应的测试方法。

(4)测试结果与显示同步:测试的执行过程

中,自动测试系统需将测试结果保存到测试日志

中,并同步地将结果显示在用户界面中。

(5)测试用例断言:使用断言功能判断测试用

例执行结果的真伪。

(6)测试日志:测试执行时,需将测试结果保

存到测试Et志中[3J。

为了实现以上的功能,自动测试框架主要用了

Adapter,Command,Composite,Observer,Tem—

plateMethod等5个设计模式。设计模式使测试开

发人员可以更加简单方便地复用成功的设计和体系

结构,如图2所示。

类图的主要构成成分是:类、属性、服务、类与类

之间的各种关系。根据此设计类图,自动测试框架

中主要类和各类的关系如图3所示。具体的设计以

及实现将在接着的章节中详细描述。

(1)Test:是单独测试用例(TestCase)、测

试包(TestSuite)的共同接口。

(2)TestCase:又称测试用例。对测试目标进中华测控网

chinamca.corn

图2ATF(AutomatedTestingFramework)部分的模式选择行测试的方法与过程集合

(3)TestSuite:又称测试包。测试用例的集合,可容纳多个测试用例(TestCase)。

(4)AutoTestSuite:自动测试包。获取封装在.dll中testXXX()的方法,并转化成相应的测试用例。初始化数据、释放资源。

(5)TestResult:测试结果的描述与记录。

(6)TestRunner:测试过程中的事件监听者。

(7)TestConsoleTestRunner:将所有的测试结果输出到控制台。

(8)Assertion:用于验证期望值expected和实际值actual逻辑对比是否正确,郎测试失败,标志为未通过测试。如果期望值和实际值比对失败,Assert类会抛出一个AssertionFaile。

dExeption异常,ATF将其归人Failes并且加以记录。

(9)AssertionFailedExeption:ATF框架的出错异常。

8测试用例的设计与实现

8.1测试用例的设计

首先设计的是测试用例部分。简单地说,自动测试框架是一个测试framework,测试人员只需开发测试用例即可。为了很容易地操纵测试,必须把测试作为对象,这样可使得测试更具体了,测试可以长久保留以便将来有用,这是测试框架的目

AssenlOff

TestResult

多=—一AssenIonFa肥xe咖。自自h,seⅢb001)

缝㈣m虻a%)一AbortA漱…时岫币,州,≠蠹“s_ftmIstring)

渤^、、eftEquals{ObleCt.‘Ⅲe)缭A、Rn已qum‘doubkJ

霹~‘)llfySuecessOfO。'Id1Ⅲ1

翌、od母sites‘arto、\割埘I妒‘一“l\d刚(o切蕾t.In㈣

翅}Non肼all()翻kJt(slnng)

,鲰尹弋

Testrut

TestSuiIcI

TestCase

%辄u“1hI)医国Add(Iesf)

鼋.、cIu口Nml6cmIo僵o《TbIR_uh)衔estCase(object,Me山o(IIrlIbl

争HⅧHap,ed'nmcO谚R州TesⅡks山)

5苏MTbLRI:sⅢtst==csO谚RunTestCase0△

2∑△

AL吐oTests山怔

臻Run(TestR=,ult)

l_R。Tc。虻。o貉、^【J口(J

翻bhm^Ⅵ10

TestCo'flsole’『es崛uw

谚Run(Test)

杈。1I■、mlncatmraOn(Te‘tRtauh)——圈

口~mml,l目s¨nmd)

弧_一TeslRcqult—Stnlistlcs0

口…gFormat(stn%)

口I、r曲,slnfot)

簟LmMemlnfil)

图3ATF(AutomatedTestingFrameworkforN.E.W.)框架详细类图万方数据

第1期郭双宙.等:自动测试系统软件框架的设计与实现?227?

标之一。为了解决此同题,有以下分析结果,其流程如图4旦发现测试用例失败或者错误便立刻停止进行报告≯

所不。(5)可以在需要的情况下。方便地实现对请求的Undo和首先创建一个对象来表示基础概念——测试用例Redo,以及记录测试日志(Log)。

(TestCase)。然后把这些测试用例组成请求(有时可能是一个8.3测试用例的实现

或者多个),发送到自动测试框架,再由自动测试框架执行测下面是测试用例的实现:首先定义一个抽象类Test,其试。最后报告详细测试结果,其中包括测试系统配置信息、执中Run()方法便是Command模式的Execute()方法,然后行的时间和错误的用例等。再使用默认Adapter模式为这个接口提供缺省实现TestCase

图4简化的测试用例执行过程

为了使测试用例的开发人员更专注于测试用例本身的开发,而无需知道自动测试框架的细节,要符合它定义的请求格式即可。使用命令(Command)模式将实现请求的一方(Test(:asE:的开发)和调用一方(自动测试框架)进行解耦;由于命令(Command)模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象…。从自动测试框架的角度考虑,它并不需要知道请求TestCase的操作信息,仅把它当作一种命令来执行,并把执行测试结果发给测试人员。使自动测试框架和TestCase的开发人员独立出来,使得请求的一方不必知道接收请求一方的详细信息,更不必知道是怎样被接收,以及怎样被执行的,实现系统的松耦合[4],如图5所示。

图5自动测试框架中用于简化测试用例开发的设计类图

8.2开发过程采用Command模式的优点

经过使用Command模式后绘系统的架构带来了如下好处。

(1)将实现请求的一方(TestCase开发)和调用一方(ATF框架)进行解耦;

(2)使新的TestCase很容易地加入,无需改变已有的类,只需继承TestCase类即可,这样方便了测试人员的开发;

(3)可以将多个TestCase组合成一个复合命令,实际上TestSuite就是它的复合命令,当然它使用了Composite模式l(4)容易把请求的TestCase组合成请求队列,这样使接收请求的一方(自动测试框架)容易决定是否执行请求,或一抽象类,这样测试开发人员就可以从这个缺省实现进行继承复用,而不必从Test抽象类进行实现,如图6所示。

图6自动测试框架中Command模式的类图

命令角色:所有具体命令类的抽象接口Test。定义Run()方法便是Command模式的Execute()方法。

具体命令角色:定义一个接受者和行为之间的弱耦合;TestCase类是抽象类Test的实现,实现Run()执行方法,负责调用接收相应操作。

Test抽象类。它存在一个Count方法,用来统计本次测试有多少个TestCase,另外一个方法是Command模式的Ex—cecute()方法,这里命名为Run。其参数为TestResuh,用来统计测试结果。使用抽象类而未使用接口是因为还定义了Name属性,用来得到测试用例或者测试包的名字。

TestCase类。是抽象类Test的抽象实现,它增加了一个测试名称Name,因为每一个TestCase在创建时都要有一个名称,所以若一个测试失败了,便可识别出是哪个测试失败。实现Test抽象类中的Run(),负责接受测试用例的相应请求。这样测试开发人员,编写测试用例时,只需继承TestCase,来完成Run()方法即可,自动测试框架获得测试用例后,执行它的Run()方法,把测试结果记录在TestResuh之中,目前可以暂且这样理解。

9总结

本文着重于研究自动测试系统中自动测试框架的设计与实现,借鉴了XUnit框架思想(PatternsGenerateArchitectures)而搭建的功能测试自动化框架。该框架简单易学,可扩展性强,可用于功能测试、回归测试、压力测试等,测试效率高。首先讨论了自动测试系统的背景和趋势,介绍了基于XUnit框架思想的测试模型和测试步骤,并具体论述了基于XUnit框架思想的自动功能测试框架的设计方案以及具体实现。

参考文献:

[1]田立民.青鸟自动测试工具JBTEST的开发研制[D].北京:北京大学,1998.

[2]CulbertsonR,Brownc,CobbG,TestingR[M].北京:清华大学出版社.2004.

[3]MassolV.UnitinAction[M].北京:电子工业出版社,2005.[43王东刚.软件测试与JUnit实践[M].北京;人民邮电出版社.2004.

中华测控网

chinamca.com

万方数据

自动测试系统软件框架的设计与实现

作者:郭双宙, 梁金兰, GUO Shuangzhou, Liang Jinlan

作者单位:宁波城市学院,浙江,宁波,315100

刊名:

计算机测量与控制

英文刊名:COMPUTER MEASUREMENT & CONTROL

年,卷(期):2009,17(1)

被引用次数:0次

参考文献(4条)

1.田立民青鸟自动测试工具JBTEST的开发研制 1998

2.Culbertson R.Brown C.Cobb G.Testing R查看详情 2004

3.Massol V Unit in Action 2005

4.王东刚软件测试与JUnit实践 2004

相似文献(7条)

1.学位论文张少博基于金融业务系统的功能测试基准库方法研究2009

软件测试作为软件工程中质量保证的一个重要环节,在软件整个生命周期管理中发挥着越来越重要的作用。在功能测试实施过程中,直接复用成熟的测试用例所付出的代价要远远小于重新开发测试用例,因此测试用例的可复用程度直接关系到回归测试的实施效率。大型金融业务系统测试积累的测试资源在新一轮测试中能否复用是检验功能测试可回归性的重要指标。如何有效复用功能测试积累的测试用例资源,提高测试的自动化程度,快速高效地完成功能测试,都值得深入研究。

本文在深入分析影响功能测试用例复用原因和关键因素的基础上,提出了一种基于金融业务系统的功能测试基准库方法,力求解决大型业务系统分析资源的积累和测试用例的有效复用等问题,提供一种功能回归测试的有效解决方案。这种方法在一定程度上减轻了测试人员管理测试用例的压力,增强了用例的可复用性,从而有效地提高自动化测试的效率。

为了能够更加快速地实施功能测试自动化,需要实现功能测试在测试管理平台下的高效实施。本文研究了基准库运行环境下功能测试相关技术,通过研究功能测试基准库模型机制并建立基准库,得到一个能够反复对系统发起测试的测试框架。对测试框架的测试对象模型、测试案例多级生成机制和剧本运行大纲进行了分析,并对积累的测试资源进行资源规划和运行规划。通过对待测目标系统和自动化测试工具(QTP)脚本的研究,将测试用例表达为ASL 文本,并转化为自动化测试工具可执行脚本,使得测试脚本不再通过录制生成。

针对在建立功能测试基准库平台中面临的问题,提出了三种关键技术,分别是基准库运行环境控制方法、基准库运行过程方法和基准库日常维护方法。在基准库运行环境下功能测试原型的设计中,采取了Struts+Hibernate开发框架技术,建立了一个高效可靠的功能测试自动化运行环境。借助该环境可以完成对积累资源的分析、测试用例的多级生成、运行环境的控制、运行过程的控制、测试用例的分发、自动化测试的执行和自动结果收集等基本功能,实现对功能测试基准库的有效管理和实施。在此环境下实现对测试用例脚本进行解释和扩展,解决了平台与自动化测试工具的集成问题,实现了一套有效的基准库运行环境下功能测试平台原型。

2.会议论文赵中芳.魏志强.贾东宁基于CBR的软件自动化测试用例复用方法研究2008

本文对软件自动化功能测试用例的信息进行提取,建立XML格式的用例存储模式文档,并在此基础上提出了一种基于案例推理的测试用例复用方法。重点介绍了方法的原理、复用的过程,并给出了实现方案。

3.学位论文谢伦义基于ACE Reactor模式的BSC IP功能测试系统设计2007

随着GSM网络的IP化以及3G业务的逐渐展开,迫使通信设备制造商采用最新的通信技术来设计新型移动通信设备,MxBSC项目为全球移动通信运营商提供了最新的GSM无线基站控制。采用全IP开发体系MxBSC和以前BSC版本相比,从底层硬件驱动到模块实现均发生了巨大差异,其技术复杂性造成原有的测试手段不能满足全新的MxBSC体系结构,项目迫切需要新型功能测试系统用于研发测试。

传统积木式和封闭式的网络软件开发不适应课题的需要,软件的质量和开发效率对网络应用系统的成功往往起着决定性的影响。作为提高软件质量和开发效率的一种现实可行的方法,以构建化软件复用为主的技术,在业界成为软件工程的研究热点。论文根据课题的应用需求和背景,构建了一个基于ACE(AdaptiveCommtmication EnVironment)反应器模式的BSCIP功能测试系统的框架,并按功能进行了模块划分和代码实现,研究主要注重在两方面: 1)设计模式和ACE自适配通信环境技术研究。ACE目标用户是在UNIX和Win32平台进行高性能通信服务和应用程序的开发者,作为一种面向对象的工具包,它实现了通信软件中的许多基本的设计模式。MxBSC功能测试系统利用ACE丰富的构件化框架和组件,借助Reacor设计模式,使其在Linux的操作系统环境下获取了网络应用软件的最大化复用和开发效率。

2)BSC IP功能测试系统的详细设计。论文分析了构建BSC IP测试系统中需要考虑的各种要素,讨论了在TDM和IP模式下的两种测试环境的差异,并定义了NetHawk工具的私有协议和接口等。借助ACE技术和设计模式,引入两个基于ACE反应器模式插桩LBridge和SBridge,利用uML类图,形式化了LAPD协议和SS7协议的关系,并实现仿真,最后用实验验证IP新测试系统的可靠性、可行性和可复用性,实验数据表明新系统无缝地实现与MxBSC的对接,成功完成对GSM消息流的编解码。

课题成果作为部门小组必需的工作平台,除主要用于MxBSC的研发和性能测试,还解决了昂贵的测试硬件短缺的问题。

4.学位论文高智闻基于SMI-S标准的通用存储设备CIM Agent模拟机2009

本文提出了基于SMI-S 标准的通用存储设备CIM Agent 模拟机的需求分析,设

计以及实现。通过CIM Agent 模拟机的研究和使用,可以改善当前存储设备开发过

程中管理界面的开发依赖于硬件设备及其CIM Agent 开发进度的现状,将设备管理

界面的开发开始时间从硬件设备功能测试阶段提前至硬件设备设计阶段。从而缩短

存储设备的开发周期,降低开发成本,消除CIM 客户端应用对后端CIM Agent 和存

储设备的依赖,使三者能够更有效率地进行并行开发。CIM Agent 模拟机不但能够

缩短存储设备开发的关键路径,而且可以帮助提高设备管理界面的质量。它能够广

泛应用与自动化单元测试,回归测试以及性能调优等各个方面。

基于SMI-S 标准的通用存储设备CIM Agent 模拟机模拟SMI-S 存储设备的硬件

层和CIM Agent 层。它能够根据存储设备的MOF 定义文档以及个性化配置的虚拟

设备元信息文档对CIM 客户端发出的CIM 内部方法和外部方法做出响应。

本文在第二章中对SMI-S 的两大核心技术——公共信息模型和WBEM 做出了

较为深入的研究,并提出了CIM 模型的一般设计流程。

为了实现基于SMI-S 标准的通用存储设备CIM Agent 模拟机,本文所做的研究

工作在于:

1)研究公共信息模型(CIM)和公共信息模型对象服务器(CIMOM)。帮助理

解CIM Agent 的运行方式和各种特性。提出了CIM 客户端应用开发的一般实践。

2)通过对CIM 模型以及CIM Agent 的应用研究,研究并提出了公共信息模型

的一般设计流程。

3)对CIM Agent 模拟机进行需求分析,分析了系统的可行性和价值,得出CIM

Agent 模拟机的需求概述和需求描述。并且根据系统的上下文环境构建了需求的分

析模型以及系统的上下文环境。

4)对CIM Agent 模拟机进行设计和实现。充分运用Java 的数据绑定技术,并

研究实现了存储设备的CIM 模型定义从MOF 文件形式向Java 类实例形式的转换。

然后通过XML 配置文件的方式,根据CIM 客户端的请求信息以及存储设备的CIM

模型定义,自动生成CIM 反馈信息,从而实现了通用CIM Agent 模拟机的主要功能。在研究的过程中,我们特别注重了系统架构的可扩展性以及软件复用。在总体

架构上使用了组合模式,使得整个系统以流水线的方式进行工作,每一个功能模块

是流水线上的一道工序,每一个功能模块都需要有同样的接口,从而保证了系统的

可扩展性。在详细设计中,同样也参考了各种面向对象基本设计原则,如OCP,LSP

等。

最后,我们在实践中对CIM Agent 模拟机进行了验证。在性能测试中,系统获

得了良好的测试结果。在实际开发项目中,CIM Agent 模拟机的投入使用帮助提高

了开发效率和质量。同时CIM Agent 模拟机也在实践中不断修正和改进。

5.学位论文李世剑控制系统可视化组态平台的设计与实现2008

伴随着计算机控制系统在工控领域的广泛应用,对工控组态软件的要求也越来越高。就控制功能而言,绝大多数组态软件提供的是单变量PID等常规控制方法,而少有先进控制策略。常规控制方法简单易用,深受业界欢迎,但难以满足日益复杂的过程控制的需求。即使有些系统配置了先进控制软件,但控制算法的设计要求用户具有很高的专业水平,烦琐的脚本语言编程也常常使工程师们望而却步。针对工控组态软件的这一不足,本文基于一般组态软件的框架结构,实现了具有可视化控制回路组态和可视化顺序控制组态的控制系统组态平台,大大降低了控制系统的设计难度。

基于图元的控制回路的可视化组态,使工程人员只需根据工业对象特性,选用合适的控制算法,轻松点击鼠标拖拉连接相应图元,就可构建出一个复杂的控制系统。控制系统面向方块图的封装形式,大大降低了复杂系统的组态难度。平台的系统仿真功能,方便用户设定和调整控制系统的参数,为系统的实际投运提供了可靠性保证。本文将常用的VBScript语言的表达式、语句以及对其扩展的公共方法封装成顺控图元库,用鼠标拖拉连接顺控图元,就可实现复杂的顺控组态,其控制逻辑一目了然,便于用户查看和修改。通过水箱液位控制系统对平台的功能进行测试,测试结果令人满意。

作为对研究工作的总结,本文共分为六章。

第一章简述了组态软件的发展现状,课题的研究意义及作者所做的主要工作。第二章阐述了控制系统可视化组态平台的设计,着重介绍了控制回路可视化组态和顺控可视化组态的设计,运用面向对象思想和软件复用技术设计的控制算法库和连续控制、顺序控制的两个图元库。第三章介绍了控制回路可视化组态的实现。包括控制算法库和控制图元库的实现,模糊控制器的可视化设计和控制系统仿真的实现,最后给出了组态数据的保存方法。第四章介绍的是顺序控制可视化组态的实现,首先简述了顺控实现的机制,然后着重阐述了顺控图元库的实现,并给出了顺序控制可视化组态的流程。第五章给出了控制系统可视化组态平台的功能测试结果,通过对水箱控制系统进行的多种方式的控制测试了平台的各种功能和性能。第六章的结束语,对全文作了总结,并提出了平台需要进一步改进和完善的地方。

6.会议论文郭双宙.梁金兰自动测试系统软件框架的设计与实现2008

本文阐述了自动测试框架的核心技术,首先,从软件重用的角度出发,结合面向对象软件的特点,在分析了软件测试复用可行性的基础上,讨论了设计测试模式的意义.其次.为了简化测试用例的开发,使框架可复用、易扩展、易维护等,借鉴了XUnit的模式产生框架的思想,给出了如何利用设计模式,如Command,Composite,Observer,Adapter和Template等模式来设计和实现框架的结构的.最后介绍了验证项目N.E.W.的背景和N.E.W.测试面临的问题.

7.学位论文秦黎燕放射科医疗信息系统可复用的GUI测试用例设计2006

公司同系列的不同软件在用户界面和工作流程方面有着很大的区别,由GEHealthCare开发的放射科医疗信息系统,以

RIS(RadiologyInformationSystem)和RISPACS(RIS&PictureArchivingandCommunicationsSystem)两套系统软件为例,都属于放射科医疗信息系统,但是二者针对的医院具体情况不同,需求不同,并且由不同开发组开发,他们的界面风格迥异,功能实现过程也不同。而原有的测试用例库中对GUI界面的测试较少、不系统。

本文主要研究如何基于软件复用技术和测试用例设计应用技术来设计GUI测试用例库:详细介绍了GUI测试用例库的设计过程;并讨论了如何根据测试计划和测试范围,把功能测试用例及相关的GUI测试用例相结合,组成测试套件进行测试,尤其针对新增功能的测试,可以有效地提高测试效率,增大测试需求的覆盖度。

经过重新设计的GUI系统测试用例库,较好的体现了测试用例的可复用性,可适用于目前研发的两个放射科医疗信息系统在系统测试阶段的回归测试。

本文链接:https://www.wendangku.net/doc/0a3911918.html,/Periodical_jsjzdclykz200901075.aspx

授权使用:南京理工大学图书馆(wfnjlg),授权号:90aca9ce-9f41-409e-aea4-9df10096ce87

下载时间:2010年9月14日

相关文档