论文部分内容阅读
由于人们对于软件质量的重视程度越来越高,导致软件测试在软件开发中的地位变得越来越重要。伴随着面向对象技术成为软件开发的热点,当前的软件的结构日益复杂化,软件规模也日趋庞大,手工测试很难满足目前人们对软件测试的要求。因此,近年来国内外先后提出了大量先进的自动化测试理论,并不断的有自动化测试工具问世,测试自动化已经成为软件测试的主要发展趋势。图形用户界面(GUI)测试是软件测试中的一个重要环节。目前,商用的自动化GUI测试工具大多采用捕获/回放(Capture/Playback)技术生成脚本。但是,现阶段的捕获/回放技术还存在着对测试环境依赖性强、抗干扰能力弱的问题。当遇到对响应时间比较敏感的测试任务时,不但回放的同步性无法得到保障,还会带来致命的错误。这些问题都会影响到测试结果的准确性和可靠度。通过对GUI自动化测试技术进行了比较深入的研究,针对现阶段捕获/回放技术中存在的不足,论文结合Java图形界面设计所采用的事件委托模型,提出了一种基于事件源识别的捕获/回放测试技术。将GUI事件作为测试捕获/回放的关注点,基于GUI事件进行测试的捕获和回放控制,并在此基础上进一步研究了基于事件源识别的回放同步控制和测试结果自动比对技术,提高了自动测试过程中的稳定性和测试结果自动比对的准确性。此外,论文还将XML标准化存储格式运用于GUI测试脚本的捕获与回放当中,不但使得测试脚本层次结构清晰、可读性好,同时借助XML文档本身良好的扩展能力,使得测试脚本中可以记录更多的内容,从而增强了GUI测试功能。在理论研究的基础上,论文还基于Java平台设计并实现了一个基于事件源识别技术的GUI自动化测试工具原型-GUITest。GUITest自动化测试工具实现了基于事件源识别技术的测试捕获和回放功能,并采用了基于GUI组件属性的测试结果自动比对技术。为了验证理论研究的可行性和实用性,对原型的平台兼容性,捕获和回放技术的稳定性和精确性,测试结果自动比对的准确性等进行了全面的测试。测试表明,GUITest自动化测试工具实现了GUI自动测试的功能,并具有较好的测试稳定性和准确性,达到了预期的研究目标。