当前位置:问答库>论文摘要

题目:基于软件控制论模型改进的自适应测试方法研究

关键词:软件测试,自适应测试,软件控制论,受控马尔科夫链,测试覆盖

  摘要



软件测试是一个为了发现程序中的错误而执行程序的过程,是保证软件质量的一种重要手段。然而,随着软件规模以及复杂程度的提高,软件测试的难度和成本也不断增大。虽然传统的软件测试方法比较成熟并得到了广泛应用,但是,在测试效率和定位故障方面明显不足。

作为控制理论和软件工程学科交叉的产物,软件自适应测试方法把自适应思想融入到软件测试中,通过测试信息的反馈,提高测试的效率,增加软件失效检测的能力。软件自适应测试可以认为是一个利用测试用例信息尽可能多且快速地发现程序中错误的测试过程,在自适应测试执行中,测试人员通过参考测试用例执行后的反馈结果,指导新测试用例的选择。软件自适应测试方法有两个主要代表:一个是2003年T.Y Chen提出的自适应随机测试方法 (Adaptive Random Testing, ART);另一个为软件控制论方法(Software Cybernetics, SC)。软件控制论利用受控马尔可夫链(Controlled Markov Chain, CMC)对软件测试过程建模,并通过测试过程中收集测试数据在线调整测试策略以提高测试的效率。虽然软件控制论为控制论在软件测试中应用提供了理论基础,但在该模型中的一些假设与描述不合实际,导致在实际测试中难以应用。

本文以软件控制论框架为基础,结合软件测试过程,深入研究自适应测试方法,主要包括以下五方面的工作:1、针对软件控制论模型中存在的主要问题进行分析,指出在描述软件测试过程的状态转移模型中,状态集的转移以缺陷数量的变化为转移条件,不能真实描述软件测试过程。2、探讨在线估计对最优控制问题影响,提出最优测试决策中存在不稳定阶段。3、剔除模型中不合理假设并引入新假设,并结合ART思想,以被测软件输入域测试覆盖信息作为状态转移条件对模型进行改进,并在新的模型假设基础上提出基于软件控制论模型改进的自适应测试方法 (Adaptive Testing based on Modified Software Cybernetics,AT-MSC)。4、通过仿真实验证明相比随机测试和分割测试,AT-MSC在测试效率方面有显著提升,且比软件控制论方法更具实用性。5、选取实际软件测试项目,对本文提出的方法的实用性和有效性进行验证。