软件测试GUI自动化测试研究.docxVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件测试GUI自动化测试研究

附录1外文译文GUI自动化测试研究摘要:指出了目前自动化测试所采用的录制技术存在的不足,针对不断变化的图形用户界面测试代码很难维护和扩展的问题,采用基于对象的捕捉技术,设计了以Windows消息机制为基础的GU IATF测试框架,实现了高度灵活并易于扩展的图形用户界面自动化测试。关键词:软件测试;回归测试;自动化0.引言测试是一种旨在评估一个程序或系统的属性或能力,确定它是否符合其所需结果的活动。在整个软件开发过程中,从需求分析到系统设计直到代码实现,都会出现或多或少的问题。如何保障软件的质量,软件测试就成为关键的技术。软件测试的工作量很大并具有一定的重复性,尤其在测试后期所进行的回归测试中(回归测试在软件出现发展性的改变和修正性改变时运行),需要验证以前发现的问题在新版本中是否解决,大部分测试工作是重复的。实现软件测试的自动化可以使大量的测试程序化地反复执行,不仅节约了大量的劳动力,而且提高了测试效率并保证了测试的质量。1.录制技术的不足目前一些录制技术被应用到图形用户界面的自动化测试中,在软件开发周期中,系统需要不断地更新和维护,为了保证测试质量,测试代码对不断变化的系统要有很强的适应能力,换句话说,测试也同样需要维护。测试脚本的录制过程是根据具体的界面和操作进行的,一旦脚本的执行界面发生改变,运行就会出现异常,甚至仅仅是被操作对象位置的改变或图像分辨率的改变都可能会造成图形用户界面自动化测试的失败,因此,基于录制技术的自动化测试维护的代价相当高。另外,脚本录制的过程是固定的,所以脚本的运行会完全按照操作步骤,不具备灵活性。2.自动化测试框架的提出在目前的软件测试中,一个备受关注的问题是如何高效地实现图形用户界面的自动化测试,并使测试代码具有很高的灵活性。本文提出了一种基于对象捕捉技术的图形用户界面自动化测试框架GUIATF(Graphics User Interface Automation Testing Framework),为测试人员方便地创建并灵活地维护测试代码提供保证。当用户界面发生变化时,测试代码能很快地进行更新,对用户界面的变化有很强的适应能力。3.GUIATF框架的工作原理GUIATF框架的基础是消息机制,通过消息的发送来触发相应的事件。消息的初始接收器必须是窗口对象。Windows消息通常直接由该窗口对象处理。通常产生于应用程序主框架窗口的命令消息被传送到命令传送中描述的命令目标链。GUIATF框架要完成的任务是为测试人员开发自动化测试代码提供功能强大的接口,模拟测试用例中定义的用户操作,通知系统发送一系列的消息给应用程序,实现测试用例的自动化运行。3.1 GUIATF的作用图1GUIATF的作用从图1可以看出GUIATF将消息发送给系统,系统响应消息之后通知应用程序来触发对应的事件,完成测试用例中定义的一系列用户操作。GUIATF是连接应用程序和用户操作的桥梁。在自动化测试过程中,测试用例是批量运行的,为了跟踪测试结果,GUIATF需要不断记录执行过程、探测不期望出现的事件以及在运行异常时保存现场截图。这些结果数据通过日志管理存储在日志数据库中,便于测试人员查看和分析测试结果。3.2 GUIATF的结构GUIATF框架由四个模块构成:对象定位、字符转换、消息发送和日志记录,如图2所示。对象定位模块将用户要操作的控件对象转化为GUIATF框架自身定义的自动化对象,然后再对其定位,在定位过程中,需要获取控件的一些属性信息,最常用到的是控件显示在界面上的名称。在不同的语言版本中,同一个控件的名称是不同的,字符转换模块提取当前环境的语言类型,将要检索的控件名称转换为当前语言环境中对应的名称,发送给对象定位模块。对象定位成功后,消息发送模块将模拟用户操作的消息发送到被锁定的对象,比如:用鼠标点击被定位的按钮或在被定位的编辑框中录入信息等。在以上三个模块执行的过程中,日志跟踪模块分别记录它们工作的详细信息,以便自动化测试运行结束后,测试人员通过查看日志信息分析测试结果。图2GUIATF的结构(1)对象定位模块对象定位模块使GUIATF框架在处理控件对象方面具备功能丰富的接口,测试人员通过调用它们可以方便、高效地实现自动化对象的创建、检索自动化对象包含的子对象、激活对象、确定对象角色、状态和位置等功能。应用程序中的每一个控件都属于主窗口中的子窗口,包括按钮、编辑框等,它们都是Windows系统中的窗口。每个窗口都有一个窗口句柄作为其在系统中的唯一标识,对象定位模块通过获取窗口句柄将其转化为自身定义的自动化对象,主要定义如表1所示。表1 对象定位模块主要成员函数及属性成员函数及属性功能Public Constructor(stringName)根据空间名称创建自动化对象internal bool CheckForUn

文档评论(0)

feixiang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档