论文部分内容阅读
目前信息化产业的应用范围越来越广,然而因为软件质量出现的问题也是致命的,例如全国数百万笔跨行交易因为中国银联业务中断6小时而无法实现,故测试出软件的错误保证其可以顺利的执行是首要的工作。因此测试用例的执行策略对测试效果具有至关重要的影响,可以节省大量的人力和物力,同时可以减少后期维护的费用。所以需要在全部测试用例中选择一组有效的测试用例来完成测试过程,也就是对初始测试用例集进行约简,并且约简后的测试用例集仍可以测试测试需求集中每一个测试需求,保证错误的检测能力。测试用例集的选择直接影响软件的质量,因此对测试用例集约简的方法进行研究,具有很重要的意义。程序切片技术去除了和兴趣点无关的程序节点,这样可以更方便的理解和分析程序。本文将程序切片技术应用于测试用例集的优化中,使程序切片技术只选择程序中与测试兴趣点相关的程序。这样可以减少测试用例的数量,用最少的测试用例集测试出更多的程序错误。本文的研究性工作主要包括如下几个方面:(1)根据预先生成的逆向程序流、函数依赖集和实参形参对照表提出一种基于过程间函数调用程序的切片生成算法,该算法考虑了函数调用间参数的转换,主要是根据赋值语句来考虑切片中兴趣点所影响的程序;(2)基于过程间函数调用的程序切片算法同样适用于过程内的切片生成,因此本文又给出了过程内切片的生成算法,过程内切片算法只依赖于逆向程序流,算法的执行更简单,效率更高;(3)测试用例集约简中采用改进的GRE算法。根据测试需求的兴趣点生成切片,并为切片中的节点生成相应的测试用例。首先,根据冗余测试用例的定义去除冗余的测试用例;然后根据必不可少测试用例的定义选择出唯一能够满足该测试需求的测试用例;最后,该算法中将贪心算法改为双重选择机制。最后,论文通过给出的实例来验证该算法的可行性和实践性,并进行了算法比较,给出了下一步的工作方向和内容。