已阅读5页,还剩49页未读, 继续免费阅读
(计算机应用技术专业论文)数字音像内容管理系统的测试例自动生成技术研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
内蒙古大学硕士学位论文 数字音像内容管理系统的测试例自动生成技术研究 摘要 数字音像内容集成管理平台( n n m 管理系统) 是基于c s 模式的、在内容 运营商系统中实现对音像内容管理、查询和维护的平台。对于运营商来说,它 是对分布式资源网络中所拥有的音像资源、视听节目、广告策略进行集中管理 的重要单元。这种基于c s 模式的系统由于具有多层体系结构,拥有图形用户 界面、使用面向对象程序设计技术、数据分布存储、并发控制以及平台异构等 特征,使得使用传统的手动方式为其生成一致性测试用例并进行测试有着极大 的困难,同时使用手动方式产生的测试用例带有一定的盲目性,难以对软件系 统进行充分的测试,使得软件开发的成本居高不下,开发周期漫长。 本文为解决以上问题提出在对n n m 管理系统进行开发过程中使用u m l 语 言进行形式化建模,给出了将建立好的u m l 状态图转换为扩展的有限状态机 ( e f s m ) 的方法,并在扩展的有限状态机上使用控制流和数据流结合的测试例生 成方法来自动生成n n m 管理系统的一致性测试用例。最后使用生成的测试例对 n n m 管理系统进行一致性测试。该方法使测试人员从繁重的测试例编写工作中 解放出来,在相同差错覆盖的条件下可以有效的缩短测试例的长度,提高软件 测试开发的效率。 关键词:测试例生成,u m l ,有限状态机,数据流与控制流 v 数字音像内容管理系统的测试例自动生成技术研究 a u t 0 脚e dt e s tc a s eg e n e r a t i o nr e s e a r c ho nn n m m a n a g e r n ts y s t e m a b s t r a c t n e wn e t w o r km e d i am a n a g e m e n ts y s t e mi sac sm o d e lb a s e dp l a t f o r mw h i c hi s r e s p o n s i b l e f o rt h ev i d e oa n d o ra u d i om e d i ac o m e mm a n a g e m e n t ,q u e r ya n d m a i n t e n a n c ei nt h ec o n t e n to p e r a t o rs y s t e m f o rt h eo p e r a t o r s ,i ti sa ni m p o r t a n t c e n t e rt om a n a g em e d i ar e s o u r c e sw h i c hi sa c c o m m o d a t e db yt h ed i s t r i b u t e dr e s o u r c e n e t w o r k t h i sk i n do fc sm o d e lb a s e ds y s t e mh a st h ec h a r a c t e r so fm u l t il a y e r a r c h i t e c t u r e ,g r a p h i cu s e ri n t e r f a c e ,o ot e c h n o l o g y , d i s t r i b u t i o no fd a t as t o r a g e , c o n c u r r e n c yc o n t r o la n dh e t e r o g e n e o u sp l a t f o r me t c a n dt h a tm a k e sc o n f o r m a n c e t e s tc a s eg e n e r a t i o no ft h i ss y s t e mb ed i f f i c u l t t os o l v et h e s ep r o b l e m s ,w em o d e lt h en n m m a n a g e m e n ts y s t e mi nu m l s t a t e c h a r ti nt h ed e v e l o p i n gp e r i o d ,a n dr e s e a r c ham e t h o dt ot r a n s f o r mt h eu m ls t a t e c h a r ti n t oe x t e n d e df i n i t es t a t em a c h i n e ( e f s m ) t h e ng e n e r a t en n m m a n a g e m e n t s y s t e m sc o n f o r m a n c et e s tc a s eb yu s i n gc o n t r o lf l o wa n dd a t af l o wc o m b i n e d m e t h o do nt h ee f s ma n d a p p l yc o n f o r m a n c e t e s to nn n m m a n a g e m e n ts y s t e m t h i s m e t h o dc a ne n h a n c et h ee f f i c i e n c yo fs o f t w a r em o d e l i n g ,f r e et e s t i n gs t a f ff r o m h e a v yt e s tc a s ec o d i n g ,s h o r t e nt h et e s tc a s el e n g t hw i t ht h es a m ef a u l tc o v e r a g ea s m a n u a lt e s tc a s eg e n e r a t i o n f i n a l l yw es h o wt h et e s tr e p o r to fn n m m a n a g e m e n t s y s t e m k e y w o r d s :t e s tc a s eg e n e r a t i n g ,u m l ,f s m ,d a t af l o wa n dc o n t r o lf l o w v 1 内蒙古大学硕士学位论文 图表目录 图3 1n n m 管理系统层次结构图6 图3 2n n m 管理系统模块图7 图3 3 - 节目单升级包发布功能图8 图4 1 单一节目管理用例图1 3 图4 2 节目查询流程图1 5 图4 3 节目查询数据输入g u i 15 图4 4 节目查询数据输出g u i 1 6 图4 5 节目查询u m l 状态图1 6 图4 6 有限状态机示例图18 图4 7 节目查询的e f s m 一2 3 图4 8 有限状态机的错误示例2 5 图4 9 节目查询模块的基于u i o 序列的增广图2 9 图4 1 0 节目查询模块的流图2 9 图4 1 1 单一节目管理变量使用实例31 图5 1n n m 管理系统测试平台拓扑图3 4 图5 2n n m 管理系统测试输入输出图示3 5 表4 1f s m 的变迁矩阵1 8 表4 2 节目查询的变迁矩阵2 4 表4 3 节目添加的变量定义使用表3 3 i x 原创性声明 本人声明:所星交的学位论文是本人在导师的指导下进行的研究工作及取得的研究成 果。除本文已经注明引用的内容外,论文中不包含其他人已经发表或撰写过的研究成果,也 一: 不包含为获得凼苤直太堂及其他教育机构的学位或证书而使用过的材料。与我一同工作的同 志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 学位论文作者签名:2 l 齑堑 指导教师签名: 日 期:丝垡:翌 日期: 在学期间研究成果使用承诺书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:内蒙古大学有权将 学位论文的全部内容或部分保留并商国家有关机构、部门送交学位论文的复印件和磁盘,允 许编入有关数据库进行检索,也可以采用影印、缩印或其他复制手段保存、汇编学位论文。 为保护学院和导师的知识产权,作者在学期间取得的研究成果属于内蒙古大学。作者今后 使用涉及在学期间主要研究内容或研究成果,须征得内蒙古大学就读期间导师的同意;若用 于发表论文,版权单位必须署名为内蒙古大学方可投稿或公开发表。 学位论文作者签名:啤指导教师签名: 日期:地2 :匹趁日期: 内蒙古大学硕士学位论文 1 1 选题研究方向 1 1 1 课题来源及意义 第一章引言 测试是保证软件质量的重要手段,也是软件开发过程中的一个重要环节【1 】。正如任何生 产过程都离不开产品质量检验一样,测试工作也是软件开发过程中必不可少的环节。软件测 试工作做得怎样,直接决定着软件产品质量的好坏。据统计软件开发总成本中,用在测试上 的开销要达到总开销的4 0 - 6 0 f 2 1 。随着软件应用范围的扩大,软件复杂度的提高,以及软 件设计技术的不断发展,软件开发规模越来越大,处理的问题愈来愈复杂。为了尽量减少花 费在软件产品测试上的时间和精力,人们开始投入大量精力到软件测试方法与测试工具的研 究上。而软件测试领域中的一个关键的同时也是极为困难的问题就是如何设计和生成有效的 测试用例。 软件测试技术作为软件工程学科的一个分支,是软件开发过程中的一个重要环节,也是 保证软件质量和可靠性的关键,他的核心思想是:对于输入域的特定输入,观察软件的执行 结果,验证该结果与期望结果是否一致,然后作相应的纠错和调整。在测试过程中,测试用 例的选择决定测试的成本和有效性,是软件测试的关键和难点。目前,软件测试技术的发展 还不是很成熟,测试人员在选择测试用例时通常根据直觉和经验进行,给测试带来很大的盲 目性,最终导致的后果是使软件后期维护的费用在软件成本中高居不下。 数字音像管理系统是中国科学院计算技术研究所的网络新媒体项目的子项目。它是基于 c s 模式的、在内容运营商系统中实现对音像内容管理、查询和维护的平台。对于运营商来 说,它是分布式资源网络中所拥有的音像资源、视听节目、广告策略进行集中管理的重要单 元。这种基于c s 模式的系统由于具有多层体系结构,拥有图形用户界面、使用面向对象程 序设计技术、数据分布存储、并发控制以及平台异构等特征,使得为其生成一致性测试用例 并进行测试有着极大的困难。本课题将对适用于该系统特征的形式化建模方法进行研究,之 后在建立好模型的基础上进行针对该系统的测试例自动生成技术的研究与实现,对于提高同 类软件测试效率,节约软件开发成本有着重要意义。 数字音像内容管理系统的测试例自动生成技术研究 1 1 2 作者的研究内容及主要工作 本论文的主要目标是在n n m 管理系统开发的早期能够同步地生成高效、可执行的测试 用例,从而提高软件的开发效率和软件产品的质量,达到开发过程的统一和完整。本文主要 贡献如下: ( 1 ) 分析研究了目前国内外的软件一致性测试用例生成技术,介绍了软件测试发展的过 程以及软件测试的不同分类。 ( 2 ) 通过对n n m 管理系统的各模块需求进行分析,设计了n n m 管理系统的软件模型。 分析u m l 语言特性,并使用u m l 语言的状态图对该软件系统的动态行为进行描述。在u m l 状态图的基础上研究将其转换为扩展的有限状态机的方法。之后讨论了在扩展的有限状态机 上使用u i o 结合中国邮递员游历的方法对状态机进行遍历以得到控制流角度的优化测试序 列,并通过数据选择将控制流角度的一条测试路径扩展为多条测试路径。之后使用数据流分 析技术对生成的测试序列分析,排除了不可执行测试变迁,进一步缩短测试序列长度提高了 测试例的可执行性。 ( 3 ) 使用生成的测试序列对n n m 管理系统进行一致性测试并给出一致性测试报告。 1 2 论文结构 本文共分六章:第一章引言,介绍了本文的课题来源和课题研究方向。第二章软件测试 相关理论及发展,介绍了软件测试的发展过程以及软件测试的分类。第三章n n m 管理系统 设计框架,给出了n n m 管理系统总体描述,重点分析了n n m 管理系统的体系结构为测试 例生成做好准备。第四章n n m 管理系统的测试例生成,给出了n n m 管理系统的测试例生 成方法,提出了使用u m l 状态图进行系统动态行为描述,再将u m l 状态图转换为扩展的有 限状态机,之后在扩展的有限状态机上进行变迁的遍历再结合u i o 序列得到基于控制流的测 试序列组合。最后通过数据流分析排除不可执行的变迁,得到最终的测试序列。第五章通过 应用生成的测试序列对n n m 管理系统进行一致性测试,并给出测试结果。第六章对本文进 行总结及提出进一步的工作。 2 内蒙古大学硕士学位论文 2 1 软件测试的发展 第二章软件测试相关理论及发展 软件测试作为软件王程学科的一个重要分支,随着软件的发展而发展。自从2 0 世纪7 0 年代以来,国内外许多学者和组织在软件测试方面进行了大量的研究工作,形成许多经典的 软件测试技术和软件测试流程管理规范。 7 0 年代初,人们提出软件生存周期的概念,明确地将软件开发工作划分为需求分析、设 计、编码、测试和维护几个阶段,由于软件的错误不仅仅由编码引起,有可能是分析或设计 本身的问题,人们将软件测试的概念扩展到软件开发的各个阶段,这对于软件产品的质最保 证以及软件开发过程的组织具有重要的意义嘲。 1 9 7 2 年,在美国的北卡罗来纳大学召开了首次软件测试大会,会后,软件测试的研究进 入了一个重要的时期。j b g o o d o e u g h 和s l g e h r a r t 首次提出了软件测试理论,创建了软件测 试的理论基础,w e h o w d e n 修正了上述理论中的缺陷并加以补充和完善。这一时期,出现了 路径测试,域测试,数据流测试、错误驱动测试以及状态测试等技术,并开始研制相应的测 试辅助工具。 8 0 年代,软件质量问题成为软件工程领域所关注的热点。国际标准化组织制定了与软件 测试相关的国际标准,如i e e e a n s is t d 一8 9 2 规定了软件测试的文档标准,i e e b a n s i s t d 1 0 1 2 规定了软件测试确认与验证计划标准,i e e e a n s is t d 1 0 2 8 规定了软件测试复杂 和审计标准等, 9 0 年代以来,随着面向对象技术的广泛应用,原有的测试技术己无法适用于面向对象软 件,人们结合面向对象软件的特点,提出了一些新的测试方法。当前软件测试的研究工作主 要集中于测试用例的生成、测试自动化工具的开发、面向对象软件的测试以及分布式软件测 试和实时嵌入式软件测试等。 2 2 软件测试的分类 软件测试从不同的角度观察可以分为不同的种类,从是否需要执行被测软件可以分为静 态测试和动态测试,从测试是否针对系统的内部结构和具体实现算法的角度来看,可分为白 盒测试和黑盒测试【4 】【5 l 【6 】。 数字音像内容管理系统的测试例自动生成技术研究 2 2 1 传统的软件测试方法 传统的测试方法分为静态测试和动态测试两类。静态测试方法是指不运行被测软件来检 测软件错误的方法,主要采用检查、技术复审和代码静态分析等手段。动态测试方法是指通 过执行被测软件以发现软件错误的方法,整体上可分为白盒测试方法和黑盒测试方法两类。 白盒测试方法又包括逻辑覆盖、符号测试、路径分析【7 1 、程序插桩和程序变异等基于软件内 部结构的测试技术;黑盒测试方法则包括等价类划分、边值分析、因果图和正交设计等基于 软件功能的测试技术。 2 2 2 集成测试 对较大规模软件系统的集成测试是一项复杂的系统工程,通常采用递增式测试的做法。 即先独立测试组成系统的小单元和子系统,再逐步把它们装配到一起形成完整的系统进行测 试。对传统程序进行测试有多种集成策略可选择,如自上而下、自下而上、三明治等方法。 k u n g 等人提出了对象关系l 蛩( o b j e c t r e l a t i o ng r a p h ) 的测试模型,并以此为基础,给出了一种 产生类的集成测试顺序分配策略。文献8 】【9 】最初是以解决面向对象技术的程序回归测试为出发 点的,但给出的方法经过改造和扩展可以适用于c s 系统的集成测试。 2 2 3g u i 测试 g u i ( g r a p h i cu s e r i n t e r f a c e ) 县1 3 图形用户界面由于拥有大量的状态、基于交互和事件驱动的 输入以及复杂的图形输出界面,使得g u i 测试成为当前研究的难点。关于图形用户界面测试 系统的研究工作目前还较少,缺乏对图形用户界面系统、有效的测试方法。w h i t e 介绍的一 种将拉丁方应用到图形用户界面测试中的方法,有效地减少了测试用例的数量,但该方法假 定对象之间的交互是成对出现的,这就具有一定的局限性。s h e h a d y 和s i e w i o r e k 介绍了一种 基于有限状态机的g u i 测试方法,该方法通过减少测试状态达到简化测试的目的。m e m o n , p o l l a c k 和s o f i a 介绍了一种将人工智能中划分技术应用到g u i 测试用例生成的方法。然而, 这些测试方法在g u i 测试过程中的适用性和可操作性较差。 2 2 4 面向对象软件测试 相对g u i 测试而言,关于面向对象的测试研究工作开展得比较广泛一些,相关的文献较 多,也取得了一些有价值的研究成果。面向对象的测试包括类的测试、类间测试以及类的集 成测试【8 1 。对类中方法的交互测试以及类问交互测试进行了研究,给出了一个基于方法序列 的测试用例生成方法,该方法用于类中方法的交互测试,同时,给出了契约测试的概念和测 4 内蒙古大学硕士学位论文 试过程,用于类间交互测试。k u n g 等人提出了对象关系图( o b j e c tr e l a t i o ng r a p h ) 测试模型, 并在此基础上给出了一种类的集成测试顺序的分配算法。 2 4 本章小结 软件测试的开发从不同角度可以得出不同的分类。本章介绍了软件测试发展历程,给出 了不同视角中软件测试的分类以及软件测试过程中所用到的词汇的概念。 5 数字音像内容管理系统的测试例自动生成技术研究 3 1 总体描述 第三章n n m 管理系统设计框架 数字音像内容集成管理系统是在内容运营商系统中实现对象管理、查询和维护的平台。 其中,外包合作部分所涉及的功能,其层次结构如图3 1 所示。 图3 - 1n n m 管理系统层次结构图 f i g u r e3 - 1h i e r a t i c a la r c h i t e c t u r eg r a p ho f n n mm a n a g e m e n ts y s t e m 数字音像内容集成管理系统是对于运营商分布式资源网络中所拥有的音像资源、视听节 目、广告策略进行集中管理的中心,不同的管理员能够通过该管理中心平台,实现对各类对 象的制定、发布、存储和监管。根据系统划分的特点,集成管理系统外包功能部分包括3 个 主要部分,即节目发行管理、广告策略管理和系统配置管理。 节目发行:根据可用的视听资源( 资源可以从本地磁盘获取,也可从网络上的服务器获 取) ,制作节目后入库,并将资源发布到资源服务器上。管理员可以制定套餐节目。管理员可 对节目进行查询、修改、删除等管理。管理员可发布节目单升级包到资源服务器群中,供智 能终端下载来更新其节目单。 广告策略:根据可用的广告资源,( 资源可以从本地磁盘获取,也可从网络上的服务器获 取) ,制作广告后入库,并将其发布到资源服务器上。管理员可以对广告进行查询、修改、删 除等管理。管理员可制定终端广告清单,并形成文件,发布到资源服务器上,供终端下载。 管理员可制定节目播放时的广告策略,并形成文件,发布到资源服务器上,供终端下载。 配置管理:提供访问网络资源的标准化接口,为节目发行和广告策略服务。管理员可对 6 内蒙古大学硕士学位论文 资源服务器群进行管理,增加、删除服务器。管理员可发布终端软件升级包到资源服务器。 系统管理员可以进行用户管理,增加、删除、修改管理平台的管理员,并进行相应的权限设 置。管理员可以查询系统中的任务。 3 2 体系结构 根据上节介绍的数字音像内容集成管理系统的需要,我们对整个系统进行如图3 - 2 的功 能模块划分: 1 了日发行 f 争侉 符纠 园圈圆圈圈圆圈 j 。_ 告策略 | 圆圈圈网圆圈| 7 数罕晋像内容霄理系统的测试例臼动生成技术研冗 信息,制作为套餐节目条目,进行描述后,存入数据库中的节目条目表、套餐节目对照表。 同时,在节目更新日志表中,记录本次节目更新的操作类型和操作对象。节目删除,从数据 库中提取出当前已经存在的套餐节目信息。删除节目条目时,需要同时维护节目条目表、套 餐对照表、节目更新日志表中相关信息的一致性。节目修改,从数据库中提取出当前已经存 在的套餐节目信息,对需要调整的信息执行更新操作。更新套餐节目条目时,仅允许对节目 价格、节目基本描述信息进行修改,而不允许修改如发布方式、套餐节目条目与单一节目相 关性。如果需要更改套餐节目所含的单一节目内容,则应通过删除节目后,重新添加套餐节 目来实现。节目更新时需要同时维护节目条目表、节目更新日志表中相关信息的一致性。 节目综合查询: 节目综合查询模块主要根据节目管理员指定的条件,从数据库中提取出满足条件的节目 信息。查找条件包括:节目名称、节目类型、节目发布时间、节目有效期、发布方式、资源 包存储位置等。查询出的结果应该支持详情查看( 通过链接方式) 。综合查询应具有友好的操 作界面。 节目单升级包发布: 节目单发布模块在管理中心运行。节目单发布模块的功能是根据已经制定的节目条目信 息,生成节目单升级文件包,发布到资源服务器上,并在数据库中做相应的登记。处理流程 如图3 3 所示: 。镢f f 务 运f ? 南抟婵 l 謦0 l j i 。 。 乍成l币骨裂 援敬斡1 l 黎l 7| 引泽f 图3 3 节目单升级包发布功能图 f i g u r e3 - 3f u n c t i o ng r a p ho fp r o g r a ml i s tu p d a t ep a c kp u b l i s h i n g 管理中心获取待更新的节目条目信息。然后,对这些未发布的信息进行处理,提取出对 应的节目。构造节目单升级包,将构造好的节目单升级包发布到资源服务器上。节目单升级 包发布后:在数据库中维护相应的信息,保持一致。 内蒙古大学硕士学位论文 广告资源管理: 广告资源管理模块在管理中心运行,其功能是对已有的广告资源进行描述,将其上传到 资源服务器中,并支持对其进行多资源副本分布存储以及不同的删除操作。其广告添加、广 告修改、广告多副本分布存储以及广告删除的基本流程与单一节目相应的过程一样,请参看 相关部分的说明。由于本模块中的功能与单一节目管理中的各项基本相同,此处不予赘述。 所存在的差异是这些功能都通过对数据库中广告表的访问来实现,而不是节目表。 播放策略管理: 广告策略制定模块在管理中心运行,用来从备选的广告资源中选择指定将播放的广告清 单。根据资源表和广告清单,为各节目制定特殊的广告播放方式( 表现为策略条目) 或为系 统配置缺省的广告播放方式,形成广告策略,在数据库中存储。同时,将广告清单和广告策 略以文件的形式,发布到资源服务器上,供终端下载。 广告与策略综合查询:, 根据广告管理员指定的条件,从数据库中提取出满足条件的广告信息与节目广告播放策 略。查找条件包括:节目名称、广告名称、节目类型、广告发布时间、广告策略有效期、广 告本体存放位置等。查询出的结果应该支持详情查看( 通过链接方式) 。综合查询应具有友好 的操作界面。 网络资源提取: 在节目发行子系统和广告策略子系统中,为了获得资源( 资源包) ,不仅需要访问本地的 磁盘( 或虚拟磁盘) 来读取数据,也需要从网络上的原始资源库中来读取数据。考虑到原始 资源库采用的数据结构与本平台的数据结构差异较大,访问方式也各不尽相同,为了能够向 节目发行子系统和广告策略子系统提供一致的数据访问方法,所以需要对网络资源提取接口 进行规范和标准化,将针对不同原始资源库( 以下称外部资源库) 的具体访问过程封装在本 模块内实现。各种不同的下载或数据传输过程都应支持文件及文件夹的传输,并提供断点续 传功能。 资源服务器管理: , 本模块包含了系统管理员对资源服务器群的管理。管理员可以对资源服务器进行管理( 包 括资源服务器的增加,删除等) ,可以对目前工作的资源服务器状态进行查看( 如资源服务器 上的资源存储空间、剩余可用空间等) 。在对资源服务器进行删除操作时,需要注意,会涉及 到将其上的所有资源都进行“删除 ( 即无法在资源服务器群中使用) ,这时应该对资源在数 据库服务器中相应的存储记录作更新。特别需要注意的是,如果将被“删除的资源是节目 9 数字音像内容管理系统的测试例自动生成技术研究 或广告中仅有的一份副本,则应该提示管理员需要先做节目或广告的删除操作。 平台用户管理: 此模块充许系统管理员对管理中心的其他人进行角色分配工作,包括充许哪些用户进行 操作,对不同用户授予不同的操作权限,对操作人员的工作情况进行定期检查。系统管理员 拥有最高权限,可以添加删除数据库用户,对数据库用户进行授权和收回权限,但系统管理 员不应该参与节目、资源或广告的删除,只能查看相关的信息;节目管理员有对节目及其资 源的查看,增加,修改,删除的权限;广告管理员有对广告信息进行查看,修改,增加,删 除的权限:设备管理员有对终端信息进行登记和查看权限:服务器管理员有对资源服务器增 加、查看、删除的权限;任务管理员有查看系统发布任务的权限。 , 终端软件发布: 为了能够支持终端进行软件的自动更新,管理平台应该提供终端升级软件发布的功能。 通过调用文件文件夹上传函数,管理平台可以将终端软件升级包发布到资源服务器群中,同 时在系统的任务表中登记相应的终端待执行任务。终端在检索任务表时,发现有新的软件版 本,即可进行软件下载和升级。 设备登记: 对于系统新增加的设备,通过设备登记模块将其记录到数据库的设备表中。在登记设备 时,需要调用设备公钥获取函数,提取其公钥信息,将其存入到数据库中。对于终端设备, 还需要在终端用户表中同时登记相应用户的基本联系信息。登记的设备基本信息和用户基本 信息可以编辑修改。 系统任务查询: 管理员可以查看目前系统的任务列表,点击任务列表中的任务后,可以在详细信息中看 到该任务的详细信息。 3 3 本章小结 本章分析了n n m 管理系统的体系结构,给出了各功能模块的需求说明,以及程序运行 流程。根据软件工程中模块划分需要高独立性低耦合性的原则,我们将n n m 管理系统分为 1 3 个相对独立的功能模块:同时各模块完成的功能基本可以在一个界面内进行。这种模块划 分使系统建模以及开发和测试都相对容易了很多。 l o 内蒙古大学硕上学位论文 第四章n n m 管理系统的测试例生成方法 n n m 管理系统是基于c s 模式的在内容运营商系统中实现对象管理、查询和维护的平 台。此类基于c s 模式的系统和传统的软件系统不同。传统的软件系统是操作在一系列数据 上的过程或函数的集合,而该系统是由相互协作而又彼此之间相对独立的软件子系统构成, 各个子系统之间通过通信协议通信,子系统内部通过消息进行通信。从体系结构上来讲,n n m 管理系统由多层软件体系结构构成,如:客户端子系统、应用服务子系统和数据库服务子系 统等。从数据存储来讲,n n m 管理系统的数据存储使用大型的关系式数据库管理系统 o r a c l e ,c l i e n t 子系统通过数据库引擎访问数据库中的数据。从实现技术上讲,n n m 管理 系统的实现采用图形用户界面、面向对象技术。尽管传统的测试例生成技术仍然可以应用于 该系统局部测试之中,但远远不能满足整个系统测试的要求。因此,本文将传统的基于有限 状态机的测试例生成技术与u m l 语言建模技术结合使得对整个软件系统进行测试例的生成 成为可能。同时,在测试例生成过程中将u i o 方法与中国邮递员方法结合,使生成的测试序 列长度在相同覆盖准则的情况下小于传统测试例生成方法。 4 1n n m 管理系统的形式化建模 4 1 1 基于u m l 的软件建模方法 软件测试过程中测试例的自动生成需要有被测系统的形式化说明,也就是软件系统的形 式化模型。系统建模的好坏直接影响了后续生成测试例的好坏。n n m 管理系统具有c s 系统 的特征,如其基于网络平台,具有层次结构等。因此使用传统的有限状态机对其动态行为建 模常常会出现并发描述困难,状态爆炸等问题,使得建模变得非常困难。统一建模语言u m l 是一种表达能力丰富、功能强大的建模语言,它适用于许多应用领域,同时u m l 可以使用 在软件开发的各个阶段,使用u m l 来描述软件的需求分析、总体设计和详细设计,能够方 便行业专家、用户、软件系统分析和设计人员之间的沟通与合作,减少软件开发中出现的错 误【1 0 1 。相对于传统的软件建模方法,基于u m l 的软件建模方法的主要优势是【l l 】【1 2 1 【1 3 】【1 4 1 : 1 、描述系统需求准确 准确、透彻地理解系统需求是软件开发的首要任务。但是要做到这一点很不容易,因为 软件开发人员对业务领域的理解深度有限,而参与系统分析的人员又往往对软件开发的一些 要求和方法不熟悉,难以恰当地归纳和提供软件系统分析所要求的领域知识。因此,要准确 数字音像内容管理系统的测试例自动生成技术研究 地理解、表达系统的需求,软件开发人员和参与系统分析人员的交流是关键。统一建模语言 ( u m l ) 规范定义了九种图形来从不同方面描述系统,分别是:用例图( u s ec a s ed i a g r a m ) ,对 象图( o b j e c td i a g r a m ) ,类图( c l a s sd i a g r a m ) ,状态图( s t a t ed i a g r a m ) ,序列图( s e q u e n c e d i a g r a m ) ,协作 虱( c o l l a b o r a t i o nd i a g r a m ) ,活动 ( a c t i v i t yd i a g r a m ) ,组件 ( c o m p o n e n t d i a g r a m ) ,配置图( d e p l o y m e n td i a g r a m ) 。这些图形从不同的侧面来描述系统的特性,为软件 开发人员和系统分析人员之间的交流提供了工具。 2 、处理系统需求的变化快速准确 软件系统更新速度快,这要求研发的周期要尽可能的短,同时在开发过程中要调整需求。 然而,传统的软件开发方法通常是不允许用户在开发过程中提出需求变化的,因为需求分析、 设计和编码、测试之间存在着鸿沟,它导致了两者之间的脱节。基于u m l 的软件开发方法, 不但可以通过图形化的模型来表现需求,同时也可以通过修改模型来改变需求。通过正向工 程( f o r w a r de n g i n e e r i n g ) 和逆向工程( r e v e r s ee n g i n e e r i n g ) 保持对象设计模型与程序代码的一致 性。在开发过程中就可以进行需求和设计的验证,这会降低开发与测试的风险和开支。 3 、模型复用率高 软件复用是提高软件开发效率、改善软件质量的重要途径。传统的开发方法开发中大多 是一段程序或模块的复用,软件复用的利用率和效果都不是很好,这无疑会大大降低开发的 效率。基于u m l 的开发方法的软件产品可以做到模型的复用,适应面更广。 4 、可维护性好 因为在传统的软件开发方法中。需求分析、设计和编码、测试之间存在着鸿沟,那么一 旦需求有变化,就会使开发的软件系统产生较大的变化。即使是微小的修改也可能引入新的 错误。所以使用传统软件开发方法开发的软件系统的可维护性是比较差的,而基于u m l 的 软件开发方法,使协同开发更加容易。一个修改可以迅速的反馈给其他开发人员处,使小组 人员可以提前预见修改所导致的后果。减少新错误的引入。 基于u m l 的软件开发技术汲取了其它面向对象开发方法论和近三十年软件工程的经验 和成果,目前它已成为可视化和构建软件系统以及商业建模的标准语言。 u m l 的定义包括u m l 语义和u m l 表示法两个部分。u m l 语义通过元模型来严格地定 义。元模型为u m l 的所有元素在语法和语义上提供了简单、一致、通用的定义性说明,使 开发者在语义上取得了一致,消除了因表达方法不同所造成的差异【1 5 】。同时,u m l 语义还支 持对元模型的扩展定义。u m l 表示法定义了u m l 的表示符号,为建模者和建模支持工具的 开发者提供了标准的图形符号和正文语法,这些图形符号在语义上是u m l 元模型的实例。 1 2 内蒙古大学硕上学位论文 u m l 采用的是一种图形表示法,它是一种可视化的图形建模语言。u m l 运用元模型对语言 中的基本概念、术语和表示法给出了统一且比较严格的定义和说明,从而给出了这些概念的 准确含义。为了能从不同角度来考察系统,标准建模语言u m l 定义了下列9 种模型斟1 6 】【1 刀: ( 1 ) 用例图( u s ec a s ed i a g r a m ) 用例图用来描述系统与角色之间的交互关系。用例图表示 从用户角度对系统的要求,因此它描述的是系统的功能,如下图是n n m 管理系统的单一节 目管理的用例图。 图4 - 1 单一节目管理用例图 f i g u r e4 - 1u s ec a s ec h a r to fs i n g l ep r o g r a mm a n a g e m e n t ( 2 ) 类图( c l a s sd i a g r a m ) :类图是用类和它们之间的关系描述系统的一种图示,它从静态 的角度来描述系统,属于一种静态模型。 ( 3 ) 对象图( o b j e c td i a g r a m ) ,是类图的实例。因为对象的存在是有其生命周期的所以对 象图只能在系统的某一时间段存在。 ( 4 ) 序列图( s e q u e n c ed i a g r a m ) :序列图描述了对象之间的通过消息怎样交互,它一般用来 描述用例图中的功能流程。序列图是一种动态建模的方法。 ( 5 ) 协作图( e l a b o r a t ed i a g r a m ) :协作图描述的是对象之间在空间上的交互和链接。序列图 描述的是对象之间时间上的交互,而协作图描述的是空间意义上的交互。链接显示真正的对 象与对象之间是如何联系在一起的。 ( 6 ) 状态图( s t a t ec h a r td i a g r a m ) :状态图描述了对象、系统、子系统之间的状态变迁关系。 通过状态图,可以了解到对象的状态关系以及对象受到事件的激励,通过变迁关系,到达另 外的状态。它描述的是系统的动态功能,属于动态模型。 ( 7 ) 活动图( a c t i v i t yd i a g r a m ) :活动图表示系统中的功能活动关系。它显示动作及其结果。 ( 8 ) 组件图( c o m p o n e n td i a g r a m ) :组件图描述的是软件组件及其组件之间的关系,显示代 码的结构。组件是逻辑架构中定义的概念和功能在物理架构中的实现。 ( 9 ) 配置图( d e p l o y m e md i a g r a m ) ,定义系统中软硬件的物理拓扑结构以及在此结构上执 行的软件。它可以显示实际的计算机和设备之间的连接关系,也可显示连接的类型及部件之 数字音像内容管理系统的测试例自动生成技术研究 间的依赖性,还可以显示网络之间的通信路径。配置图常常用于理解分布式系统。 其中,u m l 状态图展现了一个状态机,它由状态、转换、事件和活动组成,是专注于系 统的动态视图。由于状态图强调对象行为的事件顺序,因而通过使用u m l 状态图可以对n n m , 管理系统的动态行为进行精确的描述。 4 1 2n n m 管理系统的u m l 状态图描述 叶。一 u m l 状态图来源于d a v i dh a r r e l l 的s t a t ec h a r t ,用于描述一个特定对象的所有可能状态 以及由于各种事件的发生而引起状态之间的变迁。变迁代表了各个状态之间的一种关系,他 指明了对象从一个状态到另外一个状态的通路。通常,变迁是由事件激发的,通过动作来完 成。大多数面向对象技术都使用状态图来表示单个对象在其生命周期中的行为。在面向对象 软件开发中,状态代表了对象或类的所有属性的当前值。同时,u m ls t a t ec h a r t s 是经典s t a t e c h a r t s 的( 面向对象) 变体。经典s t a t ec h a r t s 是对传统有限机( f s m ) 和可视化状态变迁图的扩充。 传统的有限状态机是平坦顺序的,无法描述复杂控制系统。u m ls t a t ec h a r t s 克服了f s m 的缺 点,引入层次、并发和广播通讯【1 8 1 以描述对象的所有可能状态以及由于各种事件的发生而引 起状态之间的转移。其中,每个对象被视为是一个孤立实体,它通过检测事件然后对事件进 行响应来与外界进行通讯。事件表达了对象可以检测到的变动,任何影响对象的事物都可以 被描述成事件。状态图主要是由状态和变迁组成的图。u m l 状态图用带圆边的方框表示状态, 状态之间的有向弧表示变迁,方框内包含的方框为该状态的子状态。在每个状态图中都有一 个顶层状态来包含其它所有的元素。本节将给出部分根据n n m 管理系统的需求分析得到的 使用u m l 状态图。其他的u m l 模型视图也可以用在系统开发过程中,但不在本文讨论范围 内,因此没有给出。 n n m 管理系统的节目查询模块要求实现简单查询和高级查询两种功能,其中简单查询要 求用户可以通过节目名称和人员姓名进行模糊查询。而高级查询除了可以使用节目名称和人 员姓名外还可以使用节目基本特征、时间特征等条件进行查询。同时,时间特征在输入时要 求添加e n a b l e 选项以控制时间的起始区间。简单查询和高级查询之间可以进行切换,但每 次查询调用时只能使用一种查询模式,也就是说简单查询和高级查询是互斥的两个过程。在 查询条件输入完毕后,通过点击查询按钮执行查询命令。查询后结果会返回给用户界面。如 果查询结果的记录数量过大,则分页显示,用户可以使用翻页按钮进行翻页。节目综合查询 的流程图如图4 2 : 1 4 图年2 节目查询流程图 f i g u r e4 - 2f l o wd i a g r a mo f p r o g r a mq u e r y 用户界面需求如图4 - 3 所示: 图4 3 节目查询数据输入g u i f i g u r e4 - 3d a t ai n p u tg u io fp r o g r a mq u e r y 数字音像内容管理系统的测试例自动生成技术研究 舀函 节目i dl 中文名称i 英文名称i 媒体娄型i 发布类型j 发布日期i 租碟l 买碟价格 图4 - 4 节目查询数据输出g u i f i g u r e4 - 4d a t ao u t p u tg u io fp r o g r a mq u e r y 根据上面所述需求,我们可以得到一个n n m 管理系统节目综合查询功能模块的状态图。 同时根据需求分析中关于数据部分的描述,我们还可以得到n n m 管理系统的其他u m l 视图, 以辅助测试例生成,但其他视图不在本文讨论范围。如下图显示了一个n n m 管理系统节目 综合查询模块的u m l 状态图。 图4 - 5 节目查询u m l 状态图 f i g u r e4 - 5u m l s t a t ec h a r to fp r o g r a mq u e r y 其中q u e r y 状态是一个o r 复合状态,它包含i n p u t 和i 迮c o e d s h o w 两个复合状 态。i n p u t 是一个o r 复合状态,它包含了s i m p l eq u e r yi n p u t 和a d v a n c e dq u e r yi n p u t 两个简 单状态。当用户进入查询界面时,状态机进入查询输入子状态,其中根据需求,默认的起始 子状态是简单输入界面,简单查询输入和高级查询输入之间可以进行状态的切换,切换变迁 为按钮的点击动作。当用户敲击键盘时相当于发生输入状态的i n p u t 变迁,根据当前状态的环 境不同会分别引发s i m p l eq u e r yi n p u t 和a d v a n c e dq u e r yi n p u t 状态的自环变迁。当用户点击查 询按钮时,根据当前输入环境的不同( 也就是变迁前置条件的不同) 会引发输入状态到查询 结果显示状态的变迁转换。在查询结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服务移交协议书范本
- 广西河池市巴马县参加广西2025届师范类毕业生就业双选会招聘教师97人公易考易错模拟试题(共500题)试卷后附参考答案
- 劳务施工安全协议书
- 公司经营利润协议书
- 出国留学进修协议书
- 广东云勇生态林养护中心事业单位招考易考易错模拟试题(共500题)试卷后附参考答案
- 区域性包销合同范本
- 危房安全管理协议书
- 博物馆研学合同范本
- 宁波市象山县人民政府金融工作办公室等2家事业单位招考易考易错模拟试题(共500题)试卷后附参考答案
- 学前儿童体育与健康教育2
- 精神科护相关法律法规
- 鸭健康状况生物指标分析
- 《PMP项目管理》课件
- 混凝土泵车维护与保养课件
- 无人机在公安领域的应用
- 餐饮个人简历模板5篇大全
- 高血压的防治健康宣教
- WB/T 1087-2018煤炭仓储设施设备配置及管理要求
- GB/T 2566-2010低煤阶煤的透光率测定方法
- GB/T 11032-2020交流无间隙金属氧化物避雷器
评论
0/150
提交评论