基于状态图与Z的测试用例生成研究
【摘要】:软件测试是当今计算机科学与工程中起着至关重要作用的领域之一。近年来,面向对象技术的广泛应用和CASE工具的发展,已经大大减轻了软件设计和编码的困难,而使得软件测试变得越来越重要。随着软件测试理论和技术的不断发展,它已成为软件工程领域内保证软件质量的必不可少的关键过程。
本文主要针对基于状态图和Z的测试用例生成方法进行了研究。文中首先详细介绍了四种基于有限状态机的测试用例生成方法,对于扩展有限状态机的测试,本文提出了一种将扩展有限状态机转换为等价的测试场景的方法,转换后的测试场景与原扩展有限状态机是测试等价的,并且消除了原扩展有限状态机中由于前置条件的存在而导致的不确定性。对于转换后的扩展有限状态机,可以应用基于有限状态机的四种测试方法。对于大型系统的测试中存在的组合状态空间爆炸问题和测试序列同步问题,本文提出的多测试驱动模型MTM在不生成积自动机的情况下生成测试序列,有效地缓解了组合状态空间爆炸问题。同时文中提出的同步算法和同步有向图的生成方法,解决了测试序列的同步问题。
基于完全形式化语言的测试也是近年来研究的重点,不少学者提出了基于Z等形式化语言的测试方法。本文探讨了基于Z的测试用例自动生成方法,讨论了Z与状态图结合测试的好处和可行性,并提出了从状态图到Z的模式的自动转化的方法,为状态图与Z结合测试的自动实现打下了基础。
最后,在本文研究的方法的基础上,给出了一个基于文中方法的测试工具的模型,并提出了一些测试工作改进方法的设想。同时给出了基于Z的形式的测试准则的描述,这更有助于支持形式化的测试方法和对该方法的度量与评估。