论文部分内容阅读
信息技术的飞速发展,使软件产品应用到社会的各个领域,软件产品的质量自然成为人们共同关注的焦点,软件测试是保证软件质量的重要手段之一。据统计,用于软件测试阶段的费用占软件开发总成本的50%左右,如此大的开销使得软件测试过程的自动化成为必然,而实现测试过程自动化的关键是自动生成软件测试用例。测试用例自动生成这一技术的实现,将大大改变以往靠直觉、经验生成测试用例的传统做法,无疑将使软件测试的效率显著提高,同时减轻人们在编写大量测试用例过程中所付出的劳动。因此,开展软件测试用例生成技术的研究,实现软件测试过程自动化有着十分重要的意义。 本文对基于扩展有限状态机的测试用例自动生成进行了较为完整、系统的研究。重点分析了扩展有限状态机中状态迁移路径不可执行的问题,并对初始的扩展有限状态机进行了转换,使得状态迁移不再受前置条件的影响。经过转换后得到的确定的扩展有限状态机,可以直接使用基于有限状态机的U方法生成测试输入序列,从而完成基于扩展有限状态机测试序列的自动生成。在自动选取测试输入数据时,本文将测试输入序列引发的各状态迁移中包含的表达式转化为正规表达式,并利用测试序列上的状态迁移中包含的前置条件缩减输入变量的取值区间,以利于使用“分段梯度最优下降算法”快速收敛。在“分段梯度最优下降算法”无法正确产生输入变量值的情况下,本文给出的缩减后的区间可以减轻测试人员手工产生测试输入数据的工作量,部分达到了软件测试输入数据生成自动化的初衷。 本文所进行的基于扩展有限状态机的测试用例自动生成的研究,是面向对象软件类测试中基于状态的测试的基础。由于EFSM模型能够更加精确的描述软件系统的行为,因此,它被广泛应用于面向对象软件系统中对象的行为以及对象之间的交互中。同时,由