论文部分内容阅读
软件测试是减少软件开发成本,保证软件质量和提高软件可靠性的重要于段,图形用户界面GUI(Graphical User Interface)是现代软件的重要组成部分,从而GUI自动化测试工具的使用也变得非常重要。GUI自动化测试工具可以减少软件测试中手工重复劳动,加速软件开发的生命周期,提高软件质量。GUI测试主要是功能测试,即黑盒测试。目前商用的自动化GUI测试工具多数采用捕获/回放(Capture/Playback)技术生成脚本,它们存在一些不足。因而,在很多中小型的项目中没有用到这些测试工具,自制开发一个测试工具对于软件开发变得极为重要。基于此,我结合实验室的实际项目,对图形用户界面GUI的测试自动化进行了研究。
本文通过分析目前GUI自动化测试工具的优缺点,研究当前的自动化测试理论和技术,提出了一个基于.NET的GUI自动化测试解决方案GUIATS。最后,给出了测试工具GUIAutoTest的功能模块设计以及原型实现。GUIATS方案有三个基本思想:第一,数据驱动测试;第二,以GUI动作为核心生成事件序列,并程序化地生成测试用例;第三,自动验证测试。通过使用Win32API函数、XML技术以及.NET的Reflection命名空间和Type类提供的反射技术与后期绑定技术,使得工具可以主动寻找GUI部件并实现GUI动作,自动生成测试用例并以XML文档保存测试数据,测试数据可以驱动测试脚本的生成,执行测试和验证测试输出,报告错误,结果数据也以XML,文档形式保存。
实践证明,GUIAutoTest工具可以应用于包含GUI的Windows软件的自动化测试领域,简化了测试用例的生成和维护过程,避免了繁琐的手工测试结果验证过程。