




已阅读5页,还剩81页未读, 继续免费阅读
(系统工程专业论文)EJB构件软件测试技术研究和应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京交通大学硕士学位论文中文摘要 中文摘要 摘要:随着现代信息技术的飞速发展,软件业竞争日趋激烈,软件系统目益复 杂,对于软件的功能,性能的要求也不断提高。在这种情况下如何保证软件质量 成为企业关注的重点。实施正确合理的自动化测试能够分担手工测试的工作量, 降低测试的难度,从而在保证软件质量的前提下,缩短测试周期,降低软件成本。 本文结合j 2 e e 和e j b 的体系结构和特点以及自动化测试的理论提出了e j b 自动化测试框架e r t 。首先,从e r t 的实体模型和逻辑功能模型出发,说明了e r t 包含的实体,这些实体之间的协作关系和具备什么样的逻辑功能。其次,分别从 业务模型,系统架构,应用逻辑和逻辑框架四个角度来分析e r t 测试工具的需求, 并为e r t 测试工具设计了测试配置文件。接下来,针对e r t 业务模型的四个业务 流程分别设计了四个对应的模块:配置文件解析模块,随机数据获取模块,测试 运行模块和报表生成模块,对每个模块的工作过程进行了介绍。最后,讲解了如 何集成e r t 测试工具,并对测试结果实例进行了分析。 e r t 利用测试管理工具c l e a rq u e s tt e s tm a n a g e r 集成e r t 测试工具,通过设 计测试计划,测试用例和为测试用例指定各种测试配置实现了序列化测试和多模 块测试。在测试对象选择策略上,e r t 通过使用高斯随机和止态分布,比较真实 的模拟了用户的随机操作并实现了测试覆盖的完整性。通过内存关键参数记录和 日志文档挖掘,e r t 提供了较完整的测试运行统计信息报表,为测试结果分析提 供了有力的支持。 实践证明,本文所提出了e j b 自动化测试框架e r t ,在保证测试质量的前提 下,较大的提高了测试效率,降低了测试成本。 关键词:e j b ,软件测试,测试框架,自动化测试 分类号: 北京交通大学硕士学位论文 英文摘要 a b s t r a c t a b s t r a c t :w i t ht h ed e v e l o p m e n to fm o d e mi n f o r m a t i o ns c i e n c ea n dt e c h n o l o g y , c o m p l e x i t yi nt o d a y sc o m p u t e rs y s t e mi sh i g h e rt h a ne v e rb e f o r e ,b r i n g sa b o u tt h e r e q u i r e m e n tf o rm o r et h o r o u g l lt e s t i n gt os u s t a i nt h et o l e r a b l el e v e lo fr e l i a b i l i t y h o wt o k e e pt h eq u a l i t yo fp r o d u c tu n d e rs u c hp r e s s u r e sb e c o m e st h ek e yp o i n tf o rt h e s e o r g a n i z a t i o n st oa c h i e v es u c c e s s a u t o m a t i o nt e s t s ,i fd e p l o y e dr i g h t ,c o u l dt a k eo v e ra g r e a ta m o u n to fh e a v yw o r kf r o mm a n u a lt e s t ,h e n c es h o r t e nt h es o f t w a r eq al i f e c y c l e a n dc u tt h ec o s t ,w i t h o u tl o s i n gh i g hq u a l i t yo fp r o d u c t i n t h i sp a p e r , a c c o r d i n gt ot h ea r c h i t e c ta n dc h a r a c r i s t i c so fj 2 e ea n de j b , c o m b i n e dw i t ht h et h e o r yo ft e s ta u t o m a t i o n ,e j bt e s ta u t o m a t i o nf r a m e w o r kn a m e d e r ti sp r o p o s e d f i r s t ,o nt h eb a s i so fe n t i t ym o d e la n dl o g i cf u n c t i o nm o d e lo fe r t , c o n t e n t sl i k ew h a tk i n do fe n t i t i e sa r ei n c l u d e di ne r t , w h a tc o l l a b o r a t i o nr e l a t i o n s h i p i sb e t w e e nt h e ma n dw h a tf u n c t i o n st h e yo w n ,a r ed e m o n s t r a t e d s e c o n d ,t h e r e q u i r e m e n t so fe r t a r ed i s c u s s e df r o m4a n g l e s ,w h i c ha r eb u s i n e s sm o d e l ,s y s t e m a r c h i t e c t ,a p p l i c a t i o nl o g i ca n dl o g i cf r a m e w o r k ,a n dt h ec o n f i g u r a t i o n f i l ei sa l s o d e s i g n e df o re r tt e s tt 0 0 1 t h i r d ,a c c o r d i n gt ot h ef o u rb u s i n e s sp r o c e s s e si n t h e b u s i n e s sm o d e lo fe r tt e s tt o o l ,f o u rm o d u l e sa r ed e s i g n e dr e s p e c t i v e l y , w h i c ha r e c o n f i g u r a t i o nf i l ep a r s i n gm o d u l e ,r a n d o md a t aa c c e s sm o d u l e ,t e s tm o d u l ea n dt a b l e g e n e r a t i n gm o d u l e a n dt h ep r o c e s so fe a c hi si n t r o d u c e di nd e t a i l i nt h ee n d ,h o wt o i n t e g r a t et h et e s tt o o li ss h o w n ,a n da na n a l y s i si sg i v e n t ot h ei n s t a n c eo ft e s tr e s u l t e r tt a k et h ea d v a n t a g eo ft e s tm a n a g et o o ln a m e dc l e a rq u e s tt e s tm a n a g e rt o i n t e g r a t et h ee r tt e s tt 0 0 1 t h r o u g ht h ed e s i g no ft h et e s tp l a n ,t e s tc a s e ,a n dt h e a r r a n g e m e n to ft e s tc o n f i g u r a t i o nt oc e r t a i nt e s tc a s e ,s e r i a l i z e dt e s ta n d m u l t im o d e lt e s t a r er e a l i z e d i nt h ef i e l do fs t r a t e g yi nc h o o s i n gt e s to b j e c t ,g a u s sr a n d o ma n dn o r m a l d i s t r i b u t i o n sa r eu s e di ne r tt os i m u l a t et h er a n d o mo p e r a t i o n sa n dc o v e rt h et e s tf u l l y e r to f f e r sa ne n t i r et e s tr e s u l ts t a t i s t i c sr e p o r tv i ak e ym e m o r yr e c o r d i n ga n dl o g m i n i n g ,w h i c hg i v e ss t r o n gs u p p o r tt ot h ea n a l y s i so f r e s u l t a c c o r d i n gt op r a c t i c e ,t h i s t e s ta u t o m a t i o nf r a m e w o r kn a m e de r ti sa b l et o i m p r o v et h et e s te f f i c i e n c ya n dl o w e rt h et e s tc o s t ,w i t ht h et e s tq u a l i t yg u a r a n t e e d k e y w o r d s :e j b ,s o f t w a r et e s t ,t e s tf r a m e w o r k ,t e s ta u t o m a t i o n c l a s s n o : 北京交通火学硕士学位论文图目录 图目录 图卜一l 论文框架结构7 图2 1j 2 e e 典型四层结构1 0 图2 2e j bi a r 文件的生成1 4 图2 3 访问e j b 构件的过程1 5 图2 4j n d i 框架1 8 图2 5j n d i 查找流程1 8 图2 6r m i 原理1 9 图3 一l 实体模型和逻辑功能模型与e r t 关系图2 4 图3 2 测试框架实体模型2 6 图3 3 测试框架逻辑功能模型2 7 图4 1x m l 文件屏幕拷贝图3 0 图4 2 测试业务流程图3 1 图4 3 业务过程集成3 2 图4 4 硬件系统架构图3 3 图4 5 软件系统架构图3 4 图4 6 应用逻辑图3 5 图4 7 逻辑框架图3 6 图4 8d o m 解析过程图3 9 图4 9d o m 层次图4 0 图4 1 0 对象树图4 2 图4 1 1 随机数据获取模块工作图4 4 图4 一1 2 测试运行模块工作图4 5 图4 1 3 报表生成模块工作图4 7 图5 1 线程状态转换图5 1 图5 2j u n i t 类u m l 关系图。5 2 图5 3c o m m a n d 模式类u m l 演化结构图5 4 图6 1c q t m 记录类型架构图6 2 图6 2c q t m 记录类型架构图6 3 图6 3c q t m 配置关系图6 4 图6 4c q t m 角色关系图6 5 图6 5c q t m 中创建测试资产注册表6 6 图6 6c q t m 中创建测试计划6 7 北京交通大学硕士学位论文 图目录 图6 7c q t m 中创建测试用例6 8 图6 8 选择测试配置6 8 图6 9 测试用例部署6 9 图6 1 0c q t m 中执行测试用例7 0 图6 一l l 测试结果统计信息7 1 图6 1 2 各线程测试结果统计。7 2 北京交通大学硕士学位论文 表目录 表目录 表4 1c s v 文件数据格式3 0 表6 1c q t m 的记录类型5 9 表6 2c q t m 记录创建顺序6 6 学位论文版权使用授权书 本学位论文作者完全了解北京交通大学有关保留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校向国 家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名: 苓憩 签字日期: 口p 年6 月1 日 翩躲砸叫义 签字日期:o y 年1 6 月f 日 北京交通大学硕十学位论文 独创性声明 独创性声明 本人声明所早交的学位论文是本人在导师指导下进行的研究t 作和取得的研究成果,除 了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表或撰写过的研究成果,也 不包含为获得北京交通人学或其他教育机构的学位或证书而使用过的材料。与我一同上作的 同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示了谢意。 学位论文作者签名:薹、淤 签字日期: 伊;年f 月日 7 9 致谢 本论文是在导师张仲义教授的悉心指导下完成的。我在研究生的两年里,始 终受到张老师的精心培养和教导。在我的论文选题、制定研究方案和研究内容到 论文撰写和定稿的整个过程中,张老师都给予了全面的指引。在授业解惑的同时, 他还教了我很多做人的道理,使我不断走向成熟,这也是我人生的一笔财富。导 师的渊博学识、严谨的治学态度、敏锐的科学思维和不懈的进取精神使我终生受 益,值此论文完成之际,谨向张老师表达我真诚的感激和崇高的敬意。 其次,感谢i b m 中国软件开发实验室的软件工程师杨佑鑫,在我设计和开发 e j b 测试工具的时候,他给予我的大量的建议并帮我完成代码审查。 此外,我还要感谢潘晔、刘阳、刘雪芹等同学。在平常工作、学习中,正是 由于他们对我提出种种建议,促使我不断成长、成熟。 最后也感谢我的家人,他们的理解和支持使我能够在学校专心完成我的学业。 北京交通大学硕士学位论文绪论 1 1 选题背景和意义 1 绪论 1 1 1 为什么研究软件测试技术 以微电子、计算机、软件通信技术为主导的信息技术革命正以迅猛的态势改 变着我们生存的社会,信息技术已经成为经济发展的关键因素。在世界新技术革 命中,信息技术不仅作为一项独立的技术而存在,而且广泛渗透于各个高技术领 域及生产、经营、管理等过程,成为他们发展的基本依据和重要手段。在信息技 术中,微电子是基础,计算机及通信设施是载体,而软件是核心。软件是计算机 的灵魂,没有软件就没有计算机应用,也就没有信息化。 7 0 年代中后期爆发的软件危机曾经是软件界甚至计算机界最热门的话题,为 解决这场危机,软件从业人员,专家和学者做出了大量的努力【1 1 。现在人们已经逐 渐意识到软件中的错误是导致软件危机的主要原因之一。正是由于这些错误的存 在,造成了软件在成本,进度和质量上的失控。随着计算机应用的不断深入,软 件技术的不断发展,软件的规模和复杂度也在相应的增加,这使得软件错误发生 的概率增加,软件错误造成的灾难也越来越严重。而且,伴随着现代信息技术的 发展,计算机的应用已经渗透到社会生活的各个方面,甚至人类生活的各个领域, 软件在航空、航天、核能、通讯、交通、金融等关键领域的作用同益广泛,而这 些领域对软件可靠性和安全性都有很高的要求。所以,为保证软件能够安全,可 靠的运行,必须选择合适的测试方法和技术来对软件进行充分的测试。 大量的统计资料表明,软件测试的工作量往往占到软件开发的4 0 以上f 2 l , 在极端情况,测试那种关系人生安全的软件所花费的成本,可能相当于软件工程 其他开发步骤总成本的三倍到五倍。只有充分的测试才能保证软件质量,通过测 试可以尽可能早和尽可能多地发现软件错误,及时进行修改和弥补,从而提高软 件的质量。 1 1 2 为什么研究针对e j b 构件的测试技术 软件系统的复杂性不断的增长,软件行业的激烈竞争迫使软件企业提高软件 北京交通大学硕士学位论文绪论 质量,积累和固化知识财富,并尽可能地缩短软件产品的开发周期。为了达到上 述目的,只有在软件开发中尽量采用软件复用思想【3 l 和技术,以提高软件开发的效 率和质量。 构件是己被封装的,分布的,具有良好接口定义的软件包 4 1 。集软件复用,分 布式计算对象,企业级应用开发等技术为一体的“基于构件的软件开发【5 1 ( c b s d , c o m p o n e n t - - b a s e ds o f t w a r ed e v e l o p m e n t ) 应运而生,这种技术以软件架构为组装 蓝图,以复用软件构件为组装模块,支持组装式软件的复用,大大提高了软件生 产效率和软件质量。为此,国内外对于这一技术的研究正在不断深入,一些大型 公司和软件组织( 例如,s u n ,m i c r o s o f t 以及o m g ) 都推出了自己的构件模型, 如c o r b a ,e j b 和c o m t 6 1 。 c b s d 通过组装构件形成了应用系统,而不是从头开始编程。因此,它的生命 周期和传统的相比并不是完全相同。c b s d 的宗旨是软件系统可以通过选择构件, 在一个定义良好的软件构件内进行开发。用户丌发系统时,只需要购买构件回来 组装即可。这种方式彻底地改变了传统的丌发模式,使软件从艺术品转变为工业 产品,从而将引导人们摆脱软件危机的困境,结束软件开发成本高,质量低的困 境。 e n t e r p r i s ej a v ab e a n ( e j b ) 是服务器端的组件模型1 7 】,它简化了使用j a v a 创 建企业级分布式组件应用的过程,e j b 技术主要用于集中处理和业务逻辑相关的部 分。在最近几年时问里,e j b 构件技术在企业级应用开发中获得了广泛的使用,是 目f j 分布式构件开发的主要标准和技术之一。但是,基于e j b 构件的软件系统并 不因为采用了构件技术,就不需要测试。相反,在软件开发过程中,测试人员将 面临着一些新的困境,主要的原因在于有以下两个方面。 首先,对于构件,不同于独立的软件产品,必须提供一个环境才能对其进行 测试。也就是说,在不借助其他模块的帮助下,没有办法单独的对其进行测试。 以e j b 为例,e j b 需要运行在一个容器中,并且在调用e j b 的同时需要遵循e j b 调用的规则,编写相应的客户端,按照一定的算法规则去实现。但是,不同的e j b 提供的接口不同,那么编写的客户端程序代码就会出现不尽相同的情况。对于数 量有限的e j b ,我们可以为它们定制不同的客户端。但是如果需要对数量庞大的 e j b 进行测试,这个方法显然既消耗大量的时间,又消耗大量的精力,而且导致工 作效率低下。h a r r o l d 认为应该从构件提供者和构件使用者两个不同的角度来看待 构件软件的测试问题【8 】。构件的提供者认为,构件相对于构件的使用者是独立的。 所以,要用上下文独立的方法测试构件的所有功能。相应地,构件使用者开发的 应用程序提供了构件的运行环境,所以构件的使用者不把构件当作独立的单元, 仅仅考虑与应用程序相关的功能。所以,对于构件的测试,需要从上述两个角度 2 北京交通大学硕士学位论文 绪论 出发。 其次,产品化的e j b 都是已经编译并且发布的软件包,也就是说,所有的代 码对于测试人员来说,都是封闭的。只能依靠对构件提供的一些接口和函数去验 证这些接口和函数的有效性。在测试出现运行异常情况的时候,往往难以对软件 的缺陷进行精确的定位,而只能得到一个定性的错误信息。 所以,对e j b 构件测试技术的研究有着极其重要的现实意义,如果解决好这 个方面的问题,那么举一反三,就可以对针对其他构件的测试技术有很好的启示 作用。 1 2 国内外研究现状 1 2 1 国内研究现状 国内研究软件测试的专业机构以及他们的相关研究领域有: 1 上海市软件评测中心( s h s t c ) 。评测环境:s o l a r i s 平台,a i x 平台,o s 4 0 0 平台,h p u x 平台,n t 和l i n u x 平台,网络环境;评测的业务包括软件评测和 网络评测,软件评测包括:软件产品登记测试,软件产品性能测试,单项功能确 认测试,标准符合性测试,开发过程中的单元测试和集成测试,信息工程项目验 收测试,信息工程监理;网络评测包括:网络布线认证测试,网络系统性能测试。 2 中国软件评测中心( c s t c ) 。它是国家级第三方软件产品检测机构。对软 件,从功能上、兼容性、可扩充性、性能、安全稳定性、速度、易用性、用户文 档、资源占用等9 个方面进行全面的测试。 3i t e s t 测试管理系统。i t e s t 测试管理系统专注于测试流程的管理,管 理功能全面,对测试流程的设计科学,规范,合理。结合了开发人员在业界的经 验和对国内软件开发现状的把握等基础上开发而成,非常贴近国内用户的需求; 具有强大的测试用例,测试步骤的编辑和管理功能,b u g 的跟踪处理功能,所有 输出结果自动生成w o r d 文档的功能,同时有强大的统计分析,决策支持能力, 使用维护方便,具有良好的性价比,是目自订国内市场不可多得的测试流程管理软 件。 4 北京大学,北京航空航天大学进行了一系列的软件分析和测试工具的研究 和开发,研制了一系列的程序理解工具和测试工具,比较有代表性的工具有s a f e p r o c c + + ,s a f e p r o j a v a 。航空计算机研究所,南京大学在嵌入式系统集成测试方面 北京交通大学硕士学位论文 绪论 进行了较多的工作,开发了一些静态分析工具和测试用例自动生成工具。西北大 学在航空软件仿真测试,并行软件综合测试平台等方面取得了一系列的结果。另 外,航空软件评测中心专门从事航天软件测试技术的研究和负责航天软件的测试 工作。 在构件测试方面,目前有下列论文以及研究成就: l 成都计算所的研究生刘永红在其发表的硕士论文构件以及基于构件的测 试研究中讨论了基于构件的测试,并提出了基于分域的软件测试方法和基于模 型的软件测试方法。 2 西安理工大学的研究生夏辉在其发表的硕士论文基于e j b 构件系统的集 成测试方法研究中讨论了e j b 构件系统的集成测试,并分析了e j b 构件的配置 测试,状态测试和交互测试。 3 华中师范大学的研究生彭波涛在其发表的硕士论文基于一种软件体系结 果描述语言的构件集成测试研究中讨论了构件集成测试研究方法,并研究了基 于d i 玎s a d l 的测试用例生成以及设计和实现了专用的测试工具。 4 河北大学的研究生甄文萍在其发表的硕士论文基于构件的软件测试研究 极其工具支持中讨论了基于构件的软件测试方法和测试策略,并设计了软件测 试支持平台。 1 2 2 国外研究现状 软件测试作为软件工程学科的一个重要分支,随着软件的发展而发展。 5 0 年代中期,图灵给程序测试下过原始的定义,然而直到7 0 年代以前,关于 测试的理论和方法的研究都很缓慢。1 9 7 2 年6 月在美国的北卡罗来纳大学召开了 首届软件测试j 下式技术会议,成为软件测试技术发展中的一个重要罩程碑。美籍 华人黄荣昌教授在1 9 7 5 年讨论了测试准则,测试过程,路径谓词,测试数据及其 生成等,首次全面的讨论了软件测试的有关问题。7 0 年代中期,g o o d e n o u g h 和 g e r h a r t 首次提出了软件测试的理论,从而把软件测试这一实践性很强的学科提高 到理论的高度,被认为是软件测试技术发展过程中具有丌创性的工作。此后 h o w d e n ,o s t r a n d ,g e l l e r 以及g e r h a r t 进一步总结原有的测试理论并迸一步加以完 善,使软件测试成为有理沦指导的实践性学科。 8 0 年代及其以后,软件和i t 行业进入了大发展。软件趋向大型化。与之相应, 人们为软件开发设计了各种复杂而精密的流程和管理方法( 比如c m m 和m s f ) , 并将质量的概念融入其中。软件测试已有了行业标准( i e e e m s f ) ,它再也不是 4 北京交通大学硕士学位论文绪论 一个一次性的,而且是开发后期的活动,而是与整个开发流程融合成一体。软件 测试已成为一个专业,需要运用专门的方法和手段,需要专门的人才和专家来承 担。软件公司为了保证软件的质量,提高产品在市场的竞争力,成立了独立的测 试部门,承担软件测试任务。9 0 年代,测试工具的出现,测试的支持度,测试成 熟度等新概念的提出进一步表明软件测试技术的不断发展。 同时,软件测试作为软件工程学科的一个重要分支,随着软件的发展,自从 2 0 世纪7 0 年代以来,国内外许多学者和组织在软件测试方面提出了许多经典的软 件测试技术和软件测试流程管理规范。 美国的i e e e ,a c m 等组织制定了一系列软件测试规范,国外的许多大学( 如: c a r n e g i em e l l o n ,g e o r g em o s a n 等) ,研究机构( 如:n a t i o n a ls o f t w a r et e s t i n gl a b 等) 和公司( 如:s o r w a r er e s e a r c h ,r a t i o n a lc o r p o r a t i o n ,l d r a 以及a u t o t e s t e r 等) 进行了大量的软件测试的研究和应用工作。g e o r g em o s a n 侧重于基于规范的 测试自动生成和面向对象测试技术的研究,n s t l 主要从事测试规范和标准的制 定。 随着面向对象技术,软件重用技术以及i n t e m e t 的广泛应用,软件测试面临新 的挑战。目前软件测试技术领域内的研究热点有: 1 针对新的软件丌发技术丌展的软件测试技术的研究,包括面向对象技术, i n t e m e t 结构,j a v a 语言,自动生成软件等软件测试技术的研究; 2 对某类软件的特点丌展的使用软件测试技术和方法的研究,如实时软件, 系统软件,嵌入式软件等不同类型软件的特点开展测试技术研究; 3 测试自动化技术的研究,即以提高测试各阶段的自动化程度,减轻人工测 试负担为目的开展的研究,如回归测试,覆盖测试等。 4 测试工具与测试环境的研究,依据软件测试的技术和方法丌发相应的测试 工具与环境,如测试计划工具,测试设计工具,测试管理工具,静态分析工具, 回归测试工具,性能及网络负载测试工具,为提高工具使用的有效性,工具间互 操作性以及信息的共享性而丌发的,由若干工具经过有机结合形成的测试环境等。 1 3 研究内容和论文框架 本论文主要讨论了e j b 自动化测试框架e r t ( e j br u n t i m e t e s t ) ,e r t 测试工 具的设计和丌发以及e r t 的集成。 论文的框架是:首先介绍了选题背景和意义,以及国内外研究现状等。接下 来分析了j 2 e e 和e j b 的体系结构和特点,结合自动化测试的原理提出了实现e j b 5 北京交通大学硕士学位论文 绪论 的自动化测试的框架e r t ( e j br u n t i m e t e s t ) 。然后,对e r t 测试工具进行需求 分析,模块设计和配置文件设计,并讨论了四个在测试工具开发过程中所要解决 的问题,分节进行了解决方法的说明。接着讲解了如何使用e r t 测试工具和如何 利用测试管理工具c q t m ( c l e a rq u e s tt e s tm a n a g e r ) 进行集成以实现e r t ,并对 测试结果数据进行了分析。最后对本论文内容进行了总结和展望。 本论文的章节安排如下: 第一章,讲述了本文选题背景和意义,国内外的研究现状以及本论文研究内 容和整体框架结构。 第二章,讲述了e j b 构件测试技术研究的基础性内容。首先,讨论了j 2 e e 和 e j b 的体系结构和特点。其次,讲解了访问e j b 构件的过程,并结合软件测试自 动化的原理,提出了实现e j b 构件自动化测试的途径。再次,讲述了测试对象的 选择策略,也就是说在随机模拟中按什么样的原则去选择需要测试的e j b ,包含在 e j b 中的函数以及哪些参数作为输入。最后,讲述到了在e j b 测试中,需要对其 哪些测试的状态进行跟踪,包括了内存的关键参数,异常的跟踪以及错误状态的 分析。 第三章,提出了e j b 测试框架e r t ( e j br u n t i m e t e s t ) ,分别介绍了其实体 模型和逻辑功能模型。实体模型主要阐述e r t 的实体组成,实体之间的关系和各 个实体之间如何进行协作;而逻辑功能模型主要阐述e r t 的逻辑功能结构,它说 明了e r t 包含了哪些功能,以及这些功能之间的关系。 第四章,讲述了e r t 测试工具的分析和设计实现。首先,根据测试工具的需 求去定义测试工具的业务模型,系统框架,应用逻辑和逻辑框架。其次,为测试 工具设计了一个测试配置文件,可以通过修改这个配置文件来修改整个测试的内 容。再次,就是测试工具的模块详细设计。从配置文件解析模块,随机数据获取 模块,测试运行模块到报表生成模块,详细说明了每个模块的设计和实现原理。 第五章,讲述了如果要实现测试工具,应该解决哪些方面的问题,然后对如 何解决这些方面的问题以及所应用到的技术进行了说明。 第六章,讲述了如何利用测试管理工具实现e r t 集成。首先,讲述了e r t 测 试工具的配置与应用。然后,详细的对测试管理工具r a t i o n a lc l e a rq u e s tt e s t m a n a g e r 进行了说明,并通过图文并茂的方式讲解了如何利用测试管理工具将若干 个测试用例集成到由一个或多个测试用例组成的测试计划中。最后,讲解了测试 产生的报表,包括测试的总体信息和各个线程的信息,同志以及错误汇总文件。 第七章,讲述了总结和展望。说明了本论文主要内容,应用前景和未来的发 展展望。 图l 一1 是本论文的框架结构: 6 北京交通大学硕十学位论文绪论 第一章选题背景,意义以及国内外研究现状 第二章e j b 构件测试技术 研究理论基础 j 2 e e 体系结构 e j b 特点和访问过程 自动化测试理论 测试对象选择策略 跟踪什么测试状态 第三章 e j b 自动化测试框架e r t 提出 第四章e r t 测试j :具需求分析与设计 、 、u i _ i 业务模犁 随机数据获取业务过程 系统架构 配置信息获取业务过程 r - , 应用逻辑 测试运行业务过程 逻辑框架 报表获取业务过程 i_ 7 测试配置文件设计模块详细设计 e r t 测试l :具需求分析 图1 1 论文框架结构 f i g u r e1 _ 1f r a m e w o r ko ft h i sp a p e r 7 北京交通大学硕十学位论文绪论 1 4 论文主要创新点 本论文的主要创新点有: l 针对e j b 构件难以测试的特点,提出了实现e j b 构件自动化测试的框架e r t ( e j br u n t i m et e s t ) 。利用测试管理工具c l e a rq u e s tt e s tm a n a g e r 集成e r t 测试 工具,并能通过设计测试计划,测试用例和为测试用例指定各种测试配置实现序 列化测试和多模块测试。 2 针对模拟客户的随机调用e j b 构件,随机调用e j b 构件当中的函数以及随 机使用某特定函数的参数组合,利用高斯随机和正态分布,提出了测试对象选择 策略,可以实现比较真实的模拟用户的随机操作。 3 提供了完备的测试运行情况信息统计,在测试工具的报表生成模块中,实 现了利用同志文档内容挖掘完成测试错误信息的自动化整理。 1 5 小结 本章介绍了四个方面的内容,分别是选题的背景和意义,包括为什么研究软 件测试技术和为什么研究针对e j b 构件的测试技术;国内外的研究现状;本论文 的研究内容和框架以及所讨论的e j b 测试在哪些方面有创新。 北京交通大学硕士学位论文e j b 构件测试技术研究理论基础 2 e j b 构件测试技术研究理论基础 2 1 j 2 e e 与e j b 分析 2 1 1 j 2 e e 体系结构和特点 由于需要测试e j b 构件,所以不可避免的会使用到j 2 e e 体系结构中的相关部 分。因此,对j 2 e e 体系结构和特点进行简单的介绍是有必要的。 j 2 e e 是一种利用j a v a 2 平台来简化企业应用丌发,部署和管理相关的复杂问 题的体系结构。j 2 e e 技术的基础就是核心j a v a 标准平台。j 2 e e 不仅巩固了标准 版中的许多优点,例如“编写一次,随处运行”的特性,方便存取数据库的j d b c a p i ,c o r b a 技术以及能够在i m e m e t 应用中保护数据的安全模式等等,同时还提 供了对e j b ( e n t e r p d s ej a v a b e a n s ) ,j a v as e r v l e ta p i ,j s p ( j a v as e r v e rp a g e ) 以 及x m l 技术的全面支持。其最终目的就是成为一个能够使企业应用开发大幅缩短 投放市场时间的体系结构。 j 2 e e 体系结构提供中间层集成框架用来满足无需太多费用而又需要高可用 性,高可靠性以及高扩展性的应用需求,同时还提供对现有应用程序集成强有力 支持,完全支持e n t e r p r i s ej a v a b e a n s ,有良好的向导支持打包和部署应用,添加了 目录支持,增强了安全机制,提高了性能。 j 2 e e 使用多层的分布式应用模型,应用模型按功能划分为组件,各个应用组 件根据他们所在的层分布在不同的机器上。事实上,s u n 设计j 2 e e 的初衷_ f 是为 了解决两层模式( c l i e n t s e r v e r ) 的弊端,在传统模式中,客户端担当了过多的角 色而显得臃肿,在这种模式中,第一次部署的时候比较容易,但难于升级或改进, 可伸展性也不理想,而且经常基于某种专有的协议,通常是某种数据库的协议。 它使得重用业务逻辑和界面逻辑非常困难。现在j 2 e e 的多层企业应用模型将两层 化模型的不同层面切分成许多层。一个多层化应用能够为不同的每种服务提供一 个独立的层,j 2 e e 典型的四层结构( 9 1 如图2 1 所示: 9 北京交通大学硕七学位论文e j b 构件测试技术研究理论基础 图2 1j 2 e e 典型四层结构 f i g u r e2 1j 2 e ec l a s s i cf o u r - - t i e ra r c h i t e c t 结合上图,我们可以看出,一个基于j 2 e e 的企业应用从结构上来看,可以分 为四个部分:分别是客户层,w e b 层,业务层和企业信息层。下面是对它们的描 述: 1 客户层 j 2 e e 应用可以是基于w e b 的,也可以是不基于w e b 的。在一个基于w e b 的 j 2 e e 应用中,用户的浏览器在客户层中运行,并从一个w e b 服务器上下载w e b 层中的静念h t m l 页面或由j s p s e r v l e t 生成的动念h t m l 页面。 2w e b 层 w e b 层组件是在j 2 e ew e b 容器上运行的软件程序。w e b 容器主要支持多层结 北京交通大学硕+ 学位论文e j b 构件测试技术研究理论基础 构的表示层。它的功能就在h t r p 协议上对w e b 请求( r e q u e s t ) 进行响应 ( r e s p o n s e ) 。这些所谓响应其实就是动态生成的网页,每当用户在浏览器上点击 一个链接或图标,实际上就是通过w e b 向服务器发送请求。j 2 e e 平台的w e b 构 件对这些请求进行处理后回复给客户端对应的h t m l 或x m l 文件。j 2 e ew e b 构 件包括s e r v l e t ,j a v as e r v e rp a g e ( j s p ) 和j a v as e r v e rp a g es t a n d a r dt a gl i b r a r y ( j s t l ) 。 3 业务层 业务层代码的逻辑用来满足银行,零售,金融等特殊商务领域的需要,由运 行在业务层上的e n t e r p r i s eb e a n 进行处理。e n t e r p r i s eb e a n 从客户端程序接受数据, 进行处理,并发送到e i s ( e n t e r p r i s ei n f o r m a t i o ns y s t e m ) 层储存的,这个过程也 可以逆向进行。 业务层中的e j b 要运行在e j b 容器中,容器解决了底层的问题,如事务处理, 生命周期,状态管理,多线程安全管理,资源池等。 4 企业信息系统层 企业信息系统层上运行企业信息系统软件,这层包括企业基础设施系统,例 如企业资源计划( e r p ) ,大型机事务处理,数据库系统及其他信息系统。j 2 e e 应 用组件通过j d b c 等方式访问企业信息系统。 2 1 2 e j b 构件介绍 s u n 的e j b 2 0 规范中是这样定义e j b 的:e j b 是用来开发和部署多层结构的, 分布式的,面向对象的j a v a 应用系统的跨平台的组件体系结构【lo 】。使用e j b 结构 编写的应用程序具有可扩展性,交互性和多用户安全性的特点。使用e j b 结构编 写的应用程序具有可扩展性,交互性和多用户安全性的特点,这些应用只需编写 一次,就可以发布到支持e j b 规范的服务器平台上。 e j b 不是客户端构件,而是服务器端构件。因此,e j b 构件用于完成服务器端 的操作,比如执行复杂的企业计算,完成高吞吐量的业务事务处理等。通常,企 业b e a n 能够完成如下类型的操作:完成业务逻辑,访问数据库,访问其他系统。 有三种企业级b e a n :会话b e a n ( s e s s i o nb e a n ) ,实体b e a n ( e n t i t yb e a n ) , 和消息驱动b e a n ( m e s s a g ed r i v e nb e a n ) 。 会话b e a n 表示客户端程序的临时交互操作。当客户端程序执行完后,会话 b e a n 和相关数据就会消失。相反,实体b e a n 表示数据库的表中一行永久的记录。 当客户端程序中止或服务器关闭时,就会有潜在的服务保证实体b e a n 的数据得以 保存。消息驱动b e a n 结合了会话b e a n 和j m s 的消息监听器的特性,允许一个业 北京交通大学硕士学位论文e j b 构件测试技术研究理论基础 务层组件异步接受j m s 消息。 2 1 3 e j b 构件组成 在e j b 构件技术中,需要协同使用多个不同类型的文件,才能最终开发出企 业b e a n 构件【n j 。 下面就是在e j b 构件中涉及到的各种文件。 1b e a n 类 它是e j b 组件的主要实现。b e a n 类含有业务逻辑实现。这一简单j a v a 类需要 遵循e j b 规范定义的接口和相关规则。比如,e j b 规范定义了若干标准接口,供 b e a n 类继承。在b e a n 类继承标准接口以后,丌发者必须实现接口中定义的相关方 法,这些都是由e j b 组件模型所定义的。e j b 容器会调用这些接口中定义的方法, 从
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 基础强化自考专业(小学教育)试题及答案【名校卷】
- 2025年自动化生产线成套装备项目发展计划
- 教师招聘之《小学教师招聘》预测复习含答案详解【轻巧夺冠】
- 教师招聘之《小学教师招聘》考试模拟试卷附答案详解【综合卷】
- 教师招聘之《小学教师招聘》自测题库【夺冠系列】附答案详解
- 汽车品牌故事传播创新创业项目商业计划书
- 2025年纸卷包装输送系统项目发展计划
- 水利数字孪生智能灌溉创新创业项目商业计划书
- 四季特色茶礼盒创新创业项目商业计划书
- 2025年机械化农业及园艺机具项目建议书
- 虚拟现实病区管理制度场景版
- 中医药学概论教学大纲05.9.5
- 安全保密意识培训
- 商业银行法律纠纷诉讼策略的运筹方法
- 电气自动化基础知识
- 医学优质课件《胎盘异常》
- 熔化和凝固 全国公开课一等奖
- 人工智能训练师基础(上册)
- -思想政治教育学原理课件(精品课件)
- 粘多糖贮积症专家讲座
- 教学课件 国际结算(第七版)苏宗祥
评论
0/150
提交评论