没有合适的资源?快使用搜索试试~ 我知道了~
理论计算机科学电子笔记116(2005)133-144www.elsevier.com/locate/entcs从UML模型到dotLRN电子学习平台的自动AnaCavalli1St'ephaneMaag2SofiaPapagiannaki3Georgios Verigakis4GET/InstitutNationaldesT'el'ecancellationcations9rue Charles FourierF-91011 Evry Cedex,法国摘要本文提出了一种方法来测试一个电子学习,基于Web的系统。 系统规格使用UML建模语言,特别是UML的序列图、活动图和类图提供。这些规范以XMI格式导出,并进行解析以生成测试用例。本文考虑的系统是dotLRN,一个开源的企业级Web应用程序和门户框架套件,用于支持课程管理,在线社区和协作。关键词:UML,dotLRN,XMI,组件测试,验证1介绍在过去的几年里,越来越多的组织和公司通过使他们通过他们的网站提供服务来利用他们提供的服务在这方面,教育组织可以采用电子学习应用程序来管理和支持远程课程。这种课程与传统课程相比的优点之一是能够克服地理障碍,因此能够面向更多的受众。此外,委员会认为,1电子邮件:Ana. int-evry.fr2电邮地址:Stephane. int-evry.fr3电子邮件:Sofia. int-evry.fr4电子邮件:Georgios. int-evry.fr1571-0661 © 2004 Elsevier B. V.根据CC BY-NC-ND许可证开放访问。doi:10.1016/j.entcs.2004.02.072134A. Cavalli等人理论计算机科学电子笔记116(2005)133使这样一个系统的成本最小是非常重要的。组织只需要部署一个强大的Web服务器,目标是用户可以使用连接到互联网的最小计算设备访问这些服务。由于软件系统变得越来越复杂和复杂,软件测试非常重要,不仅要发现错误,而且要确保系统符合规范并真正做了应该做的事情。大系统被分解成由不同团队开发的较小子系统的事实给测试带来了新的挑战,因为它必须验证这些子系统是否平滑地集成在一起此外,测试电子学习系统是必不可少的,因为它的性质,这样的应用程序暴露在许多威胁:Web服务器必须响应来自网络中每个节点的请求。因此,测试应该保证用户不能获得他不应该拥有的系统权限。例如,如果一个学生得到允许改变他的成绩,这将是不可取的。除此之外,现代Web应用程序正变得越来越复杂和关键任务。由于Web客户端(浏览器)缺乏标准化,这种情况变得更测试必须保证系统的可用性。例如,用户无法完成 一个进程,因为网页的内容没有正确显示,或者由于网络连接缓慢,他可能无法登录,因为不现实的超时值。我们的方法考虑到这些功能方面是如何实现的,检查它们是否符合规范。本文件是正在开发的工作的一部分,E-LANE项目,一个欧洲和拉丁美洲的合作项目,旨在创建一个先进的电子学习综合系统,GET/INT是其中的合作伙伴5。我们提出了一个测试方法dotLRN,这是由一套Web应用程序和一个门户框架的e-learning系统,并作为基础平台的E-LANE的开发我们的方法主要是由[1,2],它描述了如何在分析阶段开发的UML图进行分析,以自动化的方式,以产生测试用例。事实上,[2]关注于以增量方式进行的集成测试,[1]描述了如何使用类不变式和UML图中的详细形式描述。这两种方法都用于导出测试需求和测试套件。在本文中,目的和挑战是,而不是一个面向对象的软件,我们必须使用UML建模,然后验证一个Web应用程序工具。在这两篇论文中提出的方法与大型复杂的现实世界系统有关,不适用于基于Web的应用程序。的确,在这里http://www.e-lane.orgA. Cavalli等人理论计算机科学电子笔记116(2005)133135我们不仅需要检查图形用户界面,还需要检查生成页面的内容。我们的贡献是为这些困难提供答案。有一个用于Web应用程序的UML扩展,但它更侧重于设计视图。因此,为了生成传达我们需要为测试提供的信息的图表,我们从[5]和[4]中得到了启发。本文的另一个贡献是提出了用于组件和一致性测试的技术和工具。这篇文章的结构如下。第2节描述了dotLRN平台,第3节介绍了如何为测试建模dotLRN,第4节描述了自动生成模型测试的工具,最后第5节总结了本文。2dotLRN电子学习平台dotLRN6是一个基于Web的电子学习平台和门户框架,旨在支持课程管理,在线社区和协作。它是开源的,构建在OpenACS7之上,OpenACS7是一个用于构建可扩展的、面向社区的Web应用程序的工具包。在dotLRN中,有三种主要的门户类型:用户门户、类门户和社区门户。 用户门户是每个用户拥有的私有空间,类和社区门户包含与特定类相关的所有页面或社区。 这三种门户类型中的每一种都分为四个部分:主空间、日历、文件和控制面板。dotLRN中的页面由Portlet组成。Portlet是一些具有特定功能的小型门户,如论坛、新闻或日历。每当新用户注册时,都会自动创建用户门户在dotLRN中,但是类和社区门户是由站点管理员根据用户的需要创建的。当创建新的类或社区门户时,站点范围的管理员会分配一个或多个用户作为此门户的管理员。例如,对于计算机科学类门户,管理员可以是教授和他的助教,而对于摄影组社区门户,管理员将是一个或多个学生。 门户管理员的职责是添加内容、自定义布局和决定门户的策略当类或社区具有开放策略时,任何用户都可以加入,而当策略关闭时,只有管理员可以添加用户。还有第三种策略,即等待策略,任何用户都可以请求加入,然后管理员将决定接受或拒绝该用户。6http://www.dotlrn.org7http://openacs.org136A. Cavalli等人理论计算机科学电子笔记116(2005)1333用于测试的UML模型为了得到我们的测试用例,我们需要以形式化的方式掌握和描述系统因此,我们选择使用已成为标准的UML对系统进行在开始时,我们发现正在考虑的系统的用例,并将它们记录在需求文档中,该文档包含系统的范围,主要参与者,用例图和每个用例的文本描述[3]。这一步的输出并不直接用作我们测试套件的输入,但是它对于设计实际构成我们输入数据的UML图是很重要的。我们在方法中使用的UML图是:• 每个参与者的活动图:显示用例之间的依赖关系• 每个用例的序列图:描述用例的主要和备选场景。• 类图:介绍系统的主要类。• 导航图:一个类图,提供有关网页动态内容的信息。下一步是以XMI格式导出这些图。这个活动得到了所有现代CASE工具的支持,比如ArgoUML和RationalRose。然后,我们解析XMI,生成一个连接到Web服务器的程序,并根据序列图中给定的场景发出请求最后,检查响应的网页,以验证它是否符合规范。图1简要介绍了我们研究的不同步骤。3.1建模用例相似性系统的用例不是独立的。除了它们之间的包含和扩展关系之外,还有顺序依赖关系。为了执行一个用例,另一个用例应该在之前发生。例如,在dotLRN中,用户必须先登录才能执行其他操作. 由于测试程序的自动化也是令人关注的问题,我们必须以某种方式描述这些依赖关系。我们通过引入一个活动图来实现这一点,其中顶点表示用例和边是用例之间的顺序依赖关系这样的图中的边表示尾部的用例必须在头部的用例之前执行。fork和join用于当一些用例应该独立执行以使另一个用例发生时。例如,在dotLRN中,A. Cavalli等人理论计算机科学电子笔记116(2005)133137图1. 我们的方法此外,在此图中,我们还包括用例的参数。原因是有时候更容易实现用例参数之间的依赖关系。例如,在上面的例子中,为了添加一个新类 , 管 理 员 应 该 提 供 关 于 术 语 ( Term.name ) 和 类 的 主 题(Subject.name)的信息。 作为因此,在“添加类”用例与“添加术语”和“添加主题”用例之间存在依赖性最后,在图中,根据关联的对象将用例组织成组。这些对象是类图中类的实例。图2显示了管理员的相应活动图。根据后者,“添加部门”应在“添加主题”之前。此外,最后,138A. Cavalli等人理论计算机科学电子笔记116(2005)133图2.“将用户分配给类”用例的活动图依赖项用户在测试阶段,在模拟序列图中的场景之前,应该扫描这些活动图,以获得用例将被测试的序列。3.2序列图在UML中,顺序图通过时间上的消息交换来实现对象之间的交互.类似地,在活动图中,对象是类图中描述的类的实例。通常,序列图只描述一个场景。我们按照[2]中的描述列举了消息,因此我们可以在同一个图中说明一些替代方案。根据此约定,大写字母表示备选项(错误消息)。 通过采用这种策略,我们可以轻松地导出与同一用例相关的不同消息序列[1]。图3显示了“Login”用例的相应序列图。我们的序列图也是参数化的,因为输入参数可以影响执行并构成单独的选择[1]。这样的参数可以是用户的电子邮件。这封电子邮件是属于一个注册用户(存在于数据库中)还是属于一个新用户(不存在于数据库中)决定了以后会发生什么在前一种情况下,将显示dotLRN页面,否则将在Log In页面中显示警告A. Cavalli等人理论计算机科学电子笔记116(2005)133139图3. “登录”用例的序列图在测试过程中,如果有这样的分支和参数,那么产生的程序必须分叉以测试所有不同的可能性。表1总结了我们在序列图中使用的操作,这些操作被组织为用户的HTTP请求和服务器返回给用户的可能的HTTP响应,因为我们测试的成功或失败取决于这些请求和相应的响应。 由于被测系统是一个Web应用程序,用户有三种可能性:导航到一个URL或通过另一个URL请求一个网页(单击指向所需页面的链接)或通过填写HTML表单提交信息。系统通过返回请求的页面(显示)或给出错误消息来直接回答。3.3导航地图在[5]中介绍的Web应用程序的导航地图是有用的,因为它提供了有关每个网页的动态内容的信息,这些网页是系统的一部分,以及不同网页之间的链接。这些信息在HTML页面的解析过程中是必不可少的(第4.3节)。导航图是一个类图,其中每个网页都是一个类,两个页面之间的链接是两个相应类之间的关联。这种对UML的Web应用扩展引入了许多原型、标记值和约束。表2总结了我们在web实体和140A. Cavalli等人理论计算机科学电子笔记116(2005)133HTTP请求HTTP可能的响应public void run(url):用户对URL显示(page:WebPage):Web服务器返回请求的网页link(target:String):用户点击HTTP链接display()ege:网页:Web服务器返回目标网页submit(page:WebPage,form:Form,data:List):用户提交HTTP表单显示(page:WebPage):在合法输入的情况下,Web服务器将返回一个新的网页错误(msg:String):如果输入错误,Web服务器将显示前一页警告消息表1顺序图Web实体UML元模型标签值网页<<网页>>类TitleTag:页面的标题RelativeURL:页面的相对URLBodyTag:body tag页面脚本<<网页>>类操作页面变量<<网页>> class attributes链路<<友情链接>>协会形式<
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 前端协作项目:发布猜图游戏功能与待修复事项
- Spring框架REST服务开发实践指南
- ALU课设实现基础与高级运算功能
- 深入了解STK:C++音频信号处理综合工具套件
- 华中科技大学电信学院软件无线电实验资料汇总
- CGSN数据解析与集成验证工具集:Python和Shell脚本
- Java实现的远程视频会议系统开发教程
- Change-OEM: 用Java修改Windows OEM信息与Logo
- cmnd:文本到远程API的桥接平台开发
- 解决BIOS刷写错误28:PRR.exe的应用与效果
- 深度学习对抗攻击库:adversarial_robustness_toolbox 1.10.0
- Win7系统CP2102驱动下载与安装指南
- 深入理解Java中的函数式编程技巧
- GY-906 MLX90614ESF传感器模块温度采集应用资料
- Adversarial Robustness Toolbox 1.15.1 工具包安装教程
- GNU Radio的供应商中立SDR开发包:gr-sdr介绍
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功