论文部分内容阅读
随着人们对于软件质量的要求越来越高,软件测试在软件开发中的地位变得越来越重要,软件测试成为软件开发周期中必不可少的、耗时较多的一部分。现在很多面向客户端的软件很大一部分都是采用图形用户界面来编写的,那么图形用户界面的测试显得尤为重要。人们利用自动化的工具进行图形用户界面的测试可以减轻手工测试的工作量,保证软件质量,提高测试效率。目前市场上使用的商用自动化测试工具主要采用录制/回放的方式产生测试脚本,但是他们存在一些不足,比如:GUI测试脚本不能测试GUI控件的输入变化,还需要手工的编辑和调试才能运行。而且很多商用测试工具的使用复杂,因此开发一个自动化的测试工具非常必要。为此,本文在实用系统开发测试中对自动化测试工具进行了深入地研究。本文较为系统地分析了软件自动化测试的发展现状,探讨了自动化测试相关理论和技术。设计并实现了一种用于图形用户界面的自动化测试工具-AutoGUITest。采用了以下方法和技术:调用Win32API函数编写GUI控件函数库;在被测的界面画网格进行搜索以便查找到被测的控件;以搜索到的GUI控件组合成一系列的事件序列,将测试用例和GUI控件视为对象,通过XML序列化方法产生XML格式的测试脚本;采用Win32API函数、XML技术以及.NET的Reflection命名空间和Type类提供的反射技术与后期绑定技术,使得工具可以主动寻找GUI部件并实现GUI动作,自动生成测试用例并以XML文档保存测试数据,测试数据可以驱动测试脚本的生成,执行测试和验证测试输出,报告错误。其结果数据也以XML文档形式保存。在此基础上,该工具不仅适用于.NET平台开发的应用,还适用于基本控件及用户自定义的Active测试,和非.NET平台的应用程序测试。圆满地解决了测试控件的查找、测试用例的生成和测试结果的验证等问题。最后,以一个.NET开发的应用程序为例子,验证了这个自动化测试工具--AutoGUITest的可行性和实用性。