关键词:
软件测试
测试用例自动生成
高阶Markov使用模型
转移概率矩阵
加权对称相对熵
测试充分性准则
摘要:
近年来,各类应用软件层出不穷,软件开发规模越来越庞大,软件测试前期的准备工作作为软件正式投入使用前,保证软件高质量和高可靠性的重要手段,变得越来越重要,测试用例自动生成成为软件测试前期阶段降低测试成本和提高测试效率的关键和难点。高效的测试用例自动生成技术旨在生成尽可能少的测试用例,尽可能的覆盖软件测试需求。因此,测试用例生成技术的难点在于如何自动生成高覆盖率的测试用例数据,以及如何确定有效的测试停止准则,在保证测试充分的前提下尽快结束测试,以降低测试成本和提高测试效率。目前,国内外针对测试用例的自动生成方法和测试充分性准则的研究有很多,虽然取得了一些满意的成果,但仍存在一些问题,例如测试用例生成不稳定,覆盖率低,效率低,测试充分性准则不准确,稳定性差,容易出现“早熟”现象等。为解决上述问题,本文基于高阶Markov使用模型,围绕测试用例自动生成技术和测试充分性准则两方面展开研究,具体内容包括:(1)提出一种基于确定阶数的高阶Markov使用模型测试用例自动生成方法。与原有基于一阶Markov使用模型的测试用例生成方法相比,改进后的高阶Markov使用模型解决了其一阶无后效性问题,测试用例生成算法稳定性更强、覆盖率更高,速度更快。(2)提出一种基于加权对称相对熵的测试充分性准则。与Markov使用模型常用的基于Discriminant值的测试充分性准则相比,改进后的测试充分性准则能够精确的衡量Markov使用模型使用链和测试链的差异程度,不会出现“早熟”现象,稳定性高,充分性判定更加准确。(3)基于上述测试用例自动生成方法和测试充分性准则,开发了一个通用软件自动化测试系统,以某无人机地面控制站系统作为实例,验证整体算法的可行性和有效性。实验证明方法切实有效,能够作为软件测试的一个较好预选方案及研究方向。