在整个开发周期内自动确定用户界面的差异的方法和系统的制作方法

文档序号:6514952阅读:174来源:国知局
专利名称:在整个开发周期内自动确定用户界面的差异的方法和系统的制作方法
对相关申请的参照本发明涉及与本申请同时提交的标题为《用于屏蔽移动设备用户界面中的动态区以便允许测试用户界面一致性的方法和系统(Method and System for MaskingDynamic Regions in a Mobile Device User Interface to Enable Testing of User InterfaceConsistency)》的专利申请。该相关申请转让给本专利申请的受让人,并且被包括于此,用作参考。
背景技术
移动设备(例如,蜂窝电话、个人数据助理(PDAs)、手持式计算机和其它移动设备)的复杂性不断提高。这类设备的市场正在稳步地成为世界性市场,从而要求这些设备提供采用许多不同的语言并且在许多不同的平台上的内容。每个不同的平台可以进一步包括各种选项,它们会根据所选择的选项来产生不同的用户界面输出。
该设备的用户界面提供一种机制,该设备上的应用程序的内容通过该机制而向用户显示。用户界面提供命令或菜单集,用户通过该命令或菜单集来与程序进行通信。命令驱动界面是输入命令的一种用户界面。菜单驱动界面是从屏幕上显示的各种菜单中选择命令选项的一种用户界面。
该用户界面是任何程序的最重要的部分之一,因为它确定你能够如何容易地让该程序执行你的意图。功效再好的程序,若其用户界面设计拙劣,也没有什么价值。使用窗口、图标和弹出菜单的图形用户界面(GUIs)已成为个人计算机上的标准。因此,对于存在的这各种语言,该用户界面适用于提供所要求的那种语言的内容和命令。此外,其它差异的矩阵可能存在于各个用户界面之间。例如,可以按不同的分辨率在肖像或风景画内显示用户界面——具有或没有软件输入屏面(SIP),并且具有许多其它的变量。需要一种方法,用于自动验证不管该语言、平台或特定用户界面输出可能拥有的其它显示变量如何变化,用户界面都在其内容显示方面保持一致。

发明内容
本发明提供了一种方法和系统,用于在整个开发周期内自动确定移动设备用户界面中的各种差异。本发明涉及在目标设备上运行测试自动化,以运用那个目标设备的用户界面。在运用该用户界面的同时,激活扩展,它在其处于被选中状态时为该用户界面输出自动化执行拍摄快照。这些快照被存储和上传到服务器——在那里,随后在逐个像素的基础上对不同的自动化执行的快照进行比较。快照之间的这些差异按可视格式来输出——其中,在快照之间有所不同的这些像素被加亮。快照之间的这些差异的可视格式为用户提供了一种方法,用于容易地确定该目标设备的该用户界面内是否存在错误。由于快照之间的这些差异在逐个像素的基础上加以分析,因此,本发明可用于在任何语言下和在任何平台上操作的设备。
随同这些快照的自动比较,还提供了一种数据操纵的健壮性系统,可在整个开发周期内帮助分析该用户界面。在测试该用户界面的精确性的过程中,为该测试器呈现用于该数据分析的许多选项——包括(但不局限于)可返回通过/失败变量的、自动化执行之间的快照的精确性的快速测试。也存在其它选项,以下提供的附图和详细说明中呈现了本发明的其它实施例。


