论文部分内容阅读
随着互联网的普及,越来越多的系统支持用户通过URL来获取系统的服务,而每个URL对应的Web用户界面(Web User Interfaces,WUI)则是系统为用户提供的图形化前端界面。因此,对这种提供网络服务的系统来说,Web用户界面是系统的重要组成部分,对它的测试也成为系统测试的重点之一。WUI是图形化用户界面GUI在Web上的一种表现形式,具备了GUI和Web的典型特征,因此,WUI测试不仅继承了GUI测试的难点(例如多个交互点等),同时还具有互联网应用的一些典型特性(例如需要考虑响应时间、以及易变等因素),这些都导致WUI的测试,尤其是它的自动化测试,具有一定的难度。目前工程上对WUI的测试还多局限于手工测试,自动化的程度非常低,耗费大量的人力和时间,使得WUI测试成为网络应用系统的主要测试瓶颈之一。
针对这种现状,本文对WUI的自动化测试技术进行研究,将人工智能领域中的智能规划(AI Planning)跟一个开源测试框架Watir(Web Application Testing in Ruby)结合起来,提出了一套完整的、具有WUI领域特性的自动化测试框架,力图解决WUI测试“难”这一现状。框架中,首先采用了基于规划的层次化建模技术对WUI进行建模,这种技术将WUI分解成具有层次的子模块集,最底层为Web页面各元素的抽象描述,这种层次化的描述,不仅降低领域问题描述的复杂度,同时,由于每个子模块对应于底层系统中的某一子功能模块,这样就能将开发人员常用的单元测试跟界面上的单元测试对应起来,使得测试人员能在一定程度上重用开发人员的测试数据,加快了测试的进度。接着,使用并行层次MEA图规划技术自动生成测试用例,层次MEA图规划是一个非常适合WUI领域的规划器,同时,我们将并行的思想引入到规划中来,在生成一个复杂的测试用例时,规划器先对高层次的算子进行规划求解,然后,在包含高层算子的规划解中,对多个高层算子同时并行求解,从而达到加快求解的目的,并通过实验数据说明,并行层次图规划比相关图规划或者未采用并行思想的层次图规划具有更好的效率。最后,基于Ruby和Watir搭建一个测试用例执行器,来执行已经自动生成好的测试用例。本文实现了一个基于上述框架的WUI自动化测试系统WUIATS(WUI Automated Testing System),并通过具体的测试案例,表明该系统具有一定的可用性和自动化能力。