面向WinForm-Control的自动化测试框架的设计与实现.doc
《面向WinForm-Control的自动化测试框架的设计与实现.doc》由会员分享,可在线阅读,更多相关《面向WinForm-Control的自动化测试框架的设计与实现.doc(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、摘要随着控件技术的不断发展,用户对WinForm Control的需求不断增加,使得WinForm Control逐渐产品化,一批以WinForm Control为产品的公司或者部门的建立更加推动了其快速发展。与此同时,也给WinForm Control的自动化测试提出了新的要求。目前,现有的用于WinForm Control自动化测试的自动化测试框架都是单元测试框架,只能用于测试WinForm Control的基本属性、方法和事件,而其他测试只能手动进行,因此,开发一套面向WinForm Control的自动化测试框架是非常有必要的。本文深入研究了WinForm Control的特点,详细分
2、析了WinForm Control自动化测试的原理及过程,对现有的单元测试框架做了简单的介绍,通过研究,在单元测试框架NUnit的基础上,着重处理鼠标和键盘的交互操作,并将GUI测试思想应用到WinForm Control的自动化测试中,将WinForm Control的各个组成部分抽象成一个ComponentGUI,让测试人员可以方便地定位控件并进行自动化测试,最终实现了面向WinForm Control的自动化测试框架。整个框架在设计上充分考虑了代码的可复用性、可移植性和可维护性。目前,该自动化测试框架已经在日本多家控件公司投入使用,达到实用化水平。关键词:WinForm Control
3、自动化测试 GUI Input AbstractAbstractWith the continuous development of control techniques and the increasing demand for WinForm Control,WinForm Control is gradually commercialized in recent years,and the establishment of a group of corporations or departments taking WinForm Control as their product furt
4、her promotes its rapid development. Meanwhile, new requirements of automatic testing of WinForm Control have been arisen. At present,existing automatic testing frameworks for WinForm Control are all unit testing frameworks,which can only be used to test the basic attributes,methods and events of Win
5、Form Control,that is to say,other tests have to be operated manually. Thus,it is very necessary to develop a automatic testing framework for WinForm Control.In this article,the features of WinForm Control are firstly introduced,then,the principles and procedures of automatic testing for WinForm Cont
6、rol are discussed in detail and existing unit testing frameworks are also introduced briefly. Finally,a new automatic testing framework for WinForm Control is introduced. The new framework is mainly based on the following ideas:on the basis of the unit testing framework NUnit,focusing on the handlin
7、g of the interactive operations of keyboard and mouse;and the ideas of GUI based testing are introduced in the automatic testing for WinForm Control:the components of WinForm Control are abstracted to a ComponentGUI,so that the testers can easily locate controls and test them. The proposed framework
8、 takes into account the reusability,the portability and the maintainability of codes. At present,this automatic testing framework has been put into practical use in many Japanese control corporations.KeyWords: WinForm Control Automatic Testing GUI Input目录目录第一章 绪论11.1 研究背景11.2 国内外现状21.3 课题的意义21.4 论文的
9、工作和结构3第二章 WinForm Control及常用单元测试框架52.1 WinForm Control的定义及分类52.1.1 WinForm Control的定义52.1.2 WinForm Control的分类62.2 常用单元测试框架92.2.1 JUnit测试框架原理92.2.2 CppUnit测试框架原理122.2.3 NUnit测试框架原理132.2.4 XU测试框架原理152.3 小结16第三章 WinForm Control自动化测试研究与分析173.1 WinForm Control自动化测试原理分析173.1.1 基本属性、方法和事件的测试173.1.2 鼠标和键盘相
10、关事件的测试203.1.3 GUI测试243.2 WinForm Control自动化测试的流程263.3 WinForm Control自动化测试的优点263.4 小结27第四章 面向WinForm Control的自动化测试框架的设计294.1 GUI测试框架的设计294.2 Input测试框架的设计354.2.1 鼠标输入测试框架的设计354.2.2 键盘输入测试框架的设计384.3 结果比较方法的设计404.4 面向WinForm Control的自动化测试框架的优点414.5 小结42第五章 面向WinForm Control的自动化测试框架的验证455.1 制定测试用例455.2
11、编写测试脚本465.3 运行测试脚本515.4 生成测试报告535.5 小结54第六章 结束语55致谢57参考文献593第一章 绪论第一章 绪论随着计算机技术的发展,人们对软件产品的质量有了更高的要求,因此软件测试工作在整个软件开发的过程中也越发重要。从繁杂的手工测试到实用性强的自动化测试,从最初只提供简单的捕捉/回放功能的测试工具到功能和灵活性更强的测试脚本工具,自动化测试已经取得了很大的进步2。但随着软件规模的不断扩大,软件类型的不断增多,人们希望自动化测试能够更加高效和简便。自动化测试框架的出现,加速了自动化脚本的生成,提高脚本的可维护性,加速脚本执行效率等,目的是减少实现和维护的成本,
12、使测试人员可以把精力集中在应用程序的测试用例设计上,而不是开发测试。1.1 研究背景2001年后,.NET Framework2.0的诞生,人们将它看作是多年来最重要的新技术。.NET Framework以多种方式对面向组件的开发模式做了强而有力的支持。.NET Framework为开发人员提供了两种控件支持:一种是Web Control,一种是WinForm Control15。其中WinForm Control是目前发展最快,应用最广泛的。.NET Framework使得开发人员可以通过将多个标准WinForm Control组合,而定制出符合用户需求的应用程序。开发人员还可以通过继承某个
13、标准WinForm Control,附加新的功能与业务逻辑满足自己的需要。更高级的开发人员可以直接从.NET Framework提供的Control基类派生出自定义的WinForm Control(Custom Control)20。尽管面向组件的开发模式和.NET Framework的支持,使得WinForm Control的开发人员以及厂商获取了更多的好处,但却给WinForm Control的测试工作带来了很多困难,因为目前市场上并不存在面向WinForm Control的自动化测试框架,因此,对于WinForm Control的测试,除了最基本的属性、方法和事件的测试可以利用目前常用的
14、单元测试框架实现自动化测试以外,其他大部分对于WinForm Control的测试都必须依靠测试人员手动完成。但随着WinForm Control的不断发展,最终用户对WinForm Control的种类、质量、功能以及用户界面的要求也在不断增加,这就推动了市场的壮大,同时促进了一批以WinForm Control为产品的公司或者部门的建立,最终将推动WinForm Control从产品向产业进一步发展,因此,自动化测试WinForm Control也成为一种必然,那么开发一套面向WinForm Control的自动化测试框架是非常有必要的。1.2 国内外现状目前,可用于对WinForm Co
15、ntrol的基本属性、方法和事件进行自动化测试的单元测试框架很多,常用的单元测试框架根据开发语言不同,可分为13:1 JUnit:JUnit就是为Java程序开发者实现单元测试提供一种框架,使得Java单元测试更规范有效,并且更有利于测试的集成。此框架是由Alan Ray和Erich Gamma开发的。2 CppUnit:CppUnit是从著名的JUnit框架为C+移植过来的。是由Michael Feathers开发的。3 Microsoft.NET Framework提供的单元测试框架,包括:NUnit、CsUnit、MbUnit和XU。许多.NET开发人员都或多或少有一些使用NUnit的经
16、验,它是.NET的一个最主要的单元测试框架,是由James Newkirk所开发的。虽然NUnit涵盖了.NET应用程序单元测试的大多数必要情景,但MbUnit可以让单元测试更进一步。MbUnit是由Jonathan “Peli” de Halleux首先编写的一个开源单元测试框架。最新推出的单元测试框架为XU,此框架从现有框架中脱颖而出的因素有很多。最重要的一点是,它是由James Newkirk和Brad Wilson构建的。Newkirk是Microsoft负责CodePlex项目的产品经理,曾帮助构建NUnit,他撰写了大量有关于单元测试的书籍。Brad Wilson是thedotgu
17、y上的一位资深博客作者,模式和实施方案小组的前成员,还是Microsoft的特别员工。这一全新框架的目标是利用在过去五年内积累的有关单元测试的最佳实践,构建一种能体现并鼓励这些实践的全新框架23。1.3 课题的意义目前,单元测试框架技术一直在不断发展,现有的单元测试框架也一直在被更新和改进,但随着WinForm Control的类型和复杂度不断增加,现有的单元测试框架无法准确定位WinForm Control,尤其是无法获取WinForm Control的各个组成部分信息并进行测试,而且现有的单元测试框架也无法模拟鼠标和键盘的操作,因此无法测试用鼠标和键盘对WinForm Control操作后
18、的结果是否正确,也无法监听鼠标或键盘触发的事件是否正确,验证数据和脚本代码维护也有诸多不便,由此可见,现有的单元测试框架已经无法满足现有WinForm Control的自动化测试需求。本人通过在西安某控件开发公司一年的实习,在NUnit单元测试框架的基础上,设计并实现了GUI测试框架和Input测试框架,最终成功开发了这套面向WinForm Control的自动化测试框架,此框架不仅基本解决了现有WinForm Control自动化测试存在的问题,而且对于面向控件的自动化测试框架的研究具有长远的现实意义。目前,该框架已被很多日本控件公司投入使用,取得了良好的市场反映。1.4 论文的工作和结构本
19、论文选题来自西安某控件开发公司基于面向WinForm Control的自动化测试系统研发项目。本人在WinForm Control自动化测试的研究与设计自动化测试框架的工作经历了四个主要阶段:第一阶段:学习阶段。在原有单元测试框架的理论基础上,进一步对NUnit单元测试框架进行了深入学习,阅读了大量自动化测试及WinForm Control开发技术的书籍,为后续的工作奠定了良好的专业理论基础。同时,为了更好地进行自动化测试框架的设计,学习了C#语言和相关开发工具。第二阶段:研究阶段。对WinForm Control的测试特点进行分析和研究,总结了WinForm Control自动化测试的特点和
20、原理,并给出了WinForm Control自动化测试的流程,为WinForm Control自动化测试框架的设计提供了明确方案。第三阶段:设计阶段。根据目前WinForm Control自动化测试存在的问题,在之前研究方案的基础上,设计了GUI测试框架和Input测试框架,最终实现了面向WinForm Control的自动化测试框架。第四阶段:验证阶段。通过几个典型的测试用例,证明了面向WinForm Control的自动化测试框架的实用性。根据所完成的工作,将论文结构安排如下:第一章 绪论本章首先分析了课题的研究背景,然后通过介绍国内外现有的单元测试框架,分析了现有的单元测试框架无法满足W
21、inForm Control自动化测试需求的原因,阐明了开发一套面向WinForm Control的自动化测试框架的意义,最后对论文的工作进行了总结以及对各章节内容进行了安排。第二章 WinForm Control及常用单元测试框架本章介绍了WinForm Control的定义及分类,并分析了几个常用的单元测试框架的原理。第三章 WinForm Control自动化测试研究与分析本章根据WinForm Control的特点,研究总结了WinForm Control自动化测试的原理,着重研究了鼠标和键盘的事件处理,提出了WinForm Control的GUI测试思想,并给出了WinForm Co
22、ntrol自动化测试的流程及分析了WinForm Control自动化测试的优点。第四章 面向WinForm Control的自动化测试框架的设计本章详细描述了如何对GUI测试框架和Input测试框架进行设计实现,以及对结果比较方法的设计实现,并分析了面向WinForm Control的自动化测试框架的优点。第五章 面向WinForm Control的自动化测试框架的验证本章将此框架运用于WinForm Control的自动化测试工作中,根据具体的测试用例,运用此框架编写测试脚本,根据脚本运行的情况及测试结果报告,验证了框架的正确性和实用性。第六章 结束语本章一方面对本文所研究的项目加以总结,
23、另一方面提出进一步改进和完善该项目的方法。希望能有更多更好的面向控件领域的自动化测试框架推出,并投入实际生产当中。15第二章 WinForm Control及常用单元测试框架第二章 WinForm Control及常用单元测试框架2.1 WinForm Control的定义及分类控件(Control)是在图形用户界面(GUI)中屏幕上的一种对象,用户可操作该对象来执行某一行为。 控件是用户可与之交互以输入或操作数据的对象。控件通常出现在对话框中或工具栏上16。WinForm Control是控件的一种,目前,对于WinForm Control的应用非常广泛。2.1.1 WinForm Cont
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 WinForm Control 自动化 测试 框架 设计 实现
限制150内