论文部分内容阅读
软件测试是保证软件质量及可靠性的关键,软件测试的开销常常占整个工程预算的很大比重。随着图形用户界面(GUI)在当今软件中的应用日益广泛,GUI测试逐步成为软件测试中的重要部分,但对GUI测试的研究工作还相对薄弱。由于GUI软件与传统软件有许多不同的特点,这使得传统软件的测试技术并不能直接应用于GUI测试。GUI测试工作面临着比传统软件测试更大的困难与挑战,如何为GUI软件生成测试用例是其中的一个重要研究课题。本文首先介绍了GUI测试的基础知识与测试步骤,分析了GUI测试框架构建问题以及GUI测试中各个阶段的相关研究现状。针对GUI测试框架中需统一使用的GUI表示方法,本文提出基于权重事件的GUI表示方法。为事件分配权重值,利用权重区分GUI事件序列重要程度,在此基础上将事件进行分类,划分成不同子集,并构建基于权重的GUI事件流图与集成树。本文在分析使用AI规划生成GUI测试用例方法的基础上,提出了一种基于权重的AI规划生成GUI测试用例方法,给出了基于权重的GUI测试流程。由GUI权重事件集获得分层抽象的规划操作集,减少GUI的事件状态数目。使用AI规划对指定的GUI目标状态生成规划操作步骤集。在将规划操作步骤分解为测试用例的事件序列时,由事件权重值决定测试用例的生成次序,使生成的测试用例更合理,从而提高GUI测试效率。实验结果表明,应用此方法在相同的测试用例数下能发现更多的错误。本文最后讨论了基于权重事件的GUI回归测试技术,给出了基于权重事件的GUI回归测试方法。根据测试结果及GUI的修改调整事件权重值,采用选择性重测策略,分析修正原有测试用例并添加必要的新测试用例,生成GUI回归测试用例包。