论文摘要
随着并发软件的广泛应用,并发软件的测试成为很多学者的研究对象。然而,并发程序执行测试路径时的不确定性使其测试难度加剧。Petri网在描述并发方面具有其它系统模型无法比拟的优势。针对并发程序测试路径的不可预测性,Petri网利用自身优势,通过构建并发程序问题描述的Petri网模型,为并发程序及其测试路径的生成提供了桥梁作用。目前,基于Petri网的软件测试路径生成方面的研究还存在一些问题。基于可达图的测试路径生成算法采用了热点优先和拓扑排序方法,该方法的优点是能够去掉不可行路径,但存在测试集爆炸问题。基于可达树方法通过对可达树中是否存在循环节点来分类生成软件的测试路径,算法较为复杂。因此,研究并发程序的测试路径生成并减少测试集就具有十分重要的意义。本文通过相关理论的学习,在已有研究成果的基础上,提出了基于Petri网的并发程序测试路径的生成方法,主要进行以下几个方面的探讨和研究:1)利用Petri网建模工具PIPE 3.0(Platform Independent Petri Net Editor)构建并发程序的Petri网模型并进行模型验证,以分析并发程序的基本性质。2)利用可达图的测试路径生成算法,以及结合UML状态图、扩展状态机和Petri网采用可达图和有向图搜索算法来生成类的测试路径的思想,本文提出一个适用于并发程序的测试路径生成算法,使得原有的Petri网工具具有测试路径生成功能。实验采用分段路径测试方法能够覆盖网中所有的节点并达到减少测试集的目的。3)本文通过Petri网模型的建立、模型验证、矩阵的转化和测试路径生成四步来完成,并通过实验对生成算法进行验证和评估。实验表明Petri网在并发程序测试路径生成中的应用具有可行性和有效性。