基于Java的逆向工程在软件测试中的应用

来源 :长春工业大学 | 被引量 : 0次 | 上传用户:fntshb
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
逆向工程指的是从可运行的程序系统出发,生成对应源程序的系统结构以及相关的设计逻辑等等。它具有重大现实意义和经济价值,可以将大量的遗产系统转化为易于演化的系统,从而充分有效地利用这些有用资产。虽然近年对软件逆向工程的研究已有不少,但是它仍然属于一个未充分发展的领域,并未形成统一的标准、方法和过程,因此很有必要进行深入研究。 UML已成为设计面向对象系统的一种标准。它使用面向对象的概念来分析、描述软件系统并构造系统模型。逆向工程的目标是在高层抽象层次上抽取程序的有关信息,逆向工程的过程是复杂的。逆向工程可以从源程序抽取出设计信息,但是,抽象的层次、文档的完整性、工具和分析人员一起工作的程度以及过程的方向性却是高度可变的。 目前,一些规模庞大、结构复杂的软件,给后一阶段的维护工作带来了很多困难。一般来说,维护工作非常关键,阅读并真正理解他人编写的程序是最大的难点。根据这种需求,针对面向对象语言Java,分析Java源代码,将其逆向生成对应的UML模型图。同时,还可以将其生成的模型图同软件开发中系统设计时的UML进行比较,以达到测试设计是否正确。与此同时,还可进一步利用逆向生成的UML设计测试用例,以满足在系统设计的需求阶段就可以进行测试,而不必等到编码开始时再进行测试。针对此项,又将进一步设计测试用例。 本文主要对逆向变换方法的核心问题——逆向变换规则与机制进行了研究,提出了Java语言向UML的映射规则,逆向表示及抽取机制,实现了UML模型图的逆向生成,并将所生成的状态图应用于测试用例的自动生成技术之中。研究了基于UML状态图说明的测试用例生成技术,由此深入研究了A.J.Offutt提出的基于状态说明测试用例生成算法,并对此算法进行了改进,实现了表达式分析,变量值确切标识的扩充。最后实现了测试用例的自动生成。通过这些研究,这对减轻维护工作量,加快产品更新具有重要的意义。
其他文献
随着计算机和通信技术的发展,网络已经成为全球信息基础设施的主要组成部分,但随之而来的是不断暴露的网络安全问题。对目前绝大多数只采用防火墙进行安全保护的内部网络来说,仍
随着网络技术的发展,Internet已逐渐成为现代社会不可缺少的部分。同时网络安全问题也日益突出,层出不穷的网络病毒和黑客攻击越来越成为人们关注的焦点。目前对入侵防范主要
软件复用是解决软件危机的一条切实可行的途径。为此,不仅要有可复用软件资源库(以下简称复用库),还要使复用者能高效地找到合适的可复用软件资源。目前存在许多复用库按不同的
虚拟服装建模在服装工业、影视及游戏、电子商务等诸多领域都有着广泛应用,一直是计算机图形学领域的研究热点和难点,直到现在快速、逼真的布料模拟的实现仍然是一个挑战。本文
随着信息技术、多媒体技术和互联网技术的快速发展,人们可以更加方便地获取一幅数字图像。然而,人们在享受数字图像带来快乐的同时,也被一些无法识别的伪造图像的肆意传播所困扰
随着图像等多媒体资源的日益丰富,基于关键字和描述文本的传统检索方式已不能再满足检索需求,有效地管理海量数据资源的需求变得日益迫切。基于内容的图像检索技术于是应运而生
博客(Blog)作为一股正在迅速崛起的新的网络变革力量,它的出现丰富和改变了网络的内涵,影响了人们的信息传递方式,在最近几年的时间里迅猛发展,对人们的影响也越来越大。而随
当前,Web已经成为人们获取信息的主要渠道之一。然而,用于表达Web页面信息的HTML语言存在着与生俱来的缺点。HTML的“标记”只是告诉浏览器如何显示所定义的信息,却不包含任何语
随着计算机技术和网络应用的迅猛发展,人们的日常生活与工作越来越趋于数字化和网络化。大量数据在网络上的传播、网络交易的日益风行,使传统的版权保护手段和数据安全技术面
随着媒体数字化技术和网络技术的发展,人们在日常生活中所接触到的数字视频越来越多。相应的,对数字视频进行分析和查找的需求也越来越迫切。因此,基于内容的视频处理和检索已成