用户界面清单的制作方法

文档序号:6426757阅读:200来源:国知局
专利名称:用户界面清单的制作方法
技术领域
本发明涉及计算机领域,尤其涉及计算机领域中的用户界面清单。
背景技术
软件测试可以被看作是验证和校验软件程序、应用程序、或产品达到其商业和技术要求,如预期执行,以及能够被实现的过程。不同的软件开发模型关注开发过程中不同点处的测试尝试。可以使用包括代码覆盖、手动和自动测试、以及场景和特征测试在内的众多不同方法来测试软件。测试用户界面尤其困难。测试用户界面尤其困难的原因是每一用户界面元素的潜在使用范围,以及安排顺序的必须性。即便是诸如Microsoft @写字板的小程序也至少具有325个可能的用户界面操作。在大的程序中,要测试的操作的数目可以很容易地变得庞大。与测试用户界面相关联的另一个问题包括定序。可能只有通过发起一个复杂序列的用户界面事件才能调用系统的某些功能。例如,为了在Microsoft Word中打开文件, 用户必须点击文件菜单,选择打开操作,使用对话框以指定文件名,并且然后在新打开的窗口处理应用程序。显然,可能操作数的增加指数地增加了定序问题。此外,丰富的用户界面可以被重新排列成各种视图或模式,这使得测试矩阵更为复杂。

发明内容
可以将用户界面编目到用户界面清单数据库中,在包含在目标代码库内的用户界面上启用收集、编目、测试和报告。通过使用用于每一用户界面元素的全局标识符以及将用户界面元素与元数据相关联,可以确定开发者或开发者组所负责的用户界面元素的数量。 可以量化、跟踪、以及报告用户界面元素的数量。可以确定和量化在用户界面元素或用户界面元素组上执行的测试的程度。所述用于每一用户界面元素的全局标识符可以是跨各个平台、清单单元(SKUs)、体系结构、里程碑、和语言一致的,以便于将来自于众多不同计算机或计算机系统的信息添加入用户界面库存数据库。提供本发明内容以便用一种简单的形式介绍将在以下具体实施方式
中进一步描述的一些概念。本发明内容不旨在确定所要求保护的主题的关键或必要特征,也不旨在用于限制所要求保护的主题的范围。


