




已阅读5页,还剩63页未读, 继续免费阅读
(电磁场与微波技术专业论文)基于soa的自动化测试系统的设计及实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
北京邮电大学硕士研究生论文 基于s o a 的 自动化测试系统的设计及实现 摘要 本论文涉及的项目是i b mc s d ld b 2f o fz o sc sr e g r e s s i o n t e s tt e a m 内部开发的一个企业级项目的一部分。r e g r e s s i o nt e s tt e a m 面临着测试任务繁重、测试周期短、测试内容重复率高、环境搭建复 杂、运行平台复杂等问题,因此t e a m 要求开发一套可以根据不同的 测试内容可以定制业务、有统一的操作平台、可以透明的搭建环境和 执行用例的,能“一次配置,自动执行”的自动化测试框架。由于i b m 企业内部对项目评估的需求,本论文涉及的项目采用简化的s o a 框 架,实现自动化测试框架d e m o ,并尽最大可能的为后期的二次开发 提供可重用性和可扩展性。 通过u m l 进行前期设计可以使项目具有良好的迭代性、可扩展 性、可重用性。通过用例图、类图、状态图和流程图对需求和业务进 行直观的描述。要求在编码过程严格遵循u m l 设计,任何后期需求 或业务流程的修改,都必须先修改相关的u m l 设计,不能盲目的直 接修改代码。 本论文的项目在代码开发阶段,采用j 2 e e 开发平台、m v c 开发 模型、e c l i p s e + l o m b o z 作为开发环境;采用j s p + s e r v l e t + j t a + e j b + j c c 多种技术相结合的开发手段,其中j s p 实现了m v c 的v i e w e r , s e r v l e t 实现了m v c 的c o n t r o l l e r ,e j b 实现了m v c 的m o d e l e r ,j t a 完成事务逻辑控制,j c c 实现数据库驱动;跨w i n d o w s & l i n u x & z o s 平台,与i b m 现有的s t a f s t a x 和r a t i o n a lf u n c t i o nt e s t 交叉互操 作。其中s t a f s t a x 实现了项目中的逻辑功能扭转控制,r a t i o n a l f u n c t i o nt e s t 通过脚本支持了测试环境的自动化配置过程。该项目实 现了对回归测试的自动化环境配置、执行、分析和报告的全过程。 本论文的项目采用敏捷开发方式驱动的s o a 项目开发具有灵活 性、简单性等优点,适合人数较少或者小型的项目开发。灵活和简单 并不意味着没有任何的控制和管理,通过结合c m m 2 的可组织级模 北京邮电大学硕士研究生论文 型,可以完善对项目整体设计、开发过程中的文档和日志的管理,形 成一个真正的可扩展的、可维护的、可重用的优秀项目。 这种基于简化s o a 模型的项目,可以在要求的时间内运用s o a 中可重用的分布式组件,运用u m l 完成的开发设计模型和c m m 2 管理中产生的文档记录。 部分简化的开发方式在大规模项目的d e m o 阶段被广泛的使用, 通过简化部分技术实现并着重实现核心技术,可以迅速的搭建起设 计、开发和管理的初始模型,在后期的开发中可以最大限度的利用 d e m o 中的各项资源,形成螺旋型的开发模式,节约企业的开发成本, 减少企业的开发风险。 关键词s o aa u t o m a t i cp o r t a lj 2 e eu m l m v ca mc m m 北京邮电大学硕士研究生论文 a u t o m a t i ct e s ts y s t e mb a s e do ns o a a n a l y s i sa n dr e a l i z a t i o n t h ef f a m e w o r kt h a tt h ep a p e rt a l k sa b o u ti sp a r to ft h ee n t e r p r i s e p r o j e c tr e q u i r e db yi b m c s d ld b 2f o rz o sc sr e g r e s s i o nt e s tt e a m r e g r e s s i o n1 e s tt e a mi sf a c i n gk i n d so fd i f f i c u l t i e sa b o u th e a v yw o r k l o a d s h o r tt e s tp e r i o d ,h i g h l yr e p e a t e dt e s ts t e p sa n dc o m p l e xe n v i r o n m e n t s e t u p t or e l e a s et e s t e rf r o mt h eb o r i n gw o r ka b o v e ,t h e ya s kt ob u i l d a u t o m a t i ct e s tf r a m w o r kw i t hc o m n l o ni n t e r f a c et oe a c hr u n n i n g p l a t f o r m ,w h i c hc o u l db ec u s t o m i z e da c c o r d i n gt os e r v i c ea n dc o u l dr u n t e s tc a s e sa f t e rp a r a m e t e r ss p e c i f l e da tf i r s t a sf o rt h en e e do fi b mr i s k e v a l u a t i o n ,t h ep r o j e c tt h a tt h ep a p e rd e s c r i b e si sr e a l i z e db a s e do ns i m p l e s o am o d e l g e n e r a l l yi ti sad e m op r o i e c t w h i c hi sd e v e l o p e di nt h e w a yt om a k ef u r t h e rd e v e l o p m e n tm u c hm o r ef l e x i b l ea n de x t e n d a b l e b yu s i n gu m lu s e c a s ed i a g r a m s t a t e c h a r td i a g r a ma n d s e q u e n c ed i a g r a m ,t h ep r o j e c tg a i n sg o o d c o n t r o li nl a t e rc o d e r e a l i z a t i o n a n yc o d ed e v e l o p m e n tm u s tb ec o m p l i a n tw i t hu m ld i a g r a m a n da n ym o d i f i c a t i o no fc o d ei ss t r i c t l yd e m a n d e dt of o l l o wu m l d i a g r a ma sw e l l o n l ya f t e rr e l a t e du m lm o d i f i c a t i o n c a nc o d eb e c h a n g e da c c o r d i n gt ot h en e wu m ld i a g r a ms p e c i f i e d t h ep r o j e c tt h a tt h ep a p e ri st a l k i n ga b o u ti sd e v e l o p e di nj 2 e e f r a m e w o r k u s i n gm v cm o d da n de c l i r i s e & l o m b o za sd e v e l o p m e n t e n v i r o n m e n t m a n yt e c h n o l o g i e si sc o m b i n e di nt h ep r o j e c t ,i n c l u d i n g j s p , s e r v l e t ,j t a , e j b ,j c c ,a n ds oo n j s pr e a l i z e st h e e w e rl a y e r , s e r v l e tr e a l i z e st h ec o n t r o i 上,e r1 a y e r , e j br e a l i z e st h em o d e l e r l a y e r , j t a r e a l i z e st h et r a n s c a t i o nc o n t r 0 1 a n dj c cr e a l i z e st h ed a t a b a s e d t i v e r t h ep r o j e c ti n t e r a c t sw i t hs t a t s 1 = f 埙a n dr a t i o n a lf u n c t i o n 北京邮电大学硕士研究生论文 t e s tt h a ti b mc s d ld b 2f o rz o st e s tt e a mi sc u r r e n t l yu s i n g t o t a l l y , t h ep r o j e c tr e a l i z e st h er e q u i r e m e n tt h a tt h ea u t o m a t i o nt e s tf r a m e w o r k f u l l ya u t o m a t e sa l lr e g r e s s t i o nt e s ts t e p s ,f o l l o w i n gt h es e q u e n c eo f e n v i r o n m e n t s e t u p ,e x e c u t i o n ,a n a l y s i sa n dr e p o r t t h ep r o j e c tt h a tt h ep a p e ri st a l k i n ga b o u ti ss i m p l ea n df l e x i b l e , u s i n gt h es o a m o d e lw h i c hi sd r i v e nb ya m ( a g i l i t ym e t h o d o l o g y ) i n o r d e rt oc o n t r o lt h ep r o j e c tp r o c e s s ,c m m 2i su s e da b o v ea m i nt h i s w a y , t h ew h o l ep r o c e s so fp r o j e c ti sf o r m a l l ym a n a g e db yd o c u m e n ta n d s o m eb a s i cl o g s ,w h i c ha r en e c e s s a r i l yt om a k et h ep r o j e c tm u c he a s i e rt o b ei m p r o v e di nt h ef u t u r e t h ew a yo fd e v e l o p i n gp r o j e c tb a s e do ns i m p l es o am o d e li st h e b e s tw a yo fd e v e l o p i n gd e m oa u t o m a t i o nt e s tf r a m e w o r k i tm e e t st h e n e e do fi b mr i s ke v a l u a t i o n ,a n da tt h es a m et i m er e a l i z e st h et a s ki n t i m e i td e v e l o p sr e u s a b l ea n dd i s t r i b u t a b l es o a c o m p o n e n t ,l i k es e r l v e t a n de j b i td e s i g n st h er e q u i r e m e n ta n dr e a l i z a t i o nb yu m l i tm a n a g e s t h ep r o j e c tp r o c e s sb yc m m 2 a l lt h ep o i n t sa b o v ea r ed r i v i n gt h ep r o j e c t t ob es i m p l e r e t l s a b l ea n de x e c u t i o n k e yw o r d ss o aa u t o m a t i cp o r t a lj 2 髓i ,m v ca mc m m v 北京邮电大学硕士研究生论文 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: :酪。蔓赶r 期:卫兰 :三 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 本学位论文不属于保密范围,适用本授权书。 本人签名: 导师签名: 数豆 日期:玉q :; 支鳖监日期:垡i :三 北京邮电大学硕士研究生论文 1 1 课题背景及研究意义 第一章绪论 本课题涉及的项目是i b m c s d l d b 2 f o r z o s c s r e g r e s s i o n t e s t t e a m 内部 开发的一个企业级项目的一部分。r e g r e s s i o nt e s tt e a m 面临着测试任务繁重、测 试周期短、测试内容重复率高、环境搭建复杂、运行平台复杂等问题,因此 r e g r e s s i o nt e s tt e a m 要求开发一套可以根据不同的测试内容可以定制业务、有统 一的操作平台、可以透明的搭建环境和执行用例的,能“一次配置,自动执行” 的自动化测试框架。由于i b m 企业内部对项目评估的需求,本论文涉及的项目 采用简化的s o a 框架,实现自动化测试框架d e m o ,并尽最大可能的为后期的 二次开发提供可重用性和可扩展性。 一个优秀的企业软件需要良好的流程管理和版本控制,区分与无组织状态的 小作坊软件开发。通过敏捷开发方式驱动的s o a 项目开发具有灵活性、简单性 等优点,适合人数较少或者小型的项目开发。灵活和简单并不意味着没有任何的 控制和管理,通过结合c m m 2 的可组织级模型,可以完善对项目整体设计、开 发过程中的文档和日志的管理,形成一个真正的可扩展的、可维护的、可重用的 优秀项目。 1 2s o a 发展现状 s o a ( s e r v i c eo r i e n t e da r c h i t e c t u r e ) 是一种架构模型,它可以根据需求通过 网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是s o a 的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖 性。 1 1 1s o a 的理解 s o a 的关键是“服务”的概念,s o a 的几个关键特性:一种粗粒度、松耦合 服务架构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和 通讯模型。 s o a 并不是新生事物。大型1 1 r 组织成功构建和部署s o a 应用已有多年的 历史,这要比现有的x m l 和w e b 服务长很多。i b mc i c s 和b e a t u x e d o 就 是过去被用于构建s o a 应用的两种技术范例。 北京邮电大学硕士研究生论文 s o a 并不是一种现成的技术,而是一种架构和组织r r 基础结构及业务功能 的方法。s o a 是一种在计算环境中设计、开发、部署和管理离散逻辑单元( 服 务) 的模型。这一定义阐明了s o a 的范围。 s o a 要求开发人员将应用设计为服务的集合。s o a 要求开发人员跳出应用 本身进行思考,考虑现有服务的重用,或思索他们的服务如何能够被其他项目重 用。“单独的”、“独立的”、“封装完善的”服务所具有的一个关键的好处是,可以 采用多种不同方法将它们组合成较大型的服务,由此来实现重用。 但是,s o a 并不仅仅是一种开发方法,它还具有管理上的优点。例如,现 在管理员可直接管理开发人员所构建的相同服务,这远胜于以往管理单个应用的 方式。通过分析服务间的交互,s o a 可以帮助企业了解何时以及为什么业务逻 辑被切实执行了,这使管理员或分析师能够有针对性的优化业务流程。 1 1 2s o a 的主流开发平台 尽管j 2 e e 和n e t 平台是开发s o a 应用程序常用的平台,但s o a 不仅限 于此。像j 2 e e 这类平台,不仅为开发者自然而然地参与到s o a 中来提供了一 个平台,还通过他们内在的特性,将可扩展性,可靠性,可用性以及性能引入了 s o a 世界。新的规范,例如j a x b ( j a v aa p if o rx m lb i n d i n g ) ,用于将x m l 文档定位到j a v a 类;j a x r ( j a v a a p if o rx m l r e g i s t r y ) 用来规范对u d d i 注册 表( r e g i s t r y ) 的操作;x m l - r p c ( j a v a a p if o rx m l - b a s e dr e m o t ep r o c e d u r ec 枷) 在j 2 e e l 4 中用来调用远程服务,这使得开发和部署可移植于标准j 2 e e 容器的 w e b 服务变得容易,与此同时,实现了跨平台( 如n l 玎) 的服务互用。 1 3 课题来源及技术应用 1 1 3 课题来源 本课题是i b m c s d l d b 2 f o r z o s c s r e g r e s s i o n t e s t t e a m 内部开发的一个 企业级项目的一部分。这个项目通过创建p r o j e c t d e m o 的方式实现回归测试的自 动化配置和分析,曾获得m ms v l 的高度评价。该项目获得m m 全球举办的 s w e f f 的优秀奖,其中部分设计思想已经在m 内部申请专利。本论文涉及的 内容主要由我来完成。 1 1 4 技术应用 典型的s o a 通过消息进行通信,该消息通常使用x m l s c h e m a 来定义( 也 叫做x s d ,x m ls c h e m ad e f m i t i o n ) 。在一个系统内部,s o a 服务通过一个扮 演目录列表( d k e c t o r yl i s t m g ) 角色的登记处( r e g i s t r y ) 来进行维护;应用程 北京邮电大学硕上研究生论文 序在登记处( r e g i s t r y ) 寻找并调用某项服务。统一描述,定义和集成( u d d i , u n i v e r s a ld e s c r i p t i o n ,d e f i n i t i o n ,a n di n t e g r a t i o n ) 是服务登记的标准。 在本课题中,因为项目时间进度和项目规模的要求,采用了简化的s o a 设 计框架:通过j s p 实现v i e w e r 部分;采用s e r v l e t 实现c o n t r o l l e r 部分,实现对 逻辑扭转的控制功能;通过e j b 实现m o d e l 部分,实现对数据的持久化管理。 在后期的二次开发或升级到完整的s o a 体系结构中,可以完全重用e j b 数 据持久化部分,可以完全重用s e r v l e t 的扭转逻辑的控制部分,可以完全重用 v i e w e r 的数据组织结构和u m l 建模的部分设计,需要改动的是实现v i e w e r 的方 式。可以通过x m l 来实现文本传递,通过s o a p 协议来进行通信的控制,通过 u d d i 进行服务的登记,代替目前j s p 所采用的通过h t h 协议的二进制参数传 递方式。 这种部分简化的开发方式在大规模项目的d e m o 阶段被广泛的使用,通过简 化部分技术实现并着重实现核心技术,可以迅速的搭建起设计、开发和管理的初 始模型,在后期的开发中可以最大限度的利用d e m o 中的各项资源,形成螺旋型 的开发模式,节约企业的开发成本,减少企业的开发风险。 本课题的项目涉及从需求分析、模型设计、开发,流程控制的全过程,涉及 的技术非常广泛。采用了模型化设计、流程管理、版本控制等概念,约束自动化 测试s o a 系统的a m 开发,并形成完成的文档纪录整个开发流程,为后期的更 新和扩展打下了良好的基础。主要采用如下的相关技术和开发工具来实现: 使用e c l i p s e 作为开发环境,采用j 2 e e 作为s o a 开发平台,应用j 2 e e 中的相关开发技术,包括j s p s e r v l e t x m l f j b 等,结合i b md b 2 j c c ( j a v ac o m m o nc o n n e c t i o n ) q b 的j d b c 或s q l 实现业务平台的开发 及数据库的交互操作; 通过结合使用m m 项目组中的已有开发工具和开发语言 s t a f s t a x r a t i o n a lf u n c t i o nt e s t p y t h o n s h e l l 等实现整体项目中的自动 配嚣和整体的逻辑控制。 通过m d a ( m o d u l ed e r i v e da r c h i t e c t u r e ) q b 建议的对待创建的系统提供形 式化的u m l ( u n i f i e dm o d u l el a n g u a g e ) 模型对系统中全部的组件及流程 进行模型化管理。因项目周期时问的限制,只采用了用例图、类图和序 列图。 通过敏捷开发方式( a g i l e n tm e t h o d o l o g y ) 和c m m 2 标准对项目开发流程、 周期及项目中的报告进行宏观控制和纪录。 北京邮电大学硕士研究生论文 第二章自动化测试系统体系框架 自动化测试框架是一个整体的回归测试自动化的解决方案。通过提供统一的 简单接口和整体的访问模块,自动的实现i b m c s d l d b 2 f o r z o s c s r e g r e s s i o n t e s t 中的日常测试工作。 本框架主要解决如下的问题的自动化: 测试环境的搭建; 测试用例的执行; 测试用例的r e r u n : d e f e c t 分析; 分布式、异步式系统的整合; 有限e c 资源的管理; 测试结果的管理。 整个框架可以被划分成四个大的组成部分,如图2 1 所示: 图2 - 1自动化测试软件框架图 1 p o r t a l 框架: 通过统一的用户业务平台接口,提供统一的友好的人机界面。采集执行测试 的流程中所需全部参数,实现“一次输入,直接运行”。测试流程:a p p l y a p a 卜一口l 广砌i j n o b i l l d 门l o a d e x e c u t i o n _ - r e 加n _ a n a l y s i 叫l e c o - 扣- r 印o r t 。 北京邮电大学硕士研究生论文 2 s 1 a f s t a x 框架: s 1 州s t a x 框架是毋mc s d ld b 2 测试t e a m 中使用的通用框架,通过 p e e r - t o - p e e r 协议,实现对分布的组件进行控制,实现不同测试步骤的扭转。所 有与s t a f s t a x 进行通信的组件,都必须提供一个按照p y t h o n 语法描述的配置 文件,提供s t a f s t a x 框架的入口参数,s 1 a f s t a x 控制后,会通过配置文件 的形式返回输出参数。 3 自动化分析框架: 自动化分析框架是本项目中获得i b m 内部专利的一个设计框架。通过对执 行结果的统一化、标准化的分析,自动分析执行结果中的d e f e c t 是否冗余,并记 录以便下次的比较分析。 4 自动化配置框架: 自动化配置框架采用m m 提供的r a t i o n a l f u n c t i o n t e s t 工具及专门针对i b m z 主机的插件,记录回归测试在虚拟机( v m ) 的运行单元( e c ) 上执行的过程。 在测试环境配置过程中,自动回放。 2 1p o r t a l 设计框架 2 1 1 功能逻辑概述 p o r t a l 采用统一通用的界面,对用户提供了开放的管理功能。包括个人信息 管理、资源管理、测试用例管理等。 1 个人信息管理: 登录操作员:与数据库中保存的纪录进行对比,判断是否可以正常登录; 注销操作员:注销当前的操作员。 增加操作员:增加新的操作员,此功能仅限管理员权限的用户; 更新操作员:修改操作员的信息,包括操作员的姓名和目前状态等信息; 删除操作员:删除指定的操作员信息,此功能仅限管理员权限的用户: 查询操作员:查询指定的操作员信息,包括操作员权限、姓名、i d 和目 前状态等信息。 2 获取测试初始化配置参数: i p l 配置:获取e c 运行环境初始化参数; t c p u n 配置:获取本次测试需要配置的j o b 参数; b 虹班o a d 配置:获取本次测试需要的数据库表及数据库表记录的参 数; 3 资源管理功能: 北京邮电大学碗士研究生论文 添加资源:在通用e c 资源库和数据库资源库中,添加可以使用的新资 源,此功能仅限管理员权限的用户; 更新资源:更新资源库中已有e c 资源的参数,包括口地址、e c 类型、 应用环境等,此功能仅限管理员权限的用户; 删除资源:删除资源库中无用或者不再使用的e c 资源,此功能仅限管 理员权限的用户; 查询资源:查询资源库中指定e c 的各项参数; 分配资源:在初始化配置前,分配资源库中可以使用的资源给用户选择, 当用户选择了某资源后,此资源自动设置为“被占用”的状态; 释放资源:在完成e x e c u t i o n 和r e r u n 的两个过程后,即完成了e c 所需 要参与的测试过程后,释放当前占用的资源,病设置此资源为“空闲” 状态; 4 b u c k e t 和测试用例管理: 添加b u c k e t :增加新的b u c k e t ,b u c k e t 中包括了相关的测试用例; 更新b u c k e t :修改b u c k e t 中所包括的测试用例的信息; 删除b u c k e t :删除某指定的b u c k e t 信息,包括其所有测试用例; 查询b u c k e t :查询指定的b u c k e t 信息,包括测试用例的名称、类型等; 添加测试用例:增加新的测试用例到指定的b u c k e t 下; 更新测试用例:修改测试用例的信息,包括测试用例名称、类型等; 删除测试用例:删除指定的测试用例; 查询测试用例:查询指定的测试用例信息,包括其所属的b u c k e t 、测试 用例名称、类型等信息 5 c y c l e 管理功能: 增加c y c l e :增加一个新的c y c l e ,一个c y c l e 是一个实际测试的全过程, 包括了从环境配置、测试用例执行、分析、报告; 更新c y c l e :休息c y c l e 的信息,包括执行人、c y c l e 类型等; 删除c y c l e :删除整个c y c l e 信息,包括全部此c y c l e 的记录,此功能只 向管理员权限的用户开放; 查询c y c l e :查询指定c y c l e 的信息; 关闭c y c l e :在一个c y c l e 结束后,执行关闭c y c l e 功能,标识本次测试 已经全部结束。当且尽当c y c l e 处于关闭状态,才允许其产生测试报告。 6 r e r a n 的策略管理功能: 增加策略:增加新的策略。r e r u n 是在重新运行本次没有成功的测试用 例,避免因为环境或其他原因引起的误判。一个测试用例在单独运行的 北京邮电大学硕士研究生论文 时候可能需要前驱条件或者后置条件。 更新策略:修改指定策略的信息,包括需要执行的前驱和后置条件等; 删除策略:删除指定的策略信息; 查询策略:查询指定策略的信息,包括需要执行的前驱和后置条件等; 7 d e f e c t 信息管理: 增加d e f e c t :在测试用例运行结束后,向d e f e c t 管理数据库添加新的 d e f e c t 记录; 更新d e f e c t :当d e f e c t 被解决或者提供了相关的解决信息,设置此d e f e c t 的状态; 删除d e f e c t :删除指定的d e f e c t 。此功能只向管理员权限的用户开放; 查询d e f e c t :查询指定d e f e c t 的信息,包括d e f e c t 的类型、所属c y c l e 、 所属b u c k e t 、状态等信息 8 测试结果管理: 增加解决方案:为新的d e f e c t 添加解决方案; 通过b u c k e t 查询测试结果:查询指定的b u c k e t 所有或者部分测试结果 信息; 通过测试用例查询测试结果:查询指定的测试用例所有的测试结果 9 统计管理: 显示d e f e c t 统计信息:通过饼图或者柱状图显示d e f e c t 的统计信息; 显示测试统计信息:显示正在运行中的c y c l e 的统计信息,包括已经运 行的测试用例、失败的测试用例等信息 2 1 2 逻辑接口设计 p o r t a l 对外提供了通用的用户接口,对内提供了与数据库的交互接口和 与s t a f s t a x 控制框架的配置文件接口。这些接口覆盖了全部p o r t a l 部分的逻 辑功能: 1 外部接口: 个人信息接口:提供对个人信息的管理和维护; 测试环境初始化接口:获取全部环境初始化的参数; 资源显示接口:显示运行资源的信息 b u c k e t 和测试用例显示接口:显示b u c k e t 信息和测试用例信息接口; c y c l e 显示接口:显示c y c l e 信息接口; 策略显示接口:显示策略的信息接口; d e f e c t 信息显示接口:显示d e f e c t 信息的接口; 测试结果显示接口:显示测试结果信息的接口; 北京邮电大学硕士研究生论文 统计接口:显示统计数据和结果信息的接口。 内部数据库接口: 个人信息管理接口:与数据库交互,提供个人信息的增加、修改、删除、 查询等功能,并通过统一的外部接口显示给用户; 资源管理接口:与数据库交互,提供资源信息的增加、修改、删除、查 询等功能,并通过统一的外部接口显示给用户; b u c k e t 和测试用例显示接口:与数据库交互,提供b u c k e t 和测试用例信 息的增加、修改、删除、查询等功能,并通过统一的外部接口显示给用 户: c y c l e 管理接口:与数据库交互,提供c y c l e 信息的增加、修改、删除、 查询等功能,并通过统一的外都接口显示给用户; 策略管理接口:与数据库交互,提供策略信息的增加、修改、删除、查 询等功能,并通过统一的外部接口显示给用户; d e f e c t 信息管理接口:与数据库交互,提供d e f e c t 管理信息的增加、修 改、删除、查询等功能,并通过统一的外部接口显示给用户; 测试用例结果管理接口:与数据库交互,提供测试用例结果信息的增加、 修改、删除、查询等功能,并通过统一的外部接口显示给用户; 统计管理接口:与数据库交互,提供统计信息的增加、修改、删除、查 询等功能,并通过统一的外部接口显示给用户。 2 2 1 s 1 a f s l r a x 的应用 s t a f 是基于可重用组件思想设计的一个开放源代码、支持多平台、多语言 的软件自动测试框架。s t a x 是一个执行引擎,帮助进行全面的自动化测试用例 的分发、执行和结果分析。 s t a f 在每个系统上运行一个守护进程一- - s t a f p r o c ,采用p e c r o _ p c 盯 协议,在运行s t a f 的系统中,并没有客户机和服务器的概念。 s t a f 提供了一系列的服务。s t a f 服务都是可重用( r e u s a b l e ) 的组件。每 个服务提供了一系列特定的功能,并定义了接收的请求信息( r e q u e s t ) 。通过发 送s t a f 服务请求来调用s t a f 服务,一个s t a f 的服务请求是一个描述操作内 容的字符串。s t a f 的守护进程( s t a f p r o c ) 会处理发送和接收的请求 s t a f 的服务主要包括: 进程唤醒( p r o c e s si n v o c a t i o n ) : 乞 北京邮电大学硕士研究生论文 文件传输( f i l ct r a n s f e r ) ; 文件压缩和解压缩( f i l ep a c k a g i n ga n du n p a c k a g i n g ) : 同步( s y n c h r o n i z a t i o n ) : 动态数据和配置管理( d y n a m i cd a t aa n dc o n f i g u r a t i o nm a n a g e m e n t ) ; 计划管理( s c h e d u l em a n a g e m e n t ) ; 通知服务( e m a i ln o t i f i c a t i o n ) : 工作流服务( w o r k f l o ws e r v i c e ) 。 s t a x 是一个工作流管理器,同时也是s t a f 的一个外部服务。s t a f 包括 如下几个部分: 一个专门为自动化设计的编程开发语言; 使用这种编程语言开发的程序称为任务( j o b ) ; 一个运行引擎,或者说是语言解释器,用来管理运行和运行时期的任务 动作; 一个g u i 应用程序,被成为s t a x 监视器( m o n i t o r ) ,提供了动态的执 行时期任务的显示。 s t a x 应用如下的技术进行工作流管理: s t a f :s t a f 提供了s t a x 的底层支持。通过s t a x ,用户可以调用s t a f 的全部功能和服务; x m l :s t a x 的编程语言是基于x m l 的。提供了任务内建的组织结构 及一系列用来组织任务的工具; p y t h o n :s t a x 的编程语言通过p y t h o n 来支持更丰富和更简单的编程模 块,并能集成p y t h o n 现有的扩展l i b r a r i e s : j a v a :s t a x 也可以通过j a v a 来扩展其服务,并重用j a v a 现有的类库。 2 2 2s t a f s t a x 控制逻辑分析 s t a f s t a x 在整个自动化测试系统中起核心控制作用,控制p o r t a l 、自 动化配置运行环境、执行、r e r u n 、自动化分析和统计报告这些流程的扭转逻辑。 如图2 2 所示: 北京邮电大学硕士研究生论文 。# “m * m # 懒 p o r t a i o 图2 - 2 s 1 = f ,s 1 : x 核心控制图 按照控制地流程,s t a f s t a x 地控制分为如下几个最主要地过程: 1 接收p o r t a l 传递的配置文件,获取系统运行的全部参数: 这个配置文件采用p y t h o n 的语法,s t a f s t a x 分析配置文件中参数的完整 性和正确性,并通知p o r t a l 部分用户进行等待。如有任何异常,结束本次应用, 并反馈给p o r t a l 本次运行的异常原因,并用e m a i l 的形式通知本次操作的用户。 下面是从p o r t a l 中传递过来的配置文件的片断,s t a f s t a x 通过p y t h o n 语 法从这个配置文件中解析中c l i e n tm a c h i n e 、b i n dm a c h i n e 、t e s t t y p e 、e cu s e r n a m e 、e cu s e rp a s s w o r d 信息,并在自己的控制逻辑( ) ( 1 讧l ) 文件中添加相关 的控制逻辑。 舞r f r c l i e n t c f i e n t m a c h i n e = x x x 饥i b m c o r n 群b i n da n dl o a dc l i e n t b i n d m a c h i n e = 妞s v l i b m c o m # a p a r , t 2 z o s ,t 4 t e s t t y p e = t 2 z o s e c u s e r n a m e = a d m i n e c p a s s w o r d = a d m i n 北京邮电大学硕士研究生论文 2 控制运行环境初始化:运行环境的初始化包括4 个部分,a p p l y a p a r ( 可 选) ,i p l ,t c p u n ,b i n d l o a d 。 s t a f s t a x 控制应用进行a p p l ya p a r ( 可选) 操作。如果成功控制系统 进入下一步i p l 的操作;如果失败结束本次应用,并反馈给p o r t a l 及e m a i l 通知本次操作的用户。 s t a f s t a x 控制应用进行i p l 操作。如果成功控制系统进入下一步 t c p u n 的操作;如果失败结束本次应用,并反馈给p o r t a l 及e m a i l 通知 本次操作的用户。 s t a f s t a x 控制应用进行t c p u n 操作。如果成功控制系统进入下一步 b i n d l o a d 操作;如果失败结束本次应用,并反馈给p o r t a l 及e m a i l 通知本次操作的用户。 s t a f s t a x 控制应用进行b i n d ,io a d 操作。如果成功控制系统结束环 境配置操作,进入下一步测试执行过程;如果失败结束本次应用,并反 馈给p o r t a l 及e m a i l 通知本次操作的用户。 3 执行:当运行环境初始化配置正确返回时,s t a f s t a x 通过分析p o r t a l 传过来的配置文件,获取需要运行的测试用例的类型( j d b co rs q l j ) 、 b u c k e t 名称和顺序,控制应用进入执行的过程,完成测试用例在e c 上 的自动化执行,并通过s t a x 自带的g u i 晃面进行控制和分析。 4 r e r a n :当测试用例执行完毕后,因为考虑可能因为环境的因素存在误判, 因此s t a f s t a x 控制应用把出现d e f c c t 的测试用例按照相应的策略重 新执行一遍,可以筛选出非冗余的d e f e c t 。 5 分析:当r e r u n 执行完毕后,应用自动产生出现d e f e c t 的所有测试用列, 自动化分析过程是与数据库中存在的d e f e c t 信息对比,忽略数据库中已 经存在的d e f c c t ,只报告新的d e f e c t 。 6 报告:分析结束后,s t a f s t a x 控制应用产生报告,反馈给p o r t a l 并 e m a i l 给用户。 2 3 运行环境初始化配置框架 2 3 1r f t 介绍 r a t i o n a lf u n c t i o nt e s t e r 是一个基于w i n d o w s 和l i n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省德州市武城县实验中学、武城县第二中学2024-2025学年八年级上学期第一次联考历史试卷(含答案)
- 湖南省邵阳市2025-2026学年高一上学期9月联考语文试题(含答案)
- 部门级安全培训计划课件
- 《工程施工土建监理建筑监理资料》某市国家税务局办公楼装饰装修工程施工组织设计
- 部门安全教育培训课件
- 部门主任入场安全培训课件
- 避免意外伤害的课件
- 碳化土壤生态功能退化-洞察及研究
- 基于多模态数据融合的出血时间预测系统可靠性验证方法
- 基于光谱分析的复合型制冷剂混合气体识别技术瓶颈突破
- 患者身份识别管理标准WST840-2025学习解读课件
- 高等传热学全册课件
- 人教版四年级数学上册全册电子教案
- 新《高等教育学》考试复习题库450题(含各题型)
- 三字经全文带拼音注释打印版
- 函数的概念学习任务单-高一上学期数学人教A版(2019)必修第一册
- 产品技术规格书模板
- 《绿色建筑评价标准》解读
- 小学数学 北师大版 六年级上册 第二单元第1课时《分数混合运算(一)》 课件
- 《冷冲压工艺与模具设计》完整版ppt课件全套教程
- 生姜检验报告单
评论
0/150
提交评论