资源描述:
《gui软件测试自动化工具的研究与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、南京航空航天大学硕士学位论文摘要当前,面向终端用户的软件绝大部分采用图形用户界面(GraphicalUserInterface,GUI)技术。随着人们对于软件质量的要求越来越高,软件测试在软件开发中的地位变得越来越重要,所以GUI测试在软件开发中的地位也越发重要。伴随着软件技术的不断发展,当前的软件规模也日趋庞大,手工测试很难满足目前人们对软件测试尤其是GUI测试的要求。因此,自动化测试的研究越来越受到重视,测试自动化已经成为软件测试的一个主要发展趋势。本文首先研究了自动化测试和GUI测试的相关理论,总结了GUI测试的特点。在对现有GUI
2、描述模型的研究的基础上,提出了静态、动态相结合的描述方法对GUI对象进行描述,并重点介绍了动态描述方法,即基于Petri网的GUI模型。其次针对目前流行的软件测试框架的优缺点进行了分析,结合基于Petri网的GUI模型,提出一种基于模型驱动的软件自动化测试框架。该测试框架可以大大减少测试系统的脚本数量,提高了测试的可维护性。最后在以上研究的基础上实现了一个分布式模型驱动的自动化测试工具。目前的自动化软件测试工具主要用于回归测试,但对于需要由客户参加的α测试和β测试并没有很好的支持。本文实现的自动化测试工具很好的支持了α测试和β测试,可以有
3、效提高测试效率,节省测试成本。关键词:图像用户界面测试,自动化测试,测试模型,模型驱动,测试框架iGUI软件测试自动化工具研究与实现ABSTRACTCurrently,thesoftwaremostlyadoptsthegraphicuserinterface(GUI)technologytomeettheenduser’sneeds.Aspeoplepaymoreattentiontosoftware’squality,thesoftwaretestingplaysmoreimportantroleinthedevelopmentoft
4、hesoftware,whichleadstothepositionofGUItestinginthedevelopingofsoftwareriseshighly.Accompanyingwiththecontinuesdevelopmentofthesoftwaretechnology,currentsoftwarescaleisalsogettingample,thusthehandingtestcan’tsatisfypeople’spresentrequirementofthesoftwaretesting,especially
5、GUI.Therefore,thestudyoftheautomatedtestingisregardedhighly,andthetestingautomationalreadybecomesamaindevelopingtreadofsoftwaretesting.TherelevanttheoryoftheautomatingtestingandGUItestinghasbeenstudiedandthecharacteristicoftheGUItestinghasbeensummedupfirstlyinthispaper.Ac
6、cordingtothepresentstudyofGUIdescriptionmodel,thedescriptionmodelwithstaticanddynamiccombinationofmethodshasbeenputforwardtodescribetheGUI.Andthedynamicdescriptionmethod,whichistheGUImodelbasingonPetrinethasbeenintroducedpriority.Secondly,thispaperanalyzedtheadvantageandd
7、isadvantageofthepopularsoftwaretestingframe,andconsideringtheGUImodelbasingonPetrinet,akindofsoftwareautomatingtestframebasedonthemodeldrivehasbeensuggested.Thetestframeworkcangreatlyreducethenumberofscript,andimprovethemaintainabilityofthetest.Thenatlast,onthefoundationo
8、fallabove,adistributedautomationtestingtoolwiththemodeldriverhasimplemented.Atpresent,theautomat