在附图中图1示出依照此处所公开的主题的方面,用户界面清单系统100的示例。图2是依照此处所公开的主题的方面,用于建立和使用用户界面系统的方法200 的示例的流程图。图3是示出其中可以实现所公开的主题的方面的计算环境示例的框图。
图4是依照此处所公开的主题的方面,集成开发环境示例的框图。
具体实施例方式概况传统的测试方法在跨复杂软件的测试用户界面的能力方面存在缺陷,复杂软件诸如但不限于操作系统。软件可以包括跨多个体系结构、语言、库存单元(SKUs)、平台、以及里程碑的数以千计的用户界面,还没有用于量化已经被测试的用户界面数量乃至有多少用户界面在系统中存在的已知方法。此处描述的主题针对产生可量化的结果以便于跟踪计算机程序代码的测试,以及便于所有者能够对其创建的软件负责。用户界面清单图1示出用户界面清单系统100的示例。系统100的全部或部分可以驻留在诸如以下依照图3描述的计算机的一个或多个计算机上。系统100的全部或部分可以驻留在诸如以下依照图4描述的计算机的一个或多个软件开发计算机(例如计算机102)上。系统 100或其部分可以包括诸如以下依照图4描述和示出的集成开发环境(例如IDE 104)的一部分。系统100或其部分可以包括生产系统的一部分。系统100或其部分可以包括测试系统的一部分。可以提供系统100或其部分以作为独立的系统或作为插件或加载项。系统100可以包括以下的一个或多个处理器(例如处理器142)、存储器144、用户界面清单数据库或目录106、能够跟踪用户为完成任务进行的事件的顺序的场景收集器 108、能够记录用户为完成任务进行的事件并且回放该事件顺序以用于测试的记录和回放模块110、能够为现有的用户界面元素上传新用户界面元素和/或元数据的用户界面清单上传器112、能够报告量化的校验的报告生成器114、能够校验和测试代码的校验引擎116、 以及代码库118(该代码库为构成用户界面元素的代码和支持用户界面元素的功能的集合)。还可以包括其它本领域中所熟知的组件,但并没有在这里示出。应当理解到实现场景收集器108、记录和回放模块110、用户界面清单上传器112、报告生成器114、以及校验引擎 116的一个或多个模块可以被上传到存储器114中以使诸如处理器142的一个或多个处理器执行属于系统100的组件的动作。系统100可以在图1中由应用程序122所表示的正在运行(正在执行)的应用程序或操作系统上操作。用户界面清单数据库或目录106可以包括在正在运行的应用程序122中涉及的用于每一用户界面元素的信息。信息可以跨时间、跨多个计算机或计算系统上的多个正在执行的应用程序被收集,以增加存储在用户界面清单数据库或目录106中的信息。依照此处所公开的主题的若干方面,用户界面清单数据库或目录106的关键为用于存储在用户界面清单数据库或目录106中的每一用户界面元素的全局标识符。该用于用户界面元素的全局标识符可以是跨系统相同的。更具体地,依照此处所公开的主题的若干方面的全局标识符是跨整个用户界面系统唯一的。即便是例如用单词“好的”来相同地标记的按键的元素也是基于诸如窗口、类名称、控制类型、应用程序、和自动化ID的关键试探法被唯一标识的。这些性质中的一些是由被称为UI自动化(UI自动化是Microsoft 的计算机可访问性技术) 的编程式访问界面提供的。用户界面清单数据库或目录106中的信息可以包括在任何特定时间点处与用户界面元素的状态相关联的信息,在场景内任何特定时间点处与用户界面元素的状态相关联的信息,一系列与用户界面元素的连续进展的用户交互,用户界面元素的
5全局标识符,用于用户界面元素的元数据,与用户元素中的变化相关联的事件,等等。用于用户界面元素的元数据可以包括关于用户界面元素的信息,关于与用户界面元素相关联的测试的信息,以及由与包含用户界面元素在内的记录的场景有关的场景收集器108收集的信息。用户界面清单数据库或目录106还可以包括包含有由用户跨时间接触到的所有用户界面元素(由全局用户界面元素标识符标识)的场景数据。场景数据还可以包括用于用户界面元素的时间戳记的状态信息,一系列与包含用户界面元素在内的用户界面元素的连续进展的用户交互,相关联的可访问性事件、系统范围的事件,等等。关于用户界面元素的信息可以包括用户界面元素的属性,属性的描述,属性的一个值或属性的一列表或范围的各值,必须/非必须的指示符,对于谁来维护属性的标识(例如用户、工具、或两者兼有),以及优先级评定。每一用户界面元素可以被链接到校验以启用解决核心问题的能力,该核心问题为量化哪些以及多少用户界面元素被测试过。属性包括,但是不局限于下列的优先级(例如用于可访问性、局部化、或)(DR)和其它用户界面元素相比较该用户界面元素有多重要查询字符串在软件中用户界面元素的标识到父记录的链接到包含有当前用户界面元素的父元素的链接时间戳已上传当上传用户界面元素时时间戳已修改当最后一次修改用户界面元素时最后修改由最后一次修改用户界面元素的人源元素是如何被上传的类名称从中创建用户界面元素的类到框架的链接到创建控制的框架的具体链接进程名用户元素属于的进程模块用户界面元素属于的模块字符串资源位置持有字符串资源的位置比较(comp)中央路径标识用户界面元素的拥有者的位置SKU 库存单元标识符图像元素的图像(例如可以被用于视觉分析和回放)。附加的属性包括,但不限于下列的体系结构例如32位体系结构或64位体系结构系统解析(syseParse)详细的系统信息语言机器语言屏幕截图到用户界面元素表面的屏幕截图的链接日志文件到创建条目的日志文件的链接场景属性查看用户界面元素的场景属性的方法(可以是一对多的关系)MSAA性质用于用户界面元素的所有用户界面自动化数据UIA性质用于用户界面元素的所有用户界面自动化边界矩形在用户界面表面上定义用户界面元素的位置的四个坐标用户界面表面区分用户界面元素是否是顶层元素的属性
主动的描述用户界面元素是否是传送(shipping)元素私有的描述用户界面元素是否是私有的以及不能被拥有读取权限的用户看见。可以在用户界面清单目录中呈现应用于任何用户界面元素的任何校验。可以通过各种工具和由其它工具上传的用户界面元素来确定校验属性。因此,SKU和体系结构需要元素特定的域。校验属性可以包括,但不限于名称校验的名称结果校验的状态(例如通过、失败、被抑制、或被阻止)漏洞id 与校验相关联的漏洞正式的/非正式的这一校验是否用于报告特征的正式状态源校验的结果来自于的地方(例如来自于实验室、手册、工具、场景)SKU 运行校验的机器的SKU体系结构例如运行校验的32/64位机器其它建立、实验室等桌面主题在用户桌面上运行的当前主题屏幕分辨率当前运行的屏幕分辨率DPI 桌面的每英寸点数系统解析(SyseParse)确定哪些是需要的。附加的校验属性可以包括,但不限于语言运行校验的机器语言屏幕截图对于发生了什么校验工具和/或校验工具在哪里发生的屏幕截图日志文件关于校验结果的额外信息测试组测试的一般分组(例如可访问性、局部化、XDR等)测试作为那些测试组的子集的单独测试优先级单独测试的优先级链接获得关于测试的更多信息的链接里程碑校验运行的当前里程碑原则由这一校验实现的原则退出准则名由这一校验实现的退出准则退出准则描述每一退出准则的描述退出准则优先级每一退出准则的优先级状态为测试者提供添加例如公开漏洞等的信息的能力的注解部分,该注解部分帮助解释场景的状态最后修改由谁最后一次修改用户界面元素。还可以将每一用户界面元素链接到一个或多个场景。对应用于用户界面元素的每一个场景来说,下列的属性可以存在于用户界面清单数据库或目录106中核心(pillar)场景由原则定义的场景(例如通过键盘可导航的,事件是正确的)特征场景由特征团队定义的场景元素到被包括在场景中的用户界面元素的链接
元素时间戳事件何时在场景中发生的时间戳事件发生的事件的类型事件信息每一事件的事件信息事件时间戳事件何时在场景中发生的时间戳事件信息这是与事件相关联的数据(例如MouseButtonDown具有鼠标下的什么按键)HWND 运行时间窗口句柄元素ID =UI元素的唯一标识符。场景收集器108可以被用于在诸如应用程序122的正在运行的(正在执行的)应用程序或操作系统上收集场景数据。场景收集器108可以在后台运行,可以响应于对用户界面元素的激活而收集与该用户界面元素相关联的信息,并且可以将所收集的场景数据存储在日志文件120中。上传模块或上传器112可以读取日志文件120,并且将来自于日志文件120的信息存储在用户界面清单数据库或目录106中。校验引擎116等可以处理存储在用户界面清单数据库或目录106中的数据,以提取和合并来自用户界面清单数据库或目录 106的信息。报告生成器114可以接收来自校验引擎116的存储在用户界面清单数据库或目录106中的处理过的数据,并且由此生成报告。报告生成器114可以报告用户界面测试结果,该结果包括,但不限于用户界面测试覆盖(用户界面覆盖)以及完整性的程度。报告生成器可以报告的项目包括,但不限于在主体代码库(例如Microsoft Windows)中包含了多少用户界面元素?每一用户界面元素经历了什么测试需求?团队如何在其拥有的用户界面元素上退出?在场景中包括了什么用户界面元素?什么场景使用具体的用户界面元素?使用用户界面清单数据库或目录106中的信息,可以跟踪和分析穿过用户界面的路径。这一数据可以被用于确定在一个或多个用户界面元素上还需要什么其他数据以便于收集更多的用户界面数据。可以使用存储在用户界面清单数据库或目录106中的数据来执行路径分析,该路径分析例如,但不限于调用路径分析或用户UI (用户界面)路径分析。例如,如果从用户界面元素1到用户界面元素2有12条不同的路线,可以在用户界面清单数据库或目录106中的数据上执行路径分析,以确定用户从用户界面元素1到达用户界面元素2的χ条最常见的路线。记录和回放模块110可以表示允许用户通过一系列用户界面元素以运行,停止和回放动作的序列的工具。记录和回放模块110还可以使用存储在用户界面清单数据库或目录106和/或日志文件120中的信息,用来自用户界面清单数据库或目录106的数据来覆盖所收集的场景数据。通过记录一系列动作,以及通过用来自用户界面清单数据库或目录 106的数据覆盖所收集的信息来将所记录的场景外插至多个不同的计算机系统设置,可以将记录和回放模块110应用于测试。例如,记录可以使用用户界面清单数据库或目录106 以及日志文件120,并且回放该记录,用不同的语言、不同的屏幕分辨率、不同的视觉样式或主题等来覆盖原始设置。图2是依照此处所公开的主题的方面,用于生成和使用以上参考图1描述的用户界面清单系统的方法200的示例。应当理解到以下动作中的一些是可选择的,或者可以以不同于图2所描绘的顺序被执行。在202处,可以使用诸如全局用户界面标识符这样的信息预先填充用户界面清单数据库或目录。可以通过对包含有窗口句柄(HWND)的焦点变化事件或任何其它可访问性或系统事件的检测来识别用户界面元素的激活,包括但不限于鼠标事件或其它输入设备事件等。依照此处所公开的主题的若干方面,用户界面元素可以展示可访问性信息,用于用户界面元素的全局标识符来源于该可访问性信息。或者,可以通过获取用于用户界面元素的窗口以及遍历父亲链,在父亲链和其中发生用于用户界面元素的焦点变化事件或其它事件的应用程序中收集用于每一父亲的句柄,来得到用户界面元素的全局标识符。该收集到的信息可以在历史(例如日志文件)中被收集。可以初始地将用户界面清单数据库或目录创建为一系列全局用户界面元素标识符,其它相关联的信息片段随后被添加入全局用户界面元素标识符。全局用户界面元素标识符对于跨任何应用程序、系统或使用的用户界面元素是不变的。应用程序数据可以被用于确定用户界面元素的所有权。在创建用户界面清单数据库或目录之后,当运行应用程序时,在204处可以由场景收集器或其它数据聚集工具来收集数据。生成的用于被激活的用户界面元素的全局标识符可以被用于确定该被激活的用户界面元素是新的用户界面元素(将不在目录中)还是已知的(编目的)用户界面元素。可以在生产或测试环境中、在一个或多个系统上、在一个或多个日志文件中、跨一个或多个不同的时间段,来收集信息。可以由反馈工具来收集信息, 该反馈工具包括但不限于收集来自于用户的用户数据的场景反馈工具,该用户包括但不限于远程客户,从而信息从客户基地被收集并且被发送到一个或多个数据收集中心。在206 处,由诸如场景反馈收集器的工具收集并且被存储在诸如场景日志文件的文件中的信息可以被用于更新用户界面清单数据库或目录(例如由上传器或上传模块)。在208处,校验模块可以如以上所述处理信息。可以在用户界面清单数据库或目录中的数据上运行多个校验,该校验包括丢失了什么用于用户界面元素的信息,用户界面被激活了多少次,如何使用用户界面元素,生成了什么事件,用于用户界面元素的状态变化等等。可以分析场景数据以检测为了完成任务最频繁地使用了哪些用户界面元素,或者为了完成具体的一个或多个任务最频繁地使用了哪些用户界面元素,使得系统能够增加用户界面元素的优先级。在210处各种报告包括,但不限于,以上描述的可以被生成的报告。这些报告可以包括,但不限于关于最常用的用户界面元素、不激发事件或激发具体事件的用户界面元素、单独用键盘操作的用户界面元素、执行任务的最小和最大时间、具体用户界面元素在场景中出现的次数、用户界面元素的故障百分比概率等的报告。应当理解到如以上描述采集和分析的信息可以被用于为软件供应商生成优先级
故障修理报告。合适的计算环境的示例为了为此处所公开的主题的各方面提供上下文,图3和以下描述旨在提供对于其中可以实现各实施例的合适计算环境510的简要一般的描述。尽管在诸如程序模块的由一个或多个计算机或其它计算设备执行的计算机可执行指令的一般上下文中描述此处所公开的主题,但是本领域的技术人员会意识到还可以与其它程序模块和/或硬件和软件的组合结合以实现此处所公开的主题的部分。一般地,程序模块包括执行具体任务或实现具体数据类型的例程、程序、对象、物理工件、数据结构等。一般地,可以按需要在各实施例中组合或分配程序模块的功能。计算环境510仅是合适操作环境的一个示例,并且不旨在限制此处所公开的主题的使用或功能的范围。参照图3,以计算机512的形式描述了用于线性堆栈上共同例程的有效恢复的计算设备。计算机512可以包括处理单元514、系统存储器516、以及系统总线518。处理单元514可以是各可用处理器中的任何一个。双微处理器和其它多处理器体系结构也可以被使用作处理单元514。系统存储器516可以包括易失性的存储器520和非易失性的存储器522。非易失性的存储器522可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程 ROM(EPROM)、或快闪式存储器。易失性的存储器520可以包括充当外部高速缓存的随机存取存储器(RAM)。系统总线518将包含系统存储器516在内的系统物理工件与处理单元514 相连接。系统总线518可以是包含存储器总线、存储器控制器、外设总线、外部总线、或本地总线在内的若干类型中的任何一种,并且可以使用各可用的总线体系结构中的任何一个。计算机512 —般包括诸如易失性和非易失性介质、可移动和不可移动介质的各种计算机可读介质。计算机存储介质可以以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术来实现。计算机存储介质包括但不限于,RAM、ROM、 EEPR0M、快闪式存储器或其它存储器技术、CDR0M、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或者可用于存储所需信息并且可由计算机512访问的任何其它暂时性的或非暂时性的介质。应当理解到图3描述了可以充当用户和计算机资源之间的媒介的软件。这一软件可以包括可以被存储在磁盘存储5M上并且可以控制和分配计算机系统512的资源的操作系统528。磁盘存储5 可以是通过诸如接口 5 的不可移动存储器接口被连接到系统总线518的硬盘驱动器。系统应用程序530利用由操作系统5 通过存储在系统存储器516 中或磁盘存储5M上的程序模块532和程序数据534进行的对资源的管理。应当理解到可以用各种操作系统或操作系统的组合实现计算机。用户可以通过输入设备536将命令或信息输入到计算机512。输入设备536包括但不限于,诸如鼠标、轨迹球、手写笔、触摸板、话筒等的指针式设备。这些以及其它的输入设备通过接口端口 538经由系统总线518连接到处理单元514。接口端口 538可以表示串行端口、并行端口、通用串行总线(USB)等。输出设备540可以使用和输入设备相同类型的端口。提供输出适配器M2以示出有一些需要具体适配器的输出设备M0,例如监视器、扬声器和打印机。输出适配器542包括但不限于,提供输出设备540和系统总线518之间的连接的视频卡和声卡。诸如远程计算机544这样的其它设备和/或系统或设备可以同时提供输入和输出的能力。计算机512可以在使用逻辑连接到诸如远程计算机544的一个或多个远程计算机的网络环境中操作。远程计算机544可以是个人计算机、服务器、路由器、网络PC、对等设备或其它常用网络节点,并且一般包括以上描述的与计算机512有关的众多或全部的元素, 尽管在图4中仅示出了存储器存储设备M6。可以通过通信连接550来逻辑连接远程计算机讨4。网络接口 548包括诸如局域网(LANs)和广域网(WANs)的通信网络,但也可以包括其它网络。通信连接550指的是将网络接口 548与总线518连接所采用的硬件/软件。 连接550可以是计算机512内部的或外部的,并且包括诸如调制解调器(电话机、电缆、DSL和无线)和ISDN适配器、以太网卡等的内部和外部技术。应当理解到所示网络连接仅是示例,并且可以使用在计算机之间建立通信链路的其它方法。一名本领域的一般技术人员应当理解到可以部署计算机512或其它客户设备以作为计算机网络的部分。就这一点而言,此处所公开的主题可以针对具有任何数量的存储器或存储单元、以及具有跨任何数量的存储单元或卷发生的任何数量的应用程序和进程的任何计算机系统。此处所公开的主题的方面可以应用于在网络环境中部署具有远程或本地存储的服务器计算机和客户计算机的环境。此处所公开的主题的方面还可以应用于具有程序设计语言功能、解释和执行能力的独立的计算设备。图4示出集成开发环境(IDE) 600和公用语言运行时环境602。IDE 600可以允许用户(例如开发者、程序员、设计者、编码员等)在计算机系统中设计、编码、编译、测试、运行、编辑、调试或建立程序、程序集、网络站点、网络应用、以及网络服务。软件程序可以包括由一种或多种源代码语言(例如 Visual Basic,Visual J#、C++、C#、J#、Java Script、APL、 COBOL、Pascal、Eiffel、Haskell、ML、Oberon> Perl、Python、Scheme、Smalltalk 等)创建的源代码(组件610)。IDE 600可以提供本地的代码开发环境,或提供在虚拟机器上运行的托管代码开发,或者提供两者的组合。IDE 600可以提供使用.NET构架的托管代码开发环境。当执行应用程序时,可以使用语言特定的源编译器620以通过源代码组件610和本地代码组件611来创建中间语言组件650,并且使用中间语言编译器660(例如即时(JIT) 编译器)以通过中间语言组件650来创建本地的代码组件611(例如机器可执行指令)。也就是说,当执行IL应用程序时,该IL应用程序在被执行到用于其执行所在的平台的适当机器语言时被编译。或者在其它实施例中,程序可以被编译为适合其预期平台的本地代码机器语言(没有示出)。根据通过IDE 600中的用户界面640和源代码编辑器651与具体源语言相关联的已知软件编程技术以及具体逻辑和句法规则,用户可以创建和/或编辑源代码组件。此后, 可以通过源编译器620编译源代码组件610,据此可以创建诸如汇编630的程序的中间语言表示。汇编630可以包括中间语言组件650和元数据642。能够在部署前验证应用程序设计。可以结合硬件或软件或者在适当情况下两者的组合来实现此处描述的各种技术。 因此,此处描述的方法和设备、或者其特定方面或部分可以采取在诸如软磁盘、CD-ROMs、硬盘驱动器、或任何其它机器可读存储介质的实体介质中包含的程序代码(即指令)的形式, 其中,当诸如计算机的机器载入并且执行程序代码时,该机器成为用于实现此处所公开的主题的方面的设备。就可编程计算机上的程序代码执行而言,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元素)、至少一个输入设备、以及至少一个输出设备。可以在高层的面向过程的或面向对象的程序设计语言中实现一个或多个程序以与计算机系统通信,例如通过使用数据处理API等以利用域特定的编程模块方面的创建和/或实现。但是如果需要,可以用汇编或机器语言实现程序。在任何情况下,语言可以是编译或解释的语言,并且与硬件实现结合。尽管结合附图描述了此处所公开的主题,但是应当理解到可以做出修改以用不同的方法执行同一功能。
权利要求
1.一种系统(100),包括处理器(142)和存储器(144);以及模块(106)被配置为使处理器(142)接收与由全局标识符标识的用户界面元素相关联的信息;将所接收的信息存储在其关键为全局标识符的用户界面清单目录(106)中,其中所述全局标识符是跨计算机系统相同的,其中所述存储在用户界面清单目录(106)中的信息包括用于用户界面元素的元数据、在特定时间点处用户界面元素的状态、在场景内特定时间点处与用户界面元素的状态相关联的信息、与用户元素中的变化相关联的事件、或者一系列与包含用户界面元素在内的用户界面元素的连续进展的用户交互。
2.如权利要求1所述的系统,其特征在于,还包括被配置为使处理器使用由一模块收集的信息来更新用户界面清单目录的模块,所述模块将从正在执行的应用程序收集的信息存储在日志文件中,所收集的信息与用户界面元素相关联。
3.如权利要求1所述的系统,其特征在于,还包括一模块,所述模块被配置为使处理器分析与由全局标识符标识的并且存储在用户界面清单目录中的用户界面元素相关联的的 fn息ο
4.如权利要求1所述的系统,其特征在于,还包括一模块,所述模块被配置为使处理器报告由全局标识符标识的并且存储在用户界面清单目录中的用户界面元素的测试程度。
5.如权利要求1所述的系统,其特征在于,所述用于用户界面元素的全局标识符来源于响应用户界面元素的激活而返回的可访问性信息。
6.一种方法,包括接收与软件开发计算机上的用户界面元素相关联的信息,所述用户界面元素由全局标识符标识,其中所述全局标识符来源于与用户界面元素相关联的可访问性信息O04);将所接收的信息存储在用户界面清单数据库中,所接收的信息是响应于用户界面元素的激活从正在执行的应用程序处被收集的O06);分析所存储的信息以量化用户界面元素的测试和使用的程度(208)。
7.如权利要求6所述的方法,其特征在于,所存储的信息包括在特定时间点处用户界面元素的状态、在场景内特定时间点处与用户界面元素的状态相关联的信息、一系列与包含用户界面元素在内的用户界面元素的连续进展的用户交互、用户界面元素全局标识符、 或者用于用户界面元素的元数据。
8.如权利要求6所述的方法,其特征在于,还包括用来自用户界面清单数据库的信息覆盖所存储的信息以将包含有用户界面元素的所记录的场景的结果外插至多个不同的计算机系统设置。
9.如权利要求6所述的方法,其特征在于,还包括基于所分析的信息以生成关于用户界面元素的使用和测试程度的报告。
10.如权利要求8所述的方法,其特征在于,还包括用从多个计算机上的多个正在执行的应用程序处收集的信息来更新用户界面清单目录,在所述计算机中用户界面元素被激活。
11.一种包括计算机可执行指令的计算机可读存储介质,所述计算机可执行指令在执行时使至少一个处理器接收与由全局标识符标识的用户界面元素相关联的信息,其中所述全局标识符来源于与用户界面元素相关联的可访问性信息O04);将所接收的信息存储在其关键为全局标识符的用户界面清单数目录中,其中所述全局标识符是跨系统相同的,其中所述存储在用户界面清单目录中的信息包括在特定时间点处用户界面元素的状态和元数据、在场景内特定时间点处与用户界面元素的状态相关联的信息、与用户元素中的变化相关联的事件、或者一系列与包含用户界面元素在内的用户界面元素的连续进展的用户交互006)。
12.如权利要求11所述的计算机可读存储介质,其特征在于,还包括计算机可执行指令,所述计算机可执行指令在执行时使至少一个处理器分析与由全局标识符标识的并且存储在用户界面清单目录中的用户界面元素相关联的信息,以报告用户界面元素的测试或使用的程度。
13.如权利要求11所述的计算机可读存储介质,其特征在于,还包括计算机可执行指令,所述计算机可执行指令在执行时使至少一个处理器用由一模块从正在执行的应用程序收集的信息来更新用户界面清单目录,所述模块将与用户界面元素相关联的所收集的信息存储在日志文件中。
14.如权利要求11所述的计算机可读存储介质,其特征在于,还包括计算机可执行指令,所述计算机可执行指令在执行时使至少一个处理器通过分析存储在用户界面清单目录中的信息来量化用户界面元素的测试或使用的程度。
15.如权利要求11所述的计算机可读存储介质,其特征在于,还包括计算机可执行指令,所述计算机可执行指令在执行时使至少一个处理器通过用来自用户界面清单数据库的信息覆盖所存储的信息,并且通过回放场景,来外插包含有用户界面元素的所记录场景的结果。
全文摘要
本发明涉及用户界面清单。标识用户界面元素并且将其编目到其关键为全局用户界面元素标识符的用户界面清单数据库中。收集用于正在执行的一个或多个应用程序中被激活的用户界面元素的信息。收集场景信息并且将其用于更新用户界面清单数据库。场景信息包括有关用户界面元素的使用、状态变化等的及时的信息。可以跨一段时间以及从多个不同的计算机系统处收集所述信息。可以分析该信息以确定和量化用户界面元素的使用和测试。所分析的信息可以被用于确定有多彻底地测试了用户界面元素,用户界面元素有多经常地如预期工作的,最常用的用户界面元素以及其它信息。所收集的信息可以被用于跟踪、量化以及标识用户界面元素的所有权。
文档编号G06F11/36GK102279791SQ20111016830
公开日2011年12月14日 申请日期2011年6月10日 优先权日2010年6月11日
发明者B·D·汉弗莱, D·G·芬克, D·克莱门提夫, G·E·墨菲三世, J·A·格里夫斯, P·J·里德, V·斯里拉姆 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1