图1展示了可以被用于本发明的一个示例性实施例中的示例性计算设备。
图2展示了可以被用于本发明的一个示例性实施例中的示例性移动设备。
图3展示了根据本发明的示例性快照。
图4展示了根据本发明的一种用于自动确定用户界面中的差异的系统的示例性功能框图。
图5展示了根据本发明的、被用于图4的系统中的数据库的示例性功能框图。
图6展示了根据本发明的、自动确定用户界面中的差异的客户机方过程的逻辑流程图。
图7展示了根据本发明的、自动确定用户界面中的差异的上传过程的逻辑流程图。
图8展示了根据本发明的、自动确定用户界面中的差异的服务器方过程的逻辑流程图。
具体实施例方式
在下文中,将参照附图来更加充分地描述本发明;这些附图构成其一部分,并且通过举例说明来表现了用于实践本发明的具体示例性实施例。但是,本发明可以用许多不同的形式来实施,而不应该被解释为局限于这里所陈述的实施例;相反,提供这些实施例,以便本揭示将会详尽、完全,并且将会向本领域的技术人员充分传达本发明的范围。本发明可以被实施为方法或设备等等。因此,本发明可以采取完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。所以,以下的详细描述将没有限制的意义。
说明性操作环境图1表现了可以被包括在用于实现本发明的系统100中的示例性计算设备。计算设备100展示了可以应用于本发明的通用操作环境。在十分基本的配置中,计算设备100通常包括至少一个处理单元102和系统存储器104。处理单元102包括现存的物理处理器、设计中的物理处理器、一起发挥作用的多处理器、虚拟处理器、以及能够解释二进制可执行指令的任何其它的设备或软件程序。根据计算设备的该确切配置和类型,系统存储器104可以是易失的(例如,RAM)、非易失的(例如,ROM、闪存等)、或这两者的某种组合。系统存储器104通常包括操作系统105、一个或多个程序模块106,并且可以包括程序数据107。在图1中,通过虚线108内的那些组件,展示了该基本配置。
计算设备100也可以具有额外的特征或功能。例如,计算设备100也可以包括诸如磁盘、光盘或磁带等额外的数据存储设备(可移动的和/或不可移动的)。在图1中,通过可移动存储器109和不可移动的存储器110来展示了这种额外的存储器。计算机存储介质可以包括用关于信息(例如,计算机可读指令、数据结构、程序模块或其它数据)存储的任何方法或技术来实现的易失和非易失的可移动和不可移动的介质。系统存储器104、可移动存储器109和不可移动的存储器110都是计算机存储介质的例子。计算机存储介质包括(但不局限于)RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字多功能盘(DVD)或其它光学存储器、盒式磁带、磁带、磁盘存储器或其它磁性存储设备、或可以被用来存储所需信息并且可以由计算设备100来访问的任何其它的介质。任何这类计算机存储介质都可以是计算设备100的一部分。计算设备100也可以具有输入设备112(例如,键盘、鼠标、笔、触针、语音输入设备、接触式输入设备等)。也可以包括输出设备114(例如,显示器、扬声器、打印机等)。所有这些设备在该技术领域中都已知,这里不需要详细讨论。
计算设备100也可以包含通信连接116,通信连接116允许该设备(例如)通过网络与其它计算设备118进行通信。通信连接116是通信介质的例子。通信介质通常在已调制数据信号(例如,载波或其它传送机制)中包含计算机可读指令、数据结构、程序模块或其它数据,它包括任何信息传递介质。术语“已调制数据信号”意味着一种信号,其一个或多个特征按为该信号中的信息编码的这样一种方式来加以设置或更改。举例来讲(不作限制),通信介质包括有线介质(例如,有线网络或直线连接)和无线介质(例如,声音、RF、红外线和其它无线介质)。如这里所使用的术语“计算机可读介质”包括存储介质和通信介质。
图2表现了主要用于本发明中的移动设备的一个替换操作环境。在本发明的一个实施例中,移动设备200与计算设备(例如,综合个人数字助理(PDA)和无线电话)集成。
在这个实施例中,移动设备200具有处理器260、存储器262、显示器228和小键盘232。存储器262通常包括易失存储器(例如,RAM)和非易失存储器(例如,ROM、闪存或类似物)。移动设备200包括操作系统264,该操作系统驻留在存储器262中,并在处理器260上执行。小键盘232可以是按钮数字拨号盘(例如,在典型的电话上)、多键键盘(例如,常规键盘),或者考虑到触屏或触针,可能不被包括在移动设备中。显示器228可能是液晶显示器、或通常被用于移动计算设备中的任何其它类型的显示器。显示器228可以是触敏的,随后也将会担当输入设备。
一个或多个应用程序266被载入存储器262,并且在操作系统264上运行。应用程序的例子包括电话拨号器程序、电子邮件程序、调度程序、PIM(个人信息管理)程序、文字处理程序、电子表格程序、因特网浏览器程序等。移动设备200也包括存储器262内的非易失存储器268。非易失存储器268可以被用来存储持久信息;如果移动设备200被断电,则该持久信息不应该丢失。应用程序266可以使用和存储存储器268中的信息(例如,电子邮件应用程序所使用的电子邮件或其它消息、PIM所使用的联系人信息、调度程序所使用的约会信息、文字处理应用程序所使用的文档,等等)。同步应用程序也驻留在该移动设备上,并且被编程为与驻留在主计算机上的对应的同步应用程序交互,以便使被存储在存储器268中的信息与被存储在该主计算机处的对应的信息同步。
移动设备200具有电源270,它可以作为一节或多节电池来实现。电源270可进一步包括外部电源(例如,为这些电池补充电力或再充电的AC适配器或供电对接支架)。
移动设备200也被示出具有两种类型的外部通知机制LED 240和音频接口274。这些设备可以被直接耦合到电源270,以便当被激活时,它们在该通知机制所规定的期限内保持打开,即使处理器260和其它部件可能关闭来保存电池电力,也是如此。LED 240可以被编程为无限期地保持打开,直到该用户采取行动来指出该设备的通电状态为止。音频接口274被用来将听觉信号提供给该用户,并从该用户那里接收听觉信号。例如,音频接口274可以被耦合到用于提供听觉输出的扬声器,并可以被耦合到用于接收听觉输入的话筒,以促进电话交谈。
移动设备200也包括无线电设备272,无线电设备272执行发送和接收视频通信的功能。无线电设备272经由通信载波或服务供应商,来促进移动设备200与外界之间的无线连通性。在操作系统264的控制下,实行来往于无线电设备272的传输。换言之,无线电设备272所接收的通信可以经由操作系统264而传播给应用程序266,反之亦然。
无线电设备272允许移动设备200(例如)通过网络与其它计算设备进行通信。无线电设备272是通信介质的一个例子。通信介质通常可以由已调制数据信号(例如,载波或其它传送机制)中的计算机可读指令、数据结构、程序模块或其它数据来实施,它包括任何信息传递介质。术语“已调制数据信号”意味着一种信号,其一个或多个特征按为该信号中的信息编码的这样一种方式来加以设置或更改。举例来讲(不作限制),通信介质包括有线介质(例如,有线网络或直线连接)和无线介质(例如,声音、RF、红外线和其它无线介质)。如这里所使用的术语“计算机可读介质”包括存储介质和通信介质。
自动确定用户界面中的差异图3展示了根据本发明的示例性快照。所包括的这些快照是主快照310(也被称作“基线快照”)、新快照320(指最近拍摄的快照)和差异快照330(提供该主快照与该新快照之间的该差异的可视表示)。
所示出的每个示例性快照包括图形元素和文本元素。在其它实施例中,这些快照可以包括在拍摄该用户界面的这些快照时也可以捕捉到的其它元素(例如,动画)。在所示的例子中,主快照310包括图形元素312、314和318,以及文本元素316和322。一经视觉检测主快照310和新快照320,差异显而易见。主快照310与新快照320之间的这些差异由差异快照330在逐个像素的基础上加以可视地表现。对于在主快照310与新快照320之间有所不同的每个像素,在差异快照330中描绘黑色像素。在一个实施例中,如果主快照310与新快照320之间无差异,则提供确认消息(例如,读为“无差异”的文本)。
例如,图形元素314被包括在主快照310中,而不被包括在新快照320中。由于该差异,对应于图形元素314的这些像素在差异快照330中被表现为黑色像素。同样,文本元素322和图形元素324被包括在新快照320中,但不出现在主快照310中。结果,对应于文本元素322和图形元素324的这些像素在差异快照330中被描绘成黑色像素,以展示主快照310和新快照320在这些元素方面有所不同。差异快照330中的该结果是主快照310与新快照320之间的这些差异的可容易理解的可视描绘。不言而喻,差异快照330中的这些像素的颜色是可选择的,黑色像素只是被称作例子。
图3所示的每个快照中也展示了屏蔽340。屏蔽可以被选择性地包括在每个快照内,以拒绝对该用户界面的各个部分进行比较。例如,该用户界面中所包括的时钟元素随时间的推移而变化。结果,该时钟元素将会被示作主快照310与在开发周期内拍摄的每个随后的快照之间的差异。通过屏蔽与该时钟动画相对应的该用户界面的那个部分,可避免产生于每个快照中的该差异的假阳性。标题为《用于屏蔽移动设备用户界面中的动态区以便允许测试用户界面一致性的方法和系统》的相关申请包括关于“用户界面的动态区的屏蔽”的说明,该相关申请被包括于此,用作参考。
图4展示了根据本发明的一种用于自动验证用户界面的系统的示例性功能框图。系统400包括测试自动化410、用户界面(UI)目标设备420、主机设备430和服务器440。UI目标设备420包括设备扩展422和设备文件系统424。主机设备430包括导出工具432。服务器440包括导入服务442、数据库444和web应用程序446。
测试自动化410提供用于指示UI目标设备420运用其用户界面的功能。测试自动化410调用设备扩展422。以下图6的讨论中更加详细地描述了测试自动化410和设备扩展422的操作。本质上,测试自动化410运用该用户界面,而设备扩展422拍摄快照。然后,设备扩展422将这些快照以位图文件和可扩展标记语言(XML)文件的形式存储在设备文件系统424中。
主机设备430的导出工具432从设备文件系统424那里将这些位图文件和关联的XML文件上传到服务器440。此外,导出工具432可以提供该测试的通过/失败状态的指示。然后,响应于来自测试自动化410的调用,可以将该通过/失败状态传送到测试自动化410。也可以将该通过/失败评估传送到服务器440的数据库444。
当这些结果被上传到服务器440时,导入服务442对它们进行处理。这些结果被存储在数据库444中。以下图5的讨论中更加详细地描述了数据库444的体系结构。然后,web应用程序446能够跨越网络来显示这些结果。显示这些结果,以便用户能够操纵这些结果,以改进其分析。例如,通过跟踪出现在不同的自动化执行的快照之间的差异,用户能够跟踪出现在该用户界面输出中的已知程序错误。该用户也能够验证和更新单独的快照,同时,通过所产生的这些差异快照来分析这些差异的可视表示。
在另一个实施例中,导出工具432可以被包括在UI目标设备420中,从而消除对主机设备430的需求。此外,测试自动化410也可以被包括在UI目标设备420中,以便UI目标设备420上包含该测试自动化的运行和这些快照的产生。然后,这些结果可以被直接发送到服务器440,用于显示。此外,通过也在UI目标设备420上并入数据库444,可以在UI目标设备420上直接显示这些结果。
图5展示了根据本发明的、被用于图4的系统中的数据库的示例性功能框图。数据库444包括快照密钥表格510、快照表格520、差异表格530、默认屏蔽表格540和快照屏蔽表格550。
快照密钥表格510包括快照密钥清单,当生成这些快照时,这些快照密钥标识被存储在数据库500上的每组快照。在一个实施例中,根据从拍摄该快照时所生成的那个XML文件中提取的信息,来定义每个快照密钥。因此,使用关于设备版本、所使用的平台、所使用的语言、该设备的颜色深度、屏幕尺寸、以及涉及该快照的其它独特的方面的信息,来生成该密钥。
快照表格520包括由文件名拍摄的这些快照的清单、以及被递增来指出“这是开发周期的最后确认的快照”的计数。快照表格520中的这些单独快照的文件名与快照密钥表格510中所列出的快照密钥中的至少一个相关联。当生成新快照时,这些新快照被加入快照表格520。作为选择,当快照对应于快照表格520内的快照并与其匹配时,用那个最后确认的快照来代替前一个快照,并且,递增该计数。
差异表格530包括差异快照。将具有特定快照密钥的这些新快照与具有相同密钥的先前的快照进行比较。如果新快照与具有相同密钥的前一个快照之间不存在差异,则用最后确认的快照来代替前一个快照。如果存在差异,则该差异快照被包括在差异表格530内。
默认屏蔽表格540包括默认屏蔽清单,这些默认屏蔽将要被应用于与特定产品和屏幕尺寸相对应的所有快照。快照屏蔽表格550既包括与快照表格520中所列出的生成的快照相对应的默认屏蔽,也包括用户定义的其它屏蔽。标题为《用于屏蔽移动设备用户界面中的动态区以便允许测试用户界面一致性的方法和系统》的相关申请描述了默认屏蔽表格540和快照屏蔽表格550的运用,该相关申请被包括于此,用作参考。
在另一个实施例中,对于被存储在快照表格520中的每个快照,计算该快照的值。该快照的值被称作其循环冗余校验(CRC)值,并且从该快照的位图中生成。这个被计算的CRC值提供一种“快速校验”机制,由此,快照可以迅速通过其CRC值来加以比较。
图6展示了根据本发明的、自动确定用户界面中的差异的客户机方过程的逻辑流程图。过程600始于方框602处——在那里,UI目标设备包括设备扩展,并且用测试自动化来加载。继续在方框604处进行处理。
在方框604处,激活被加载到该UI目标设备上的测试自动化。该测试自动化运用用户界面。在每次自动化执行期间,该用户界面根据测试自动化来加以运用,以便下拉菜单、更改屏幕内容、并执行影响该用户界面输出的其它活动。通过各种活动来运用该用户界面,可提供对该用户界面正跨越可能的执行范围正确地操作的确认。继续在方框606处进行处理。
在方框606处,启动驻留在如图4所示的UI目标设备上的设备扩展。该设备扩展拍摄该UI目标设备的用户界面的快照。在对于多个自动化执行的某个自动化执行的全部期间拍摄这些快照,以生成关于该用户界面的开发周期。在额外的实施例中,该设备扩展可以对构件的每个时间间隔拍摄该用户界面的多个快照。例如,一些移动设备利用可以动态地更改屏幕元素的软件输入屏面(SIP)。所以,该设备扩展对自动化执行的每个时间间隔拍摄具有SIP和没有SIP的用户界面的快照。在另一个例子中,设备可能虑及肖像-风景画的屏幕旋转。在这个例子中,该设备扩展按肖像方位和风景画方位来拍摄用户界面的快照。一旦启动该设备扩展,就继续在方框610处进行处理。
在方框610处,该设备扩展将这些快照作为位图和XML文件存储在UI目标设备的文件系统中。不言而喻,这些快照可以按除位图和XML以外的各种数据形式来加以存储,它们在该技术领域中众所周知,这里不作进一步的描述。在一个实施例中,当记录用户界面的快照时,连同可扩展标记语言(XML)文件一起来记录快照图像的位图文件。该XML文件包括信息(例如,语言、屏幕尺寸、SKU(即版本)、以及从那里拍摄快照的目标设备的其它方面)。
以下是可以根据本发明来生成的XML文件的示例性部分<?xml version=″1.0″?>
-<!--VisualDiff-File Import Information-->
-<VisualDiff-FileImportInfo>
<Source>Shell_Notifications_TestApp</Source>
<Area>ShellAPI</Area>
<SIP>0</SIP>
<Title>Shell_Notifications_Bad_SHNOTIFICATION_Struct</Title>
<Product>Magneto-PocketPC Phone</Product>
<LCID>0409</LCID>
<ColorDepth>16</ColorDepth>
<ScreenX>240</ScreenX>
<ScreenY>320</ScreenY>
<BuildNum>14020</BuildNum>
<Platform>x86</Platform>
<Filename>VD_ShellAPI_Shell_Notifications_Bad_SHNOTIFICATION_Struct_Magneto-PocketPCPhone040916240320_14020_x8601272004211634.bmp</Filename>
</VisualDiff-FileImportInfo>
如这个例子中所示,该XML文件包括与该UI目标设备的显示有关的许多变量。利用来自XML文件的信息,可以在该数据库内唯一地标识特定快照。在位图和XML文件被存储在该备文件系统中之后,继续在判别方框612处进行处理。
在判别方框612处,确定该自动化执行是否完成,以及是否已利用被存储的其关联的文件来拍摄所有这些快照。如果该自动化执行未完成,则处理返回到方框608——在那里,继续收集快照。但是,如果该自动化执行完成,则处理进行到方框616——在那里,过程600结束。
在一个替换实施例中,该位图和XML文件通过多次自动化执行而继续被存储在该设备文件系统中,以便在上传或分析这些文件之前,存储用于比较的所有这些快照。
图7展示了根据本发明的、自动确定用户界面中的差异的上传过程的逻辑流程图。过程700始于方框702——在那里,对应于自动化执行的快照的位图和XML文件被存储在UI目标设备文件系统中。继续在方框704处进行处理。
在方框704处,由位于主机设备上的导出工具从该UI目标设备中检索位图和XML文件。该导出工具运行用于从UI目标设备中提取文件的应用程序。一旦提取了这些文件,就继续在判别方框706处进行处理。
在判别方框706处,确定是否让该导出工具计算快照的位图的循环冗余校验(CRC)值。可以包括选项,以便该用户选择是否要计算CRC。如果计算CRC,则处理进展到方框708。但是,如果确定不计算CRC,则处理进展到判别方框710。
在方框708处,该用户可任选地根据CRC而在快照之间执行快速比较。以上根据图5来更加详细地描述了“快速校验”选项。然后,继续在判别方框710处进行处理。
在判别方框710处,确定是否生成通过/失败变量。该通过/失败变量指出一经初始检查,这些用户界面快照在被比较时是否包含差异。可以包括选项,以便该用户选择是否在这时生成该通过/失败变量。如果生成该通过/失败变量,则处理进展到方框712。但是,如果确定不生成该通过/失败变量,则处理进展到方框714。
在方框712处,该通过/失败变量被输出到如图4所示的测试自动化和该服务器的该数据库。该通过/失败变量被输出到测试自动化,以便当测试完结时,为测试器提供该测试的成功或失败的反馈。该通过/失败变量被输出到服务器的数据库,以提供可通过网络在该服务器上访问的通过/失败结果的记录。一旦输出该通过/失败变量,就继续在方框714处进行处理。
在方框714处,通过导输出工具,位图和XML文件被上传到服务器。该导出工具准备传输所必要的数据,然后经由网络协议将该数据传送到服务器。网络协议在该技术领域中众所周知,这里不作进一步的描述。然后,过程700进展到方框716——在那里,该过程结束。
图8展示了根据本发明的、自动确定用户界面中的差异的服务器方过程的逻辑流程图。过程800始于方框802——在那里,位图和XML文件已被上传到该服务器。继续在方框804处进行处理。
在方框804处,来自导出工具的这些引入文件由如图4所示的导入服务来处理。根据所使用的网络协议和其它格式化考虑事项来处理这些文件。继续在方框806处进行处理。
在方框806处,当将这些快照与其它必要构件的先前快照进行比较时,更新该服务器的数据库。以上图5的讨论中更加详细地描述了该数据库的结构。为来自UI目标设备的这些引入快照而对该数据库中的每个表格进行必要的更新。一旦更新了该数据库,就继续在方框808处进行处理。
在方框808处,该数据库更新的结果由web应用程序输出,该web应用程序为用户提供用于数据操纵的选项。在一个实施例中,该用户具有添加和删除屏蔽、以及为该数据的进一步分析而执行其它更改的选项。继续在判别方框810处进行处理。
在判别方框810处,确定用户是否已决定更改被存储在数据库中的数据。如果用户已决定更改,则处理进展到方框812。但是,如果用户已决定不更改数据,则处理进展到方框814——在那里,该过程结束。
在方框812处,用户所选择的这些更改被设立在数据库中,并且,这些被更新的结果由web应用程序输出,用于分析。例如,用户可能已决定将快照组的基线快照从较早的快照更改成较晚的快照。然后,通过删除较早的快照并且用较晚的快照代替它,来更新图5中所描述的快照表格。一旦用户的任何更改被设立在数据库中,处理就进行到方框814——在那里,过程800结束。
在一个替换实施例中,可以除去图7中的过程700,并且,可以组合图6和图8中的过程600和800,以便由UI目标设备执行自动化过程,并且UI目标设备也显示来自测试过程的各个结果。
以上的说明书、例子和数据提供了对本发明的组成成分的制造和运用的完整描述。由于可以在不脱离本发明的精神和范围的前提下作出本发明的许多实施例,因此,本发明驻留在所附权利要求书中。
权利要求
1.一种用于用户界面测试的计算机实现的方法,其特征在于,它包括在第一自动化执行期间,拍摄目标设备上的用户界面的第一快照;在第二自动化执行期间,拍摄所述目标设备上的用户界面的第二快照;将所述第一快照的像素与所述第二快照的对应的像素进行比较;以及,产生所述第一快照与所述第二快照之间的差异的可视输出。
2.如权利要求1所述的计算机实现的方法,其特征在于,它还包括将所述第一快照和所述第二快照存储在所述目标设备上。
3.如权利要求1所述的计算机实现的方法,其特征在于,它还包括存储对应于所述第一快照的第一位图文件和第一可扩展标记语言文件;并且,存储对应于所述第二快照的第二位图文件和第二可扩展标记语言文件。
4.如权利要求1所述的计算机实现的方法,其特征在于,它还包括使用一导出工具,将所述第一快照和所述第二快照上传到一服务器。
5.如权利要求4所述的计算机实现的方法,其特征在于,所述导出工具存在于一与所述目标设备和所述服务器进行通信的主计算机上。
6.如权利要求1所述的计算机实现的方法,其特征在于,它还包括所述第一快照的属性与所述第二快照的对应属性的初始比较;其中,所述初始比较提供一通过/失败变量。
7.如权利要求1所述的计算机实现的方法,其特征在于,所述第一快照与所述第二快照之间的所述差异的可视输出包括在所述第一快照与所述第二快照之间有所不同的每个像素的被加亮的像素。
8.如权利要求1所述的计算机实现的方法,其特征在于,它还包括提供一包括关于对应于所述第一快照的目标设备的属性的信息的文件。
9.如权利要求8所述的计算机实现的方法,其特征在于,从所述文件中所包括的信息的可选择组合中产生一快照密钥。
10.如权利要求8所述的计算机实现的方法,其特征在于,从所述文件中所包括的信息的可选择组合中产生一文件名;其中,所述文件名与所述第一快照相关联。
11.如权利要求1所述的计算机实现的方法,其特征在于,它还包括根据所述第一快照来计算一循环冗余校验值。
12.一种计算机可读介质,它包括用于提供在整个开发周期内自动确定用户界面中的差异的计算机可执行指令,其特征在于,它包括在第一自动化执行期间,拍摄一目标设备上的用户界面的第一快照;存储对应于所述第一个快照的第一位图文件和第一可扩展标记语言文件;在第二自动化执行期间,拍摄所述目标设备上的用户界面的第二快照;存储对应于所述第二快照的第二位图文件和第二可扩展标记语言文件;将所述第一快照的属性与所述第二快照的对应属性进行比较;以及,产生所述第一快照与所述第二快照之间的差异的输出。
13.如权利要求12所述的计算机可读介质,其特征在于,它还包括将所述第一位图文件、第一可扩展标记语言文件、第二位图文件和第二可扩展标记语言文件上传到一服务器上的数据库。
14.如权利要求12所述的计算机可读介质,其特征在于,,所述第一快照的属性与所述第二快照的对应属性的比较提供一通过/失败变量。
15.如权利要求12所述的计算机可读介质,其特征在于,所述第一个快照与所述第二快照之间的差异的输出包括一具有在所述第一快照与所述第二快照之间有所不同的每个像素的被加亮的像素的可见输出。
16.如权利要求12所述的计算机可读介质,其特征在于,从所述可扩展标记语言文件中所包括的信息的可选择组合中产生一快照密钥。
17.如权利要求12所述的计算机可读介质,其特征在于,从所述可扩展标记语言文件中所包括的信息的可选择组合中产生一与所述第一快照相关联的文件名。
18.如权利要求12所述的计算机可读介质,其特征在于,所述第一快照的属性是基于所述第一快照的第一循环冗余校验值,并且,所述第二个快照的对应属性是基于所述第二快照的循环冗余校验值。
19.一种用于提供在整个开发周期内自动确定用户界面中的差异的系统,其特征在于,它包括一包括第一应用程序的目标用户界面设备,所述第一应用程序被配置成在第一自动化执行期间,拍摄所述目标设备上的用户界面的第一快照,在第二自动化执行期间,拍摄所述目标设备上的用户界面的第二快照,存储所述第一快照和所述第二快照;一包括第二应用程序的主机设备,所述第二个应用程序被配置成上传所述第一快照和所述第二快照;以及,一包括第三应用程序的服务器,所述第三应用程序被配置成接收所述第一快照和所述第二快照,比较所述第一快照的属性与所述第二快照的对应属性,以及,产生所述第一快照与所述第二快照之间的差异的输出。
20.如权利要求19所述的系统,其特征在于,所述第一应用程序还被配置成存储对应于所述第一快照的第一位图文件和第一可扩展标记语言文件;并且,存储对应于所述第二快照的第二位图文件和第二可扩展标记语言文件。
21.如权利要求19所述的系统,其特征在于,所述第一快照的属性与所述第二快照的对应属性的比较提供一通过/失败变量。
22.如权利要求19所述的系统,其特征在于,所述第一快照与所述第二快照之间的差异的输出包括一具有在所述第一快照与所述第二快照之间有所不同的每个像素的被加亮的像素的可视输出。
23.如权利要求19所述的系统,其特征在于,所述第三应用程序还被配置成从与所述第一快照有关的文件所包括的信息的可选择组合中提供一快照密钥。
24.如权利要求19所述的系统,其特征在于,从与所述第一快照有关的文件所包括的信息的可选择组合中产生一与所述第一快照相关联的文件名。
25.如权利要求19所述的系统,其特征在于,所述第一快照的属性是基于所述第一快照的第一循环冗余校验值,并且,所述第二快照的对应属性是基于所述第二快照的循环冗余校验值。
全文摘要
一种方法和系统,用于在整个开发周期内自动确定移动设备用户界面中的差异。运行测试自动化,以运用目标设备的用户界面。在运用该用户界面的同时,激活扩展,该扩展按自动化执行的所选择的时间间隔来拍摄该用户界面输出的快照。这些快照被存储和上传到服务器——在那里,随后在逐个像素的基础上比较不同的自动化执行的快照。以可视格式输出快照之间的这些差异——其中,在快照之间有所不同的这些像素被加亮。快照之间的这些差异的可视格式为用户提供一种方法,用于容易地确定该目标设备的用户界面中是否存在错误。
文档编号G06F11/28GK1658157SQ20051000705
公开日2005年8月24日 申请日期2005年1月28日 优先权日2004年1月28日
发明者A·西里斯, G·A·基舍, J·维拉马钱内尼, P·J·德克斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1