面向WinFormControl的自动化测试框架的设计与实现毕业设计论文Word文档格式.docx
- 文档编号:20781084
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:60
- 大小:535.76KB
面向WinFormControl的自动化测试框架的设计与实现毕业设计论文Word文档格式.docx
《面向WinFormControl的自动化测试框架的设计与实现毕业设计论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《面向WinFormControl的自动化测试框架的设计与实现毕业设计论文Word文档格式.docx(60页珍藏版)》请在冰豆网上搜索。
作者签名:
日 期:
学位论文原创性声明
本人郑重声明:
所呈交的论文是本人在导师的指导下独立进行研究所取得的研究成果。
除了文中特别加以标注引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写的成果作品。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律后果由本人承担。
日期:
年月日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。
本人授权 大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
涉密论文按学校规定处理。
导师签名:
日期:
注意事项
1.设计(论文)的内容包括:
1)封面(按教务处制定的标准封面格式制作)
2)原创性声明
3)中文摘要(300字左右)、关键词
4)外文摘要、关键词
5)目次页(附件不统一编入)
6)论文主体部分:
引言(或绪论)、正文、结论
7)参考文献
8)致谢
9)附录(对论文支持必要时)
2.论文字数要求:
理工类设计(论文)正文字数不少于1万字(不包括图纸、程序清单等),文科类论文正文字数不少于1.2万字。
3.附件包括:
任务书、开题报告、外文译文、译文原文(复印件)。
4.文字、图表要求:
1)文字通顺,语言流畅,书写字迹工整,打印字体及大小符合要求,无错别字,不准请他人代写
2)工程设计类题目的图纸,要求部分用尺规绘制,部分用计算机绘制,所有图纸应符合国家技术标准规范。
图表整洁,布局合理,文字注释必须使用工程字书写,不准用徒手画
3)毕业论文须用A4单面打印,论文50页以上的双面打印
4)图表应绘制于无格子的页面上
5)软件工程类课题应有程序清单,并提供电子文档
5.装订顺序
1)设计(论文)
2)附件:
按照任务书、开题报告、外文译文、译文原文(复印件)次序装订
指导教师评阅书
指导教师评价:
一、撰写(设计)过程
1、学生在论文(设计)过程中的治学态度、工作精神
□优□良□中□及格□不及格
2、学生掌握专业知识、技能的扎实程度
3、学生综合运用所学知识和专业技能分析和解决问题的能力
4、研究方法的科学性;
技术线路的可行性;
设计方案的合理性
5、完成毕业论文(设计)期间的出勤情况
二、论文(设计)质量
1、论文(设计)的整体结构是否符合撰写规范?
2、是否完成指定的论文(设计)任务(包括装订及附件)?
三、论文(设计)水平
1、论文(设计)的理论意义或对解决实际问题的指导意义
2、论文的观念是否有新意?
设计是否有创意?
3、论文(设计说明书)所体现的整体水平
建议成绩:
(在所选等级前的□内画“√”)
指导教师:
(签名)单位:
(盖章)
年月日
评阅教师评阅书
评阅教师评价:
一、论文(设计)质量
二、论文(设计)水平
评阅教师:
教研室(或答辩小组)及教学系意见
教研室(或答辩小组)评价:
一、答辩过程
1、毕业论文(设计)的基本要点和见解的叙述情况
2、对答辩问题的反应、理解、表达情况
3、学生答辩过程中的精神状态
评定成绩:
教研室主任(或答辩小组组长):
(签名)
教学系意见:
系主任:
摘要
随着控件技术的不断发展,用户对WinFormControl的需求不断增加,使得WinFormControl逐渐产品化,一批以WinFormControl为产品的公司或者部门的建立更加推动了其快速发展。
与此同时,也给WinFormControl的自动化测试提出了新的要求。
目前,现有的用于WinFormControl自动化测试的自动化测试框架都是单元测试框架,只能用于测试WinFormControl的基本属性、方法和事件,而其他测试只能手动进行,因此,开发一套面向WinFormControl的自动化测试框架是非常有必要的。
本文深入研究了WinFormControl的特点,详细分析了WinFormControl自动化测试的原理及过程,对现有的单元测试框架做了简单的介绍,通过研究,在单元测试框架NUnit的基础上,着重处理鼠标和键盘的交互操作,并将GUI测试思想应用到WinFormControl的自动化测试中,将WinFormControl的各个组成部分抽象成一个ComponentGUI,让测试人员可以方便地定位控件并进行自动化测试,最终实现了面向WinFormControl的自动化测试框架。
整个框架在设计上充分考虑了代码的可复用性、可移植性和可维护性。
目前,该自动化测试框架已经在日本多家控件公司投入使用,达到实用化水平。
关键词:
WinFormControl自动化测试GUIInput
Abstract
WiththecontinuousdevelopmentofcontroltechniquesandtheincreasingdemandforWinFormControl,WinFormControlisgraduallycommercializedinrecentyears,andtheestablishmentofagroupofcorporationsordepartmentstakingWinFormControlastheirproductfurtherpromotesitsrapiddevelopment.Meanwhile,newrequirementsofautomatictestingofWinFormControlhavebeenarisen.Atpresent,existingautomatictestingframeworksforWinFormControlareallunittestingframeworks,whichcanonlybeusedtotestthebasicattributes,methodsandeventsofWinFormControl,thatistosay,othertestshavetobeoperatedmanually.Thus,itisverynecessarytodevelopaautomatictestingframeworkforWinFormControl.
Inthisarticle,thefeaturesofWinFormControlarefirstlyintroduced,then,theprinciplesandproceduresofautomatictestingforWinFormControlarediscussedindetailandexistingunittestingframeworksarealsointroducedbriefly.Finally,anewautomatictestingframeworkforWinFormControlisintroduced.Thenewframeworkismainlybasedonthefollowingideas:
onthebasisoftheunittestingframeworkNUnit,focusingonthehandlingoftheinteractiveoperationsofkeyboardandmouse;
andtheideasofGUIbasedtestingareintroducedintheautomatictestingforWinFormControl:
thecomponentsofWinFormControlareabstractedtoaComponentGUI,sothatthetesterscaneasilylocatecontrolsandtestthem.Theproposedframeworktakesintoaccountthereusability,theportabilityandthemaintainabilityofcodes.Atpresent,thisautomatictestingframeworkhasbeenputintopracticaluseinmanyJapanesecontrolcorporations.
KeyWords:
WinFormControlAutomaticTestingGUIInput
第一章绪论
随着计算机技术的发展,人们对软件产品的质量有了更高的要求,因此软件测试工作在整个软件开发的过程中也越发重要。
从繁杂的手工测试到实用性强的自动化测试,从最初只提供简单的捕捉/回放功能的测试工具到功能和灵活性更强的测试脚本工具,自动化测试已经取得了很大的进步[2]。
但随着软件规模的不断扩大,软件类型的不断增多,人们希望自动化测试能够更加高效和简便。
自动化测试框架的出现,加速了自动化脚本的生成,提高脚本的可维护性,加速脚本执行效率等,目的是减少实现和维护的成本,使测试人员可以把精力集中在应用程序的测试用例设计上,而不是开发测试。
1.1研究背景
2001年后,.NETFramework2.0的诞生,人们将它看作是多年来最重要的新技术。
.NETFramework以多种方式对面向组件的开发模式做了强而有力的支持。
.NETFramework为开发人员提供了两种控件支持:
一种是WebControl,一种是WinFormControl[15]。
其中WinFormControl是目前发展最快,应用最广泛的。
.NETFramework使得开发人员可以通过将多个标准WinFormControl组合,而定制出符合用户需求的应用程序。
开发人员还可以通过继承某个标准WinFormControl,附加新的功能与业务逻辑满足自己的需要。
更高级的开发人员可以直接从.NETFramework提供的Control基类派生出自定义的WinFormControl(CustomControl)[20]。
尽管面向组件的开发模式和.NETFramework的支持,使得WinFormControl的开发人员以及厂商获取了更多的好处,但却给WinFormControl的测试工作带来了很多困难,因为目前市场上并不存在面向WinFormControl的自动化测试框架,因此,对于WinFormControl的测试,除了最基本的属性、方法和事件的测试可以利用目前常用的单元测试框架实现自动化测试以外,其他大部分对于WinFormControl的测试都必须依靠测试人员手动完成。
但随着WinFormControl的不断发展,最终用户对WinFormControl的种类、质量、功能以及用户界面的要求也在不断增加,这就推动了市场的壮大,同时促进了一批以WinFormControl为产品的公司或者部门的建立,最终将推动WinFormControl从产品向产业进一步发展,因此,自动化测试WinFormControl也成为一种必然,那么开发一套面向WinFormControl的自动化测试框架是非常有必要的。
1.2国内外现状
目前,可用于对WinFormControl的基本属性、方法和事件进行自动化测试的单元测试框架很多,常用的单元测试框架根据开发语言不同,可分为[13]:
1JUnit:
JUnit就是为Java程序开发者实现单元测试提供一种框架,使得Java单元测试更规范有效,并且更有利于测试的集成。
此框架是由AlanRay和ErichGamma开发的。
2CppUnit:
CppUnit是从著名的JUnit框架为C++移植过来的。
是由MichaelFeathers开发的。
3Microsoft.NETFramework提供的单元测试框架,包括:
NUnit、CsUnit、MbUnit和XU。
许多.NET开发人员都或多或少有一些使用NUnit的经验,它是.NET的一个最主要的单元测试框架,是由JamesNewkirk所开发的。
虽然NUnit涵盖了.NET应用程序单元测试的大多数必要情景,但MbUnit可以让单元测试更进一步。
MbUnit是由Jonathan“Peli”deHalleux首先编写的一个开源单元测试框架。
最新推出的单元测试框架为XU,此框架从现有框架中脱颖而出的因素有很多。
最重要的一点是,它是由JamesNewkirk和BradWilson构建的。
Newkirk是Microsoft负责CodePlex项目的产品经理,曾帮助构建NUnit,他撰写了大量有关于单元测试的书籍。
BradWilson是thedotguy上的一位资深博客作者,模式和实施方案小组的前成员,还是Microsoft的特别员工。
这一全新框架的目标是利用在过去五年内积累的有关单元测试的最佳实践,构建一种能体现并鼓励这些实践的全新框架[23]。
1.3课题的意义
目前,单元测试框架技术一直在不断发展,现有的单元测试框架也一直在被更新和改进,但随着WinFormControl的类型和复杂度不断增加,现有的单元测试框架无法准确定位WinFormControl,尤其是无法获取WinFormControl的各个组成部分信息并进行测试,而且现有的单元测试框架也无法模拟鼠标和键盘的操作,因此无法测试用鼠标和键盘对WinFormControl操作后的结果是否正确,也无法监听鼠标或键盘触发的事件是否正确,验证数据和脚本代码维护也有诸多不便,由此可见,现有的单元测试框架已经无法满足现有WinFormControl的自动化测试需求。
本人通过在西安某控件开发公司一年的实习,在NUnit单元测试框架的基础上,设计并实现了GUI测试框架和Input测试框架,最终成功开发了这套面向WinFormControl的自动化测试框架,此框架不仅基本解决了现有WinFormControl自动化测试存在的问题,而且对于面向控件的自动化测试框架的研究具有长远的现实意义。
目前,该框架已被很多日本控件公司投入使用,取得了良好的市场反映。
1.4论文的工作和结构
本论文选题来自西安某控件开发公司基于面向WinFormControl的自动化测试系统研发项目。
本人在WinFormControl自动化测试的研究与设计自动化测试框架的工作经历了四个主要阶段:
第一阶段:
学习阶段。
在原有单元测试框架的理论基础上,进一步对NUnit单元测试框架进行了深入学习,阅读了大量自动化测试及WinFormControl开发技术的书籍,为后续的工作奠定了良好的专业理论基础。
同时,为了更好地进行自动化测试框架的设计,学习了C#语言和相关开发工具。
第二阶段:
研究阶段。
对WinFormControl的测试特点进行分析和研究,总结了WinFormControl自动化测试的特点和原理,并给出了WinFormControl自动化测试的流程,为WinFormControl自动化测试框架的设计提供了明确方案。
第三阶段:
设计阶段。
根据目前WinFormControl自动化测试存在的问题,在之前研究方案的基础上,设计了GUI测试框架和Input测试框架,最终实现了面向WinFormControl的自动化测试框架。
第四阶段:
验证阶段。
通过几个典型的测试用例,证明了面向WinFormControl的自动化测试框架的实用性。
根据所完成的工作,将论文结构安排如下:
本章首先分析了课题的研究背景,然后通过介绍国内外现有的单元测试框架,分析了现有的单元测试框架无法满足WinFormControl自动化测试需求的原因,阐明了开发一套面向WinFormControl的自动化测试框架的意义,最后对论文的工作进行了总结以及对各章节内容进行了安排。
第二章WinFormControl及常用单元测试框架
本章介绍了WinFormControl的定义及分类,并分析了几个常用的单元测试框架的原理。
第三章WinFormControl自动化测试研究与分析
本章根据WinFormControl的特点,研究总结了WinFormControl自动化测试的原理,着重研究了鼠标和键盘的事件处理,提出了WinFormControl的GUI测试思想,并给出了WinFormControl自动化测试的流程及分析了WinFormControl自动化测试的优点。
第四章面向WinFormControl的自动化测试框架的设计
本章详细描述了如何对GUI测试框架和Input测试框架进行设计实现,以及对结果比较方法的设计实现,并分析了面向WinFormControl的自动化测试框架的优点。
第五章面向WinFormControl的自动化测试框架的验证
本章将此框架运用于WinFormControl的自动化测试工作中,根据具体的测试用例,运用此框架编写测试脚本,根据脚本运行的情况及测试结果报告,验证了框架的正确性和实用性。
第六章结束语
本章一方面对本文所研究的项目加以总结,另一方面提出进一步改进和完善该项目的方法。
希望能有更多更好的面向控件领域的自动化测试框架推出,并投入实际生产当中。
2.1WinFormControl的定义及分类
控件(Control)是在图形用户界面(GUI)中屏幕上的一种对象,用户可操作该对象来执行某一行为。
控件是用户可与之交互以输入或操作数据的对象。
控件通常出现在对话框中或工具栏上[16]。
WinFormControl是控件的一种,目前,对于WinFormControl的应用非常广泛。
2.1.1WinFormControl的定义
.NETFramework为开发人员提供了两种控件支持。
一种是WebControl,一种是WinFormControl。
顾名思义,WebControl是Web开发所需要的控件产品,而WinFormControl则是在设计和开发Windows应用程序时,用到的控件[17]。
WinFormControl是可重用的控件,它们封装了用户界面的功能,可以在基于Windows的客户端应用程序中使用。
“Windows窗体”不仅提供了许多现成控件,还提供了自行开发控件的基础结构。
可以组合现有控件、扩展现有控件或创作自己的自定义控件。
WinFormControl是从System.Windows.Forms.Control直接或间接派生的类。
以下列表描述了开发Windows窗体控件的常见方案[9]:
1组合现有控件来创作一个复合控件。
复合控件封装有一个可以作为控件重复使用的用户界面。
其中的一个示例就是由文本框和重置按钮组成的控件。
可视化设计器为创建复合控件提供了有力的支持。
若要创作复合控件,请从System.Windows.Forms.UserControl派生。
基类UserControl为子控件提供了键盘路由并使子控件可以作为一个组进行工作。
2扩展现有控件,对其进行自定义或为其添加功能。
一个不能更改颜色的按钮和一个具有跟踪点击次数属性的按钮就是扩展控件的具体示例。
可以通过从任何Windows窗体控件派生控件并重写或添加属性、方法和事件的方式来自定义Windows窗体控件。
3创作一个不是通过组合或扩展现有控件而形成的控件。
在这种方案中,需从基类Control派生控件。
可以添加和重写基类的属性、方法和事件。
4WinFormControl的基类提供了客户端基于Windows的应用程序中的可视显示
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 面向 WinFormControl 自动化 测试 框架 设计 实现 毕业设计 论文