论文部分内容阅读
软件测试在软件生存周期中占有十分重要的位置,是软件质量保证的重要手段。测试用例是测试工作的指导,是软件测试的准则,更是软件测试质量稳定的根本保障。
面向对象技术的广泛应用,使得有关面向对象测试的研究也越来越受到重视。统一建模语言(Unified Modeling Language, UML)是一种描述能力强大且涵义直观的可视化建模语言,它提供多种图元从不同角度和应用层次刻画系统特性及复杂的运行环境。UML状态图是传统状态机模型的可视化扩展,增加了许多抽象元素,是重要的动态建模工具。基于UML软件测试成为了软件工程的一个重要研究方向。本文对基于UML状态图的测试用例的生成方法进行了研究和探讨。
在类级测试方面,本文在现有测试用例生成方法的基础上,结合UML状态图,对类测试用例的自动生成进行了研究。由于含有层次和并发结构的UML状态图产生类的测试用例是比较困难的,给出了一种转换方法,将含有层次和并发结构的UML状态图转化成扩展有限状态机(Extended Finite State Machine, EFSM)。本文改进了一种基于UML状态图的测试框架:先利用现有的UML工具(如MATLAB等)画出UML状态图,并产生它的MDL格式的规格说明文件;然后从规格说明中动态地提取出状态图的信息,并依据这些信息将UML状态图转换成不含层次和并发结构的EFSM规格说明信息。最后,依据EFSM模型的规格说明信息,按照测试树生成测试用例的方法,产生系统的测试用例。
在集成测试方面,目前在集成测试模型的生成上还不完善,如果单独采用协作图作为集成用例的测试模型,不能详细描述对象的状态信息,而且在每次的交互过程中,无法表示可能发生改变的状态。针对这一现状,文中采用协作图和状态图共同来生成集成测试模型,依据协作图确定组合的对象。在组合状态机形式化定义的前提条件下,以状态图为依据将状态机中两个状态进行组合。本文主要针对生成的组合状态过于复杂化的问题,提出一种形式化方法,对组合状态进行了形式化处理,使简化后的状态可以直接用于集成测试用例的生成。
最后,给出了本文所改进的基于UML状态图的测试用例生成方法的UMLAGS系统设计及实现技术。这个系统从读取UML状态图的规格说明MDL文件,到最后测试用例的生成都是自动完成的。为了验证系统的实用性,以指纹识别型门控装置的功能系统为实例进行验证。结果表明,该系统是实用的,并实现了面向对象软件测试用例的自动化生成,是软件测试自动化的一个探索。