论文部分内容阅读
随着软件规模的不断增长,结构不断复杂,软件可靠性问题日益突出。软件测试,作为软件质量保证的重要手段,正发挥着越来越重要的作用。基于受控马尔可夫链的测试模型已成为软件测试的一个重要研究方向。它将被测对象抽象成测试模型,通过对模型的分析来选取相应地测试决策,从而形式化地描述软件测试过程。大量研究人员对其进行了深入的研究,并取得了许多优秀成果。但是,这些研究大多是基于缺陷独立的假设,即忽略了缺陷之间的关联关系。在实际测试过程中,很多软件缺陷并不是相互独立的,缺陷之间往往相互关联。因此,如何利用缺陷之间的关联信息,改进受控马尔可夫链测试模型,优化软件测试策略成为本文研究的重点。本文从缺陷自身角度出发,对基于受控马尔可夫链(Controlled Markov Chain,简称CMC)模型的软件测试策略和关联缺陷进行了深入的研究,主要包括以下几个方面:(1)以缺陷关联为背景,研究了基于关联缺陷的受控马尔可夫链软件测试模型。针对原有CMC测试模型中的局限性,引入缺陷关联系数与缺陷回扣机制,构建了基于缺陷关联度的受控马尔科夫链软件测试模型,综合权衡缺陷可检测率、关联系数和缺陷回扣,以提高软件测试效率。(2)以该模型为基础,研究了基于关联缺陷的软件优化测试策略。利用缺陷关联信息,将软件测试过程转换成带权路径的优化问题,设计了一种基于最小生成树的软件优化测试策略。同时考虑了更为复杂的缺陷关联形式,针对缺陷关联不满足交换律时,提出了一种改进的Prim算法,以求解带权有向图的最小生成树,从而优化软件测试策略。(3)研究了缺陷批量剔除策略。针对由于过早地剔除单个关联缺陷而引发的失效屏蔽问题,提出了以关联缺陷集为批量剔除单位的剔除策略。为了验证本文所提测试模型和测试策略的有效性,将其与自适应测试策略和随机测试策略相比较。通过仿真实验,本文在缺陷检测数量、测试成本以及产生回扣等指标上都有所提升,证明了该方法的有效性。