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

题目:基于贝叶斯网络模型的GUI软件测试

关键词:GUI软件测试;贝叶斯网络模型;失效预测;时序结构化剖面

  摘要


    软件测试是提高软件质量的重要技术手段,而图形用户界面软件(GUI)对软件测试提出了新的挑战。GUI软件测试提出的问题主要表现在:首先,GUI软件的输入存在复杂的结构化特征,而这种特征又对软件中事件的输入顺序进行了特定的限制;其次,GUI软件的输出是个复杂的数组结构;最后,GUI软件是事件驱动型软件,它的控制流和数据流呈现出复杂的结构化特征。综上,GUI软件具有明显的结构化特征,利用这些特征进行测试和可靠性评估是必要的。然而,目前关于GUI软件测试的研究还不能综合利用这些特征,相关研究还比较匮乏。贝叶斯网络(Bayesian Network,简称BN)是有向无环概率网络模型,已经在软件测试领域大量应用。GUI软件测试过程的数据信息和贝叶斯网络本身都具有明显的结构化特征,呈现出一种由节点和有向边组成的网状结构。但是,GUI软件的数据信息更为复杂,呈现了一种复杂网络的特征。本文研究的重点是把贝叶斯网络模型引入到GUI测试的过程中,建立基于贝叶斯网络的GUI测试模型。

    本文以基于贝叶斯网络模型的GUI测试为切入点,以提高GUI软件质量为目的,从以下两个方面进行研究。首先,建立有效的GUI测试模型。本文利用贝叶斯网络对GUI软件测试过程建模、学习和推断,进而调整测试方案,提高GUI的测试效率。其次,从可靠性的角度,建立GUI软件失效预测模型和可靠性评估模型,并利用该模型指导GUI测试过程。本文主要成果归纳如下:

    (1)提出一种基于贝叶斯网络的GUI测试模型,提高GUI软件测试的效率。本文通过分析GUI软件本身的特性,定义了事件节点和条件概率表,确定了先验分布,对实验数据进行学习和推断,运用贝叶斯网络的推断结果反馈测试策略,对测试剖面进行调整,指导GUI软件测试的进程。该部分内容为本文的后续研究奠定了基础。

    (2)提出了GUI的时序结构化剖面模型。该模型考虑了GUI软件测试数据和GUI软件本身的结构化特征,描述了GUI的运行过程,建立了GUI的时序结构化剖面模型,并且据此提出了一种改进的GUI测试模型。该部分内容是第一部分内容的拓展和延伸,时序结构化剖面和改进的测试模型有效的表征了GUI软件的结构化运行特征。

    (3)针对GUI软件失效的特征,提出了基于贝叶斯网络的GUI软件失效预测模型。通过预测软件失效,可以有效判断被测软件所处的测试阶段,在测试后期适时终止软件测试,制定有效的GUI软件测试停止策略,降低测试成本。在本文的失效预测模型中,GUI软件状态和外部环境均作为证据节点用于GUI软件失效预测,GUI本身的特性也得到了更好的体现,改善了GUI失效预测的有效性。

     (4)针对测试数据是否实时更新,分别提出了结构固定和结构演化的软件可靠性评估模型。首先,在分析GUI软件结构化剖面模型和GUI软件可靠性特点的基础上,建立了结构固定的GUI软件可靠性模型;之后,针对测试数据实时更新的情形,提出了具有结构演化特征的可靠性模型,利用GUI测试数据在线学习,评估可靠性,以改善GUI的可靠性为目标,研究了GUI测试过程,建立了GUI测试框架。