论文部分内容阅读
图形用户界面(GUIs)被广泛地运用于应用软件中,但其大量的使用也为软件的开发和测试带来了极大的挑战。现在的应用程序中,GUI的代码己达到整个软件的60%以上,图形用户界面的质量直接影响了整个软件系统的有效性和实用性,所以图形用户界面的测试一直是研究热点。在对图形用户界面进行测试时,一般采用提取模型的方法。基于模型的算法是将代表事件的节点和代表事件序列的路径模拟成流程图,路径上的事件序列可以用于生成GUI测试集。目前基于模型的图形用户界面常用的模型为事件流图(EFG)和事件交互图(EIG)。事件流图是一个有向图,模拟所有在GUI上可能被执行的事件交互,它被直接用于快速测试。事件交互图对事件流图进行改进,对GUI程序上的所有事件根据窗口的模态性进行划分,通过图的方式描述事件交互次序。这两种模型可以表示GUI事件之间的交互关系,本文通过一个简单的GUI实例,对GUI中的事件进行划分,改进了原有的MX算法,并从事件交互图的定义出发,提出了一种由EFG转换成EIG的新方法:GEIG算法。实验表明,新方法转换过程更简单。自动化测试用例的生成可以降低测试成本并提高软件的质量等因素,而变得越来越流行。研究人员提出了一种模型驱动的技术去生成测试用例,执行“种子测试集,,后获得反馈,“种子测试集”由EIG模型自动生成。在执行时,GUI上所有事件的运行反馈用于识别事件语义交互(ESI)关系,生成新的测试用例。本文通过对已有ESI关系根据对GUI状态的反馈信息进行更明确的划分,并提出了生成新测试用例的算法GLES算法。关于“种子测试集”,运用本文提出的GEIG算法来代替MX算法获得的EIG模型。最后,例举图形用户界面真实示例,表明提出的新算法可以用干图形用户界而,并日获得的数据甲准确甲高效。