基于模型的软件测试技术的若干研究

来源 :南京大学 | 被引量 : 0次 | 上传用户:limeng668
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
提高软件可靠性是软件开发的重要课题之一。软件可靠性手段包括分析、测试和验证等,其中测试的投入往往占系统开发总成本的很大比例,因此测试效率的提高可以有效缩减成本。但测试面临很多难题,比如软件测试自动化程度的提高、非功能属性的测试、并发软件的测试等。   软件生命周期的各个阶段都会涉及到不同的模型。软件模型提供了通用的交流平台,使得系统开发的不同角色可以进行信息交互。比如,需求模型是客户和系统分析人员的桥梁,设计模型是设计人员和开发人员的沟通工具。模型代表了设计者对软件系统的预期,可以成为测试的基准;同时,软件模型包含大量的功能和结构信息,为测试用例的生成提供依据。   本文回顾了面向对象建模技术和构件系统模型,对统一建模语言UML及其中的活动图、顺序图和状态图作了形式化分析,为后续的研究奠定了基础。针对基于模型的测试中存在的重要问题,开展了测试用例生成和测试结果自动分析等方面的研究,提出了基于UML动态模型的解决方案,包含以下几个方面的工作:   1.提出一个基于状态机的构件健壮性测试方法。基于形式化的构件语义定义了构件健壮性。在此基础上开发了构件健壮性测试框架,首先遍历状态机生成一组覆盖所有转换的路径,基于这些路径生成健壮性测试用例;生成的用例首先用带有有效输入的方法调用序列驱动被测构件,让它按照生成的路径发生状态转换,然后用无效输入和不当调用在构件的不同状态来测试其健壮性:通过区分测试中捕获异常的类别,自动报告健壮性错误。   实现了原型工具RoTesCo,选定一组开源软件组成测试平台;并实现了随机测试方法和基于状态的功能性测试方法,与RoTesCo在同一平台上进行测试,通过结果比较验证了本文提出方法的有效性。   2.提出一个基于活动图的Java并发程序的数据竞争检测方法。用扩展了数据访问标记的UML活动图描述程序的行为模型;基于活动图插装被测试程序以获取程序执行轨迹;用基于路径分析生成的测试用例来执行插装后的程序;对轨迹反向工程可以得到数据访问事件列表,通过检验不同线程进入和退出关键区的时间是否重合来发现数据竞争。   实现了原型工具Toc4j,并进行了实例分析,验证了提出方法的有效性。   3.提出一个基于UML动态模型的运行时验证方法。分析了UML动态模型中顺序图、活动图和状态机的属性;利用这些动态模型进行测试用例的生成和程序插装,运行插装后的程序获取执行轨迹;再以模型为规约进行一致性检验,验证程序实现是否与模型一致。其中顺序图用于描述对象之间的消息发送和接受;活动图用于描述程序的控制流程和共享数据的访问;状态机用于描述被测软件接受消息的时序。   设计了基于动态模型的运行时验证框架,并对这几种模型分别进行了算法实现和实例分析。
其他文献
随着Web服务技术的发展,越来越多的Web服务提供相同的服务功能,如何从众多相同功能的Web服务中查找出满足需求的服务已成为研究的热点。然而,已有的基于关键字的Web服务发现
近年来,随着计算机和网络在生活以及工作中的广泛应用,高科技犯罪日益猖獗,不法分子会想方设法的掩盖其犯罪证据,如何通过计算机取证找到充分、可靠、具有法律效力的电子证据
连续反最近邻查询技术是空间数据库领域中的一个重要研究课题。连续反最近邻查询是指连续检索将查询点作为最近邻的所有对象。随着定位装置的广泛应用和定位服务的发展,道路
本文通过对组建集团医院的需求进行调研与分析,结合当今医院发展趋势及医疗行业信息化现状等相关背景,设计并实现了基于微软消息队列MSMQ (Microsoft Message Queue)的集团医
近年来,随着移动网络技术的迅猛发展,移动VoIP开始显露出强大的增长潜力。市场调研机构ON World公司预计到2011年全球移动VoIP用户将达到1亿人。通过移动VoIP,用户不仅能享受
随着互联网的飞速发展,越来越多的企业和用户连接到互联网中。人们在充分享受着互联网所带来的便捷与高效的同时,也不断受到各种计算机病毒感染和黑客恶意攻击的侵扰。网络安
伴随着科学技术的飞速发展,尤其是计算机技术等日新月异,各种数据也在逐渐增多。这大大促进了数据库技术的发展。海量数据的涌现使人们不借助工具就无法处理。如何从海量数据中
学位
长期以来,过程感知信息系统的研究主要是从过程建模和过程实施的技术角度出发,而对其所表现出的过程价值性却关注甚少,这主要表现在:(1)传统的成本分析方法将PAIS系统与一般软件
以XML文档形式发布和查看数据库已经成为时下研究的热点。这种方法主要来自于XML的普及,利用XML提供的工具可以对封装信息实现可视化处理。本文研究了这种方法为模糊数据处理
无线传感器网络(Wireless Sensor Networks,WSNs)由随机分布的集成了传感器、数据处理单元和通信模块的微小节点通过自组织的方式构成。它借助于节点中内置的形式多样的传感