




已阅读5页,还剩58页未读, 继续免费阅读
(计算机科学与技术专业论文)基于eclipse富客户端软件测试管理平台的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
懒翱 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 扭燃z 瓠刚朝:么2 f 【z :1 f 立 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在年解密后适用本授权书。非保密论 文注释:本学位论文不属于保密范围,适用本授权书。 本人签名: 缸越益1 日期:边丝红立 导师签名: 著遥芝一 日期:2qlq 。主:iq 北京邮电人学硕i ? 学位论文 基于e ci p s e 富客户端软件测试管理平台的设计与实现 摘要 软件测试是保证软件产品质量最为重要的手段,为了帮助软件测 试管理者构建测试体系,规范澳蜮流程,引导测试执行者有步骤的实 施测试,软件测试己成为软件开发生命周期中必不可少的一部分。 随着现阶段软件行业的飞速发展,软件系统的规模也迅速扩大, 同时对于软件质量的要求也越来越高,传统的测试管理工具由于其封 闭性,不能很好的适应现阶段的软件测试需求。传统的测试管理工具 往往只关注于测试生命周期的某一方面,如何有效地实现软件生命周 期不同阶段的测试管理工具的交互已经成为业界关注的焦点。因此, 设计并实现开放、可扩展的软件测试管理平台的重要性也日益显现。 该测试管理平台基于e c l i p s e 富客户端( r c p ) 平台,该平台基于 组件的开发模式极大的提高了系统的可扩展性。整个系统由项目管 理、测试用例管理、测试计划管理等模块构成,它覆盖了测试生命周 期的各个方面。同时,为了实现与已有测试平台的集成,本论文设计 并实现了自动化数据同步模块,通过该模块,使得测试人员可以不局 限于选择该平台,他可选择熟悉的测试管理工具如h pq c ( q u a l i t y c e n t e r ) ,该数据同步模块会保证两端数据的完整性及一致性。 本论文还探讨了基于o s g i 架构的组件开发模式,并对j a v aw e b 开发中广泛应用的框架进行了组件化重构,充分实现了组件开发模式 中“开箱即用的优势,这同时也提高了本论文的理论与实践价值。 关键词:测试管理工具,富客户端,o s g i ,组件,数据同步 - - , c n 北京邮l u 人学硕。l 二学位论文 d e s i g na n di m p l e m e n t a t i o no f a s o f t w a r et e s t i n gm a n a g e m e n tp l a t f o r m b a s e do ne c l i p s er c p a b s t r a c t s o f t w a r et e s t i n gi so n eo ft h ei m p o r tm e a n st oe n s u r et h eq u a l i t yo ft h es o f t w a r e p r o d u c t i no r d e rt oh e l pt e s tm a n a g e r st oc o n s t r u c tt e s t i n gs y s t e m ,s t a n d a r d i z et e s t i n g p r o c e d u r e s ,g u i d et e s t i n ge x e c u t i o nf o rt e s t e r s ,s o f t w a r et e s t i n gh a sb e c o m eo n e i n d i s p e n s a b l ep a r to fs o f t w a r ed e v e l o p m e n tl i f ec y c l e a tp r e s e n t ,w i t ht h er a p i dd e v e l o p m e n to ft h es o f t w a r e i n d u s t r ys c a l ea n d s o f t w a r es y s t e mh a se x p a n d e dq u i c k l y , t h es o f t w a r eq u a l i t yi sb e c o m i n gm o r ea n d m o r eh n p o r t a n t ,t h et r a d i t i o n a lt e s t i n gm a n a g e m e n tt o o l sd u et oi t sc l o s u r e ,t h e y c a n n o ta d a p tt oc u r r e n ts o f t w a r er e q u i r e m e n t sa n do f t e no n l yf o c u so no n ep a r to ft h e l i f ec y c l eo ft e s t i n g , h o wt oe f f e c t i v e l ya c h i e v et h et e s tt o o l si n t e r a c t i o no fd i f f e r e n t p h a s e so ft h el i f ec y c l eh a sa l r e a d yb e c o m et h ef o c u so fa t t e n t i o n t h e r e f o r e ,w e d e s i g na n di m p l e m e n to n eo p e n ,e x t e n s i b l es o f t w a r et e s t i n gm a n a g e m e n tp l a t f o r m t h i ss y s t e mb a s e do ne c l i p s er i c hc l i e n tp l a t f o r m a n di ti sb a s e do n c o m p o n e n t sd e v e l o p m e n t , w h i c hg r e a t l yi m p r o v e st h ed e v e l o p m e n tm o d eo ft h e p l a t f o r me x p a n s i b i l i t y t h ew h o l es y s t e mi sm a d eu po ft h r e ep a r t sa st h ep r o j e c t m a n a g e m e n ts u b s y s t e m ,t e s tc a s em a n a g e m e n ts u b s y s t e m ,t e s tp l a nm a n a g e m e n t s u b s y s t e ma n ds oo n t h e yb a s i c a l l yc o v e r e da l la s p e c t so fl i f ec y c l eo ft e s t i n g a tt h e s a m et i m e ,i no r d e rt or e a l i z et h ei n t e g r a t i o nw i t ht e s t i n gp l a t f o r m sw h i c hh a sb e e n u s e d , ih a v ed e s i g n e da n di m p l e m e n t e da na u t o m a t i o nd a t as y n c h r o n i z a t i o nm o d u l e , t h r o u g ht h i sm o d u l e ,i tc a nm a k et e s t e r sc a nn o tc o n f i n e dt oc h o o s et h i sp l a t f o r m ,t h e y c 姐c h o o s ep r e v i o u st e s tm a n a g e m e n tp l a t f o r ms u c ha sq c ( q u a l i t yc e n t e r ) ,t h i s m o d u l ep r o v i d eaf u n c t i o nt om a k es u r et h ed a t ai n t e g r i t y t h i sp a p e ra l s od i s c u s s e st h eo s g if r a m e w o r kw h i c hb a s e do nj a v ac o m p o n e n t d e v e l o p m e n tm o d e ,a n dr e c o n s t r u c tt h ew i d ea p p l i c a t i o no fw e bd e v e l o p m e n t f r a m e w o r kt ob es t a n d a l o n ec o m p o n e n t ,f u l l yp r o v i d et h ef u n c t i o no u to ft h eb o x , 北京邮l 【1 人学硕l :学位论文 t h e ya l s or a i s e st h et h e o r e t i c a lv a l u ef o rt h i sp a p e r 。 k e yw o r d s :t e s tm a n a g e m e n t t o o l ,r i c hc l i e n tp l a t f o r m ,o s g i , c o m p o n e n t ,d a t as y n c h r o n i z a t i o n 北京l i i i f 电人学硕i :学位论文 目录 第一章绪论。1 1 1 课题研究背景。1 1 2国内外研究概况1 1 3 论文研究目标和内容2 1 3 1研究目标2 1 3 2 研究内容3 1 4论文组织结构3 1 5本章小结4 第二章相关原理及技术分析。5 2 1 软件测试相关理论分析s 2 1 1 软件测试概述s 2 1 2 软件测试方法5 2 1 3 软件测试模型6 2 2e c l i p s e 富客户端技术简介。9 2 2 1e ci p s e 体系结构9 2 2 2e ci p s e 插件运行模型o s gi 1 0 2 2 3e ci p s er c p 框架1 0 2 3j a v a 与c o m 组件互操作1 2 2 3 1 j ni 1 2 2 3 。2 j a c o b 1 3 2 4 本章小结1 4 第三章测试管理平台需求分析1 6 3 1 测试管理平台简介1 6 3 2 测试管理平台功能概述1 7 3 2 1项目管理模块1 8 3 2 2 测试需求管理模块1 9 3 2 3测试用例管理模块。2 0 3 2 4测试计划管理模块2 0 3 2 5 测试执行模块2 1 3 2 6 测试结果管理模块2 1 3 2 7 数据同步模块2 2 3 3 测试管理平台模型设计2 3 3 3 1对象模型设计。2 3 3 3 2功能模型设计2 4 3 4 本章小结2 5 第四章测试管理平台设计与实现2 6 4 1基本信息管理模块2 6 4 1 1项目管理2 6 4 1 2用户管理2 6 4 2测试流程管理模块2 8 北京邮f 【1 人学硕l :学位论义 4 2 1测试用例管理2 9 4 2 2测试执行管理。3 0 4 3数据同步模块3 2 4 3 1o u ai it yc e n t e ra pi 模块3 2 4 3 2 数据同步模块3 4 4 4 本章总结3 9 第五章关键问题及解决方案4 0 5 数据同步算法设计与实现4 0 5 1 1 数据同步信息保存4 0 5 1 2 数据比较策略4 1 5 1 3 数据冲突处理策略4 3 5 2 基于角色访问控制设计与实现4 4 5 2 1 基于角色访问控制模型4 4 5 2 2 基于角色访问控制模型的实现4 s 5 3o s g i 框架与h i b e r n a t e 、s p r i n g 等集成4 6 5 3 1 解决和h jb e r n a t e 框架的集成4 7 5 3 2 解决和s p r in g 框架的集成4 8 5 4 本章小结4 9 第六章总结与展望5 0 6 1 论文工作总结5 0 6 2 研究工作展望。5 0 参考文献。5 2 致谢5 3 攻读学位期间发表的学术论文目录5 4 北京邮i 乜人学硕l :学位论文 1 1 课题研究背景 第一章绪论 软件测试作为软件开发过程的重要组成部分,它是用来确认一个程序的性+ 能或品质是否符合软件开发之前所提出的系列预期要求。具体地说,软件测试 是分析程序或根据软件开发各阶段的规格说明和各程序的内部结构而精心设计 出一批测试用例,并利用测试用例来运行程序,以发现程序错误的过程。 目前随着软件产业规模和信息系统应用规模不断扩大的同时,软件产品的质 量问题也越来越突出,这已成为软件提供商与用户之间在信息系统项目建设中经 常发生冲突和矛盾的主要焦点,因此软件测试的重要性也愈发体现。为了帮助测 试管理者构建测试体系,规范测试流程,引导测试执行者逐步实施测试,测试管 理已成为软件开发生命周期中不可缺少的环节乜1 。优秀的测试管理工具不仅能够 为测试管理者提供便捷灵活的项目定制和流程管理,而且能够为测试人员提供便 捷的操作,为企业降低测试管理成本并提高软件测试执行效率。 传统的测试管理工具从测试工具发展而来,主要在软件开发后期用于管理和 执行测试用例并提交测试结果。然而,随着现代软件行业的飞速发展,软件应用 复杂度不断提升,软件交付周期缩短,软件应用失败带来成本急剧增加等新特性, 因此提供对软件生命周期进行管理的测试管理平台也成为大势所趋。从软件需求 的搜集开始,测试管理就必须介入到软件项目中了。随着软件需求的发布,测试 人员就必须针对需求着手测试用例的设计。在软件开发过程中,这些测试用例需 要不断地进行更新和维护。同时,系统还需要维护在测试过程中出现的软件缺陷 与测试用例之间的对应关系,以便于提高软件质量。另一方面,即使产品完成发 布,该版本的测试用例还必须作为下一版本产品测试用例的蓝本1 。可以看出, 测试用例将贯穿在测试过程的始终,因此用于生成与管理测试过程的系统对于测 试,乃至整个软件产品的生命周期而言,都具有相当重要的作用。 1 2 国内外研究概况 测试管理工具主要用于辅助测试活动或工作的计划、设计、实施、执行、评 估和管理。目前,比较有代表性的测试管理工具有:m i c r o s o f t 公司的r a i d s , i b m 公司的t e s tm a n a g e r ,m e r c u r yi n t e r a c t i v e 公司的t e s td i r e c t o r ,s i l i c o n v a l l e yn e t w o r k s 公司的t e s te x p e r t 等。其中,r a i d s 是专注于缺陷管理的工 1 北京邮i u 人学硕i j 学位论文 具,它提供了缺陷填报,缺陷查询等功能。而t e s tm a n a g e r 专注于对测试用例 的管理,它按层次组织测试用例,易于查询和运行测试用例。t e s td i r e c t o r 和 t e s te x p e r t 是另两个测试管理工具,也提供了较好的缺陷管理和测试用例管理 功能。可以看出软件测试管理工具在国外的研究比较成熟,但国内在这方面的研 究开发基础还比较薄弱,还处于开始阶段,但是国内的组织机构对软件测试管理 工具的需求也同渐增长,虽然上述的软件测试管理工具比较成熟,但也存在以下 几个方面的局限性: 由于这些测试管理工具的测试管理模式和中国测试团队工作模式不是很 兼容,我们无法定义自己的软件测试流程。 未提供测试任务的跟踪和协同管理功能。 不支持测试用例的重复运行,使重复测试、回归测试的管理比较困难。 软件缺陷严重等级、优先级和其他分类属性以及测试用例的分类属性的 划分均固定不变,不能适应不同软件组织的定制要求。 作为商业产品,l i c e n s e 授权费用的价格十分昂贵,若企业选择了这些 商业工具无疑极大增加了企业的测试成本。 由于商业产品存在以上种种限制,因此通过借鉴现有成熟的测试管理产品, 同时遵循系统高度可扩展性要求设计并实现了基于e c l i p s er c p 架构的测试管理 平台。同时该平台支持以插件的形式和已有的测试管理平台的集成,极大的提高 了该平台的价值。 1 3 论文研究目标和内容 1 3 1 研究目标 本论文的目标是通过分析现阶段已有的测试管理工具,尤其是结合本人在公 司实习阶段使用的测试管理工具q u a l i t yc e n t e r 使用过程中的局限性,并通过 借鉴软件测试领域中先进的软件测试管理方法和模式,设计并实现了基于 e c l i p s e 富客户端架构且包含了软件测试生命周期中主要模块且可扩展的测试 管理平台。该平台主要具有以下方面的特点: 项目管理:项目经理可对整个项目状态、属性以及人员进行个性化管理。 测试用例管理:根据用户角色以树形结构管理相应的测试用例,并提供 了分类查询及统计的功能。 测试执行管理:提供了手动执行测试用例,同时为了进一步简化测试人 员的工作量,提高测试人员的工作效率,实现了自动执行测试用例。通 过该模块为项目重复测试、回归测试管理等提供自动化支持。 2 北京邮i 乜人学硕1 :学位论文 测试结果管理:通过测试用例覆盖和生成缺陷报告等方法来生成测试评 价,方便项目经理跟踪项目的最新状态。 数据同步模块:通过该模块实现和h pq u a l i t yc e n t e r 的数据同步。 1 3 2 研究内容 通过对本论文研究目标的分析,并结合现阶段流行的软件开发技术。本论文 设计并实现了该软件测试管理平台。具体的研究内容包括以下几个方顽: 测试管理平台体系结构:为了提高平台的可扩展性,本测试管理平台采 用e c l i p s er c p 架构,构建用户界面友好的富客户端平台。同时,为了 实现不同用户之间的互操作性,该平台采用c l i e n t s e r v e r 模式,客户 端通过与t e a ms e r v e r 应用服务器建立按连接,客户端首先会从服务器 端取得最新的数据信息,并将修改后的信息写回到服务器端,同时服务 器端会有一个同步线程,该线程负责与h pq u a l i t yc e n t e r 的数据同步, 这样便保证了两端数据的一致性。 软件测试管理平台模块设计:软件测试管理的对象是各种测试资产,主 要包括测试需求,测试用例,测试计划以及测试执行。因此本论文根据 软件测试管理的工作流程,着重研究测试用例管理,测试计划管理,测 试执行管理及测试结果统计管理。为了最大限度的提高软件测试人员执 行测试用例的效率,设计并实现了自动化测试执行模块,极大提高了该 平台的价值。 数据模型设计:为了支持和h pq u a l i t yc e n t e r 的数据同步,本地数据 模型的设计参考了q u a l i t yc e n t e r 的数据模型。主要包括:测试项目、 测试计划、测试用例、测试步骤、测试执行结果以及一些用户、角色、 权限等信息。它们之间的逻辑关系如下所示:每个测试项目包含多个测 试用例以及测试计划,每个测试计划包含多个测试用例,每个测试用例 包含多个测试步骤,同时每次执行测试用例会生成测试结果,这同时也 体现了系统不同模块之间的相互交互。 s p r i n g 、h i b e r n a t e 框架组件化:s p r i n g 、h i b e r n a t e 框架作为j a v a 平 台上的一个开源应用框架,并迅速成为j a v aw e b 开发中的主流框架,通 过对s p r i n g 框架和h i b e r n a t e 框架的整合可极大提高了应用程序的性能 和平台的可扩展性。本论文研究了如何将s p r i n g 、h i b e r n a t e 框架组件 化为一个独立的插件,为其他插件提供服务。 1 4 论文组织结构 3 北京邮l u 人学顾f j 学位论文 本论文主要分为以下五个部分: 第一章:绪论,该章主要介绍了论文的研究背景及目前企业的研究概况,并 以此为基础阐释了论文的研究目标和研究内容。 第二章:相关原理及技术分析,该章介绍了软件测试相关理论,着重分析软 件测试中的v 一模型、w _ 模型、h 一模型等。并对e c l i p s e 富客户端开发中使用的 主要技术,包括e c l i p s e 体系结构、e c l i p s e 插件运行模型及e c l i p s er c p 框架 进锤了详细的分绍p 并深入介绍了为j a v a 与c o m 组件实现互操作韵组件 j a c o b 。 第三章:测试管理平台需求分析,主要从系统架构层次对系统的整体架构进 行了分析,并着重介绍了系统各功能模块如项目管理模块、用例管理模块、计划 管理、测试执行、测试结果管理、数据同步管理等模块的功能概述。 第四章:测试管理平台设计与实现,本章着重介绍该测试平台基本信息管理 模块,测试流程管理模块以及最为重要的数据同步模块的具体设计与实现过程。 第五章;关键问题及解决方案,本章详细阐述本论文在研究与实现过程中遇 到的关键问题如数据同步问题、基于角色的用户权限管理等的设计及解决方案。 第六章:总结与展望,本章总结了本论文的具体工作成果并对未来可行的改 进进行了构想与展望。 1 5 本章小结 本章对课题的背景、课题研究概况、论文研究目标和内容作了说明,并对论 文的总体内容和组织结构加以概述。 4 北京邮i 乜人学硕l :学位论文 第二章相关原理及技术分析 本章首先介绍了软件测试相关技术的定义、关键技术以及软件测试模型等, 并详细阐述了基于e c l i p s e 富客户端架构的测试管理工具的技术解决方案,并对 本系统设计与实现阶段用到的j a c o b 组件进行了详细地阐述。 2 1 软件测试相关理论分析 2 i 1 软件测试概述 软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计 一批测试用例,并利用这些测试用例运行软件,以发现软件缺陷或错误的过程h 1 。 可见,软件测试是为了发现软件缺陷或错误而执行程序的过程。它不仅是软件开 发阶段的重要组成部分,而且在整个软件工程( 即软件定义、设计和开发过程) 也占据着较大的比重。软件测试是保证软件产品质量的关键环节,直接影响着软 件的质量评估。然而,随着软件规模的不断扩大,软件功能的复杂性也在不断增 加,软件测试的难度也进一步提高,因此,软件产品的可靠性也更加难以评估瞄1 。 2 1 2 软件测试方法 为了更有效地实施软件测试,必需明确不同阶段所采用的不同测试方法。软 件测试方法按照测试目标不同,可以分为单元测试、集成测试、系统测试和确认 测试嗍。 单元测试又称模块测试,是针对软件测试的最小单位程序模块,为验证 各模块正确性而进行的校验工作,其目的在于发现各个模块内部可能存在的各种 缺陷或错误。 集成测试又称为联合测试或者组装测试。集成测试是在单元测试的基础上, 将所有模块按照概要设计要求组装成为子系统或系统。其目的是确保各单元组合 在一起后能够按既定意图协作运行,并确保新增量的行为正确性。它所测试的内 容包括不同单元间的接口以及将模块集成后的功能正确性。 系统测试是将经过测试的子系统装配成一个完整系统而采用的测试方法。其 任务是尽可能彻底的检查出程序中的存在的错误,提高软件系统的健壮性,它是 检验系统是否确实能提供系统方案说明书中指定功能的有效方法。系统测试阶段 又可分为三个步骤:模块测试,测试每个模块的程序是否有错误;组装测试,测 试模块之间的接口是否正确;确认测试,测试整个软件系统是否满足用户功能和 5 北京邮i 【1 人学硕f :学位论文 性能的要求。 验收测试又称为有效测试或确认测试,它是软件在最终部署之前所进行的最 后一个测试操作。其目的是确保软件准备就绪,并且可以让最终用户将其用于执 行软件的既定功能和任务。 2 1 3 软件测试模型 鉴于软件j ! 贝4 试在软件开发生命周期中的重要地位,软件测试也需要相应的理 论模型指导软件测试工作的有效进行。软件测试模型,它用于描述在整个软件测 试过程中包含的主要活动以及这些活动之间的相互关系等。同时,由于软件测试 本身也是软件开发过程中的一个重要组成部分,因此软件测试模型还要描述在软 件测试过程中的各项活动和软件开发过程中的其他各项活动之问的相互关系。通 过软件测试模型,软件测试及相关人员可以清晰的了解到软件测试时从什么时候 开始,将会在什么时候结束,同时在软件测试过程中需要包含哪些活动以及需要 什么资源等。因此,在软件测试规划时,就要根据测试目标、软件开发模型、人 员组织结构等,选择合适的测试模型。目前,常用的软件测试模型有v 模型、w 模型、h 模型h 1 等。本论文将会对这三种模型进行简单介绍。 一、v 模型 由于在传统的瀑布型软件开发过程中,仅仅把测试过程作为在需求分析、系 统概要设计、详细设计及编码之后的一个独立的阶段,它对软件测试过程缺少详 细的描述。v 模型陋3 则针对瀑布开发模型对软件测试过程进行了补充。v 模型最 早提出测试并不是一种事后弥补行为,而是一个同软件开发过程同等重要的过 程。v 模型描述了一些不同的测试级别,并说明了这些级别所对应的生命周期中 的不同阶段。 如图2 1 所示,从左到右,描述了基本的开发过程和测试行为,并非常明确 的标明了测试过程中不同阶段所存在的不同级别,并且清楚地描述了这些测试阶 段和开发过程各阶段的对应关系:左边依次下降的是开发过程各阶段,与此相对 应的是右边依次上升的部分,i i i i n 试过程的各个阶段。 6 北京邮电人学硕l :学位论文 图2 - 1 软件测试v 模型结构图 二、w 模型 w 模型曲1 最早是由e v o l u t i f 公司提出,相对于v 模型,w 模型增加了软件各 开发阶段中应同步进行的验证和确认活动。w 模型由两个v 字型模型组成,分别 代表测试与开发过程,图2 - 2 中明确表示出了测试与开发的并行关系。 w 模型强调:测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序, 软件需求,软件概要设计,详细设计等同样需要测试。也就是说,测试与开发是 同步进行的。w 模型有利于尽早地全面的发现问题。例如,需求分析完成后,测 试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时, 对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将 显著减少总体测试时间,加快项目进度。但w 模型也存在局限性,在w 模型中, 需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线 性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。这样就无法 支持迭代的开发模型。对于当前软件开发复杂多变的情况,w 模型并不能解除测 试管理面临着困惑。 图2 - 2 软件测试w 模型 7 北京i l l l 地人学顾i :学位论文 三、h 模型 v 模型和w 模型均存在一些不妥之处。如前所述,它们都把软件的开发视为 需求、设计、编码等一系列串行的活动,而事实上,这些活动在大部分时问内是 可以交叉进行的,所以,相应的测试之间也不存在严格的次序关系。同时,各层 次的测试( 单元测试、集成测试、系统测试等) 也存在反复触发、迭代的关系。 为了解决以上问题,有专家提出了h 模型n 引。它将测试活动完全独立出来,形成 了一个完全独立的流程,将测试准备活动和测试执行活动涛晰地体现出来,如图 2 3 所示。 图2 - 3 软件测试h 模型 这个示意图仅仅演示了在整个生产周期中某个层次上的一次测试“微循环 。 图中标注的其他流程可以是任意的丌发流程。例如,设计流程或编码流程。也就 是说,只要测试条件成熟了,测试准备活动完成了,测试执行活动就可以( 或者 说需要) 进行了。h 模型揭示了这样的一个原理:软件测试是一个独立的流程, 贯穿产品整个生命周期,与其他流程并发地进行。h 模型指出软件测试要尽早准 备,尽早执行。不同的测试活动可以是按照某个次序先后进行的,但也可能是反 复的,只要某个测试达到准备就绪点,测试执行活动就可以开展。 通过对软件测试三种模型的分析,我们了解到:v 模型强调了在整个项目开 发中需要经历的不同的测试级别,但忽视了测试的对象不应该仅仅是程序。而w 模型在这一点上进行了补充,明确指出应该对需求、设计进行测试。但是v 模型 和w 模型都没有将一个完整的测试过程抽象出来,成为一个独立的流程,这并不 适合当前软件开发中广泛应用的迭代模型。h 模型则明确指出测试的独立性,也 就是说只要测试条件成熟了,就可以进行测试。 测试团队在实际测试工作中应尽可能地去应用各模型中对项目有实用价值 的方面,不能强行的为使用模型而使用模型。在测试实践中,我们采用的方法是: 以w 模型作为框架,及早的、全面的开展测试,同时灵活运用h 模型独立测试的 8 北京邮i 乜人学硕i :学位论文 思想,在达到恰当的就绪点时就应该丌展独立的测试工作,同时将测试工作进行 迭代,最终确保高效的完成测试目标。 2 2e c li p s e 富客户端技术简介 本节主要阐述了e c l i p s e 富客户端开发过程审使用的主要技术,本论文主妻 从以下几个方面进行介绍:e c l i p s e 体系结构,e c l i p s e 插件运行模型刈s g i 以及e c l i p s er c p ( r i c hc 1 l e n tp l a t f o r m ) 应用框架。 2 2 1e c ii p s e 体系结构 e c l i p s e 作为最为成功的j a v a 可视化集成开发环境,分析成功的原因,我 们可以发现其成功的原因主要可归于以下两点:其一是它是开放源代码的,其二 是它优秀的插件体系架构设计。e c l i p s e 采用微内核与可扩展的插件体系机构, 即k e r n e l ( p l a t f o r mr u n t i m e ) + p l u g - i n 的体系结构。所有插件在其基础运行平 台上实现互操作。 d e v e l o p m e n t t o o l s l j d t p l u q i n d e v e l o p m e n t e n v i r o n m e n t l p d e j ”、 。、j e c l i p s ep l a t f o r m p l a t f o r mr u n t i m e ie c l i p s ep r o j e c t t - l i d - - - - o c t , 图2 - 4e c l i p s e 体系结构叭1 a n o t h e r t o o l y o u r 1 o o l t h e i r t o o i 图2 4 显示了e c l i p s es d k 的体系结构和其主要组成部分。 其中e c l i p s ep l a t f o r mr u n t i m e n 2 3 作为系统的微内核,它提供了插件运行 时环境。它处在整个系统架构的最底层,它是其他插件运行的基础。构成e c li p s e r c p 最小插件集合包括p l a t f o r mr u n t i m e ,s w t ,j f a c e ,w o r k b e n c h ,h e l p 等一 9 回回国 一 一, 一 i 面 _ 岫 一 一 广:。盯 北京l l l 9 1 人学颁i :学位论文 些必须的组件,以及其他一些可选组件如u p d a t e ,f o r m s 等。 e c l i p s e 核心插件主要包括j a v ad e v e l o p m e n tt o o l s ( j d t ) ,p l u g i n d e v e l o p m e n te n v i r o n m e n t ( p d e ) 除了核心插件外,e c l i p s e 还提供了诸如 g e f ,e m f ,c d t 等很多插件,同时用户也可自己开发商用或开源的插件,这极大丰 富了e c l i p s e 平台的功能。 2 - 2 2e c ji p s e 插件运行横型伽i e c l i p s e 最初版本中它是使用自己丌发的运行时模型来管理插件问的交互, 该运行时模型随着e c l i p s ei d e 迅速增长,以越来越不能满足软件可扩展性的需 要,它的主要缺点体现在:它缺少动态添加,更新,卸载插件的能力,由于它具 有的独特的运行时机制,在其它领域缺少可扩展性。因此,e c l i p s e 从3 o 版本 开始选择开放服务网关协议( o p e ns e r v i c eg a t e w a yi n i t i a t i v e ,o s g i n 町) 替换 先前版本中不稳定的e c l i p s e 运行时模型,从而实现了e c l i p s e 一次巨大的飞跃。 o s g i 技术是面向j a v a 的动态模型系统,o s g i 服务平台向j a v a 提供服务, 这些服务使j a v a 成为软件集成和软件开发的首选环境通过o s g i 框架,它支持 被称为“b u n d l e 的可扩展和下载的服务应用的部署。与o s g i 标准兼容的设备 可以下载和安装基于o s g i 标准的b u n d l e ,并且可以删除不需要的b u n d l e 。同时, 已安装的b u n d l e 可以注册一组服务,通过这些服务可以在o s g i 框架的严格控制 下被其他b u n d l e 共享。 e c l i p s e 中的插件就是o s g i 中的b u n d l e ,e c l i p s e 平台核心就是o s g i 标准 的一个参考实现。通过采用o s g i 框架作为它的平台运行模型,它有着如下的优 势: o s g i 的标准性和通用性; o s g i 提供的动态生命周期管理,可以动态的添加、删除、启动、停止以 及更新插件而无需重启e c li p s e : 可以扩展r c p 程序的运行环境,如p o c k e tp c 等嵌入式设备。 2 2 3e c1 p s er g p 框架 在o s g i 框架的理论指导下,同时e c l i p s e 的成功应用也证明了r c p ( r i c h c l i e n tp l a t f o r m ) 作为开发桌面应用程序的强大的生命力。目前,也有越来越多 的成功的应用基于e c li p s er c p 架构。 将e c l i p s e 平台设计为开放工具平台时,它的体系结构允许您构建任何客 户端应用程序及其组件。构建富客户端应用程序所需的最小插件集总称为富客户 端平台( r i c hc 1 i e n tp l a t f o r m ) 。如图2 5 所示,e c l i p s e 富客户端平台由以 下组件组成:e c l i p s er u n t i m ew i t ho s g i ( 开放服务网关活动) 、s w t ( 标准小 北京邮电人学硕。i :学位论文 部件工具包) 、j f a c e 和w o r k b e n c hu i 。 图2 - 5e c l i p s el 汇p ( 富客户端) 平台n 铂 正是基于o s g i 对e c l i p s e 富客户端平台的支持,以及e c l i p s e 平台本身具 有的诸多特性,使得e c l i p s er c p 具有以下几个方面的特性: 1 组件化 e c l i p s e 优秀的插件机制,每一业务模块都可设计为可方便重用的插件,通 过将不同业务模块设计成不同的插件,一方面降低了模块与模块之间的耦合性, 同时将业务模块之间的访问转化为插件之间接口的相互访问,极大的提高了基于 组件开发模式的效率。 2 跨平台 目前,随着企业应用对跨平台的要求日益提高,开发跨平台的应用程序的成 本也越来越高。通过采用e c l i p s er c p 架构,可以轻松地解决该矛盾,这也极大 的降低了企业开发与维护的成本。 3 具有本机外观 e c l i p s er c p 使用的图形包是s w t ,而不是j d k 中自带的a w t s w i n g ,s w t 图形包在显示用户界面时使用的是本地操作系统的用户界面库,因此,e c l i p s e r c p 应用程序的用户界面可以呈现出本地操作系统样式。 4 可扩展性 基于e c l i p s e 插件体系结构的思想,我们可以根据e c l i p s e 扩展和扩展点机 制使得应用程序可以很方便的扩充。同时基于o s g i 框架提供的动态生命周期管 理,使得我们可以实现插件、功能模块的即插用而无需重启整个应用程序。 5 开发工具及开源社区支持 目前,随着e c li p s e 插件开发环境的日益成熟和不断流行,基于e c li p s er c p 1 】 北京邮i u 人学顾i :学位论文 的应用和插件也越来越多,特别是目前很多插件都是开源的,我们可以充分利用 这些已有的插件扩充我们系统的功能,而无需重复开发,极大的提高产品开发效 率,降低了产品的开发周期。 通过上面的分析,我们可以发现虽然e c l i p s er c p 出现的时间只有短短的7 、 8 年时间,但由于其强大的可扩展性,给应用程序开发者提供了创建可扩展客户 端应用程序的能力,e c l i p s er c p 框架逐渐成为客户端应用程序开发首选
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年宁波北仑区人民医院医疗健康服务集团梅山院区招聘编外人员2人模拟试卷及答案详解(网校专用)
- 2025贵州台江县民族中医院第二次招聘备案制专业技术人员考前自测高频考点模拟试题含答案详解
- 2025河南洛阳市宜阳县选聘县属国有集团公司部长10人模拟试卷附答案详解(完整版)
- 2025广东惠州市博罗县招聘编制教师143人考前自测高频考点模拟试题及答案详解(历年真题)
- 2025-2026学年陕西省西安市某中学高二上学期开学考试英语试卷(解析版)
- 辽宁省名校联盟2024-2025学年高二6月份联合考试地理试卷(解析版)
- 深化智能化发展承诺书7篇范文
- 2025北京政法职业学院招聘7人模拟试卷(含答案详解)
- 小狗与老人的真情故事写物作文13篇
- 2025年江苏省港口集团社会招聘模拟试卷及答案详解(网校专用)
- 建筑工程项目技术总结报告模板
- 鼠疫实验室生物安全培训课件
- 信息系统审计手册
- 【7历第一次月考】安徽省六安市霍邱县2024-2025学年部编版七年级上学期10月月考历史试卷
- 2025年西学中培训结业考试卷(有答案)
- 幼儿园教师资格准入制度
- 男衬衫领的缝制工艺
- 拆除工程吊装方案范本(3篇)
- 税务稽查跟踪管理办法
- 2025校园师生矛盾纠纷排查化解工作机制方案
- 学校教室卫生检查标准及执行细则
评论
0/150
提交评论