专利名称:用于持久存储开发环境测试场景信息的整合工具的制作方法
技术领域:
本申请涉及持久存储测试场景信息,特别是,提供了一种用于持久存储开发环境测试场景信息的整合工具。
背景技术:
交互式开发环境(IDE)是设计用于启动内容开发的软件应用程序。从事于IDE生产的测试员经常出于测试IDE应用的目的来创建内容。除了内容之外,测试员经常需要描述一组需要确认的测试场景。这些描述指定了关于内容的给定项的IDE动作。这些描述还可以包括当跟随所指定的动作时所期望的IDE应用的行为。由于缺少内容重新使用以及高度的手工处理,创建内容和记录测试场景是非常低效的。这种低效导致不完整的测试场景覆盖。
发明内容
下面提供了简化的概述,以便提供对此处所描述的一些新颖实施例的基本理解。 本概述不是详尽的概述,并且它不旨在标识关键/重要元素或描绘本发明的范围。其唯一的目的是以简化形式呈现一些概念,作为稍后呈现的更详细描述的序言。
所揭示的体系结构包括一种整合工具,它允许测试员在IDE中与相关内容进行交互时,自动持久存储与该内容相关联的测试场景信息。这种工具还允许测试员将动作/期望与内容的特定项在形式上关联起来。在先前的解决方案中,由于不准确或缺失的描述,对现有内容的引用通常都会丢失。形式关联允许对有用内容的重新使用并且避免了不必要的重新创建。
该工具与IDE整合在一起,这样,测试员就不必手动键入或写入意图和期望的描述。这就显著减少了测试计划的成本。该工具还能以一种形式性的自描述的格式来持久存储信息,该格式使得人类测试员或辅助应用程序容易消费(例如,用于标识场景、执行相关联的动作以及验证期望行为的目的)。
为了为实现上述及相关目的,本文结合下面的描述和附图来描述某些说明性方面。这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。结合附图阅读下面的详细描述,其他优点和新颖特征将变得显而易见。
图1示出了根据所公开的体系结构的用于整合开发系统的计算机实现的工具。
图2示出了在IDE应用测试环境中用于创建和持久存储IDE测试计划信息的整合工具的替换系统。
图3示出了根据所公开的体系结构的计算机实现的方法。
图4示出了图3的方法的更多方面。
图5示出了一种计算系统的框图,该计算系统执行根据所公开的体系结构的在 IDE应用测试环境中用于创建和持久存储IDE测试计划信息的整合工具。
具体实施例方式存在允许测试员通过键入场景动作和所期望的行为的描述来持久存储场景信息的通用、单机的“测试计划”。然而,使用这种类型的工具需要对如何通信动作/期望以及在键入方面具有广泛地预见性。而且,在IDE中执行动作与写入场景描述之间在精神上“切换上下文”并不容易,而持久存储的信息的值完全依赖于测试员的写入通信技巧。与相关内容不存在形式关联。
对于支持自动化(例如宏)的IDE,存在自动记录场景动作的工具。然而,这些系统在正确持久存储所有动作方面可能并不可靠;这样,最终结果并不比手动写入描述更好。 而且,持久存储的动作的格式可能难以查阅,并且对于辅助处理来说并不容易消费,并且与相关内容的关联并不灵活。
所揭示的体系结构包括一种整合工具,它允许测试员在IDE中与相关内容进行交互时,自动持久存储与该内容相关联的测试场景信息。这种工具还允许测试员将动作/期望与内容的特定项在形式上关联起来。在先前的解决方案中,由于不准确或缺失的描述,对现有内容的引用通常会丢失。形式关联允许对有用内容的重新使用并且避免了不必要的重新创建。
该工具与IDE整合在一起,这样,测试员就不必手动键入或写入意图和期望的描述。这就显著减少了测试计划的成本。该工具还能以一种形式性的自描述的格式来持久存储信息,该格式使得人类测试员或辅助应用程序容易消费(例如用于标识场景、执行相关联的动作以及验证期望行为的目的)。
现在将参考附图,全部附图中相同的附图标记用于表示相同的元件。在下面的描述中,为了进行说明,阐述了很多具体细节以便提供对本发明的全面理解。然而,显而易见, 可以没有这些具体细节的情况下实施各新颖实施例。在其他情况下,以框图形式示出了公知的结构和设备以便于描述它们。本发明将涵盖落入所要求保护的主题的精神和范围内的所有修改、等效方案和替换方案。
图1示出了根据所公开的体系结构的用于整合开发系统100的计算机实现的工具 102。工具102包括启用动作108与内容110的形式关联106的关联组件104,以及捕捉并格式化内容110与动作108的关联106以作为可再生的测试计划114的格式化组件112。
在动作与内容110—起发生时,将测试计划114与内容110相关联地存储。对测试计划和内容的关联106的存储是自动发生的。关联组件104和格式化组件112被整合为交互式开发环境应用。格式化组件112以可形式性的自描述的人类可读的表示来对关联106 进行格式化。该表示描述了测试计划、与测试计划相关联的动作以及测试计划的期望行为。 关联组件104在开发环境中将注释116应用到内容110。注释116捕捉内容110的位置信息,其中动作108将该位置处被执行。
换言之,提供了一种用于整合的开发系统的计算机实现的工具,它包括交互式开发环境应用的关联组件以及交互式开发环境应用的格式化组件,关联组件在开发环境中使用内容的注释来使得动作与该内容能够在形式上相关联,格式化组件捕捉并格式化内容与动作的关联以作为可再生的测试计划。当动作与内容一起发生时,自动地将测试计划与内容相关联地存储。格式化组件以可自描述的人类可读的表示来对关联进行格式化。该表示描述了测试计划、与测试计划相关联的动作以及测试计划的期望行为。注释捕捉内容的位置信息,其中动作将该位置处被执行。测试计划包括经更新的内容和输出文件,该输出文件是适合于由用户界面自动工具消费的XML格式。
图2示出了在IDE应用测试环境202中用于创建和持久存储IDE测试计划信息的整合工具102的替换系统200。内容110由IDE应用来访问并进入测试环境,在该测试环境中,工具102方便了注释以及将注释的内容(标注为204)写回到内容110以创建经更新的 (注释的)内容206。工具102输出包括输出文件208和注释的内容206的测试计划114。
当使用该工具102时,从事于对响应代码内容或与代码内容进行交互的IDE或 UI(用户界面)的质量进行验证的测试员出于测试的目的,可以使用已经存在的内容。该内容的说明和实现通常在UI准备好之前就可用,因为它是建立与内容交互式的UI的必要条件。因此,用于测试内容的说明的代码也在实现该UI之前就准备好了。例如,在与新编译器特征进行交互的IDE特征之前就准备好了编译器测试。UI测试员可以将精力集中在描述已经可用的内容上的测试场景,而不是创建新的内容。
测试员可以遍历IDE中的内容,并使用工具102来注释内容110并创建捕捉该组测试动作的输出文件208。这些注释捕捉关于在IDE内的内容中测试员想要在那里执行动作的位置的信息。捕捉要被执行的动作,并将其存储在单独的XML文件中,该XML文件包括对内容中所做的注释的引用以标识执行动作的位置。这就构成了一个测试场景。
将该工具与IDE整合来为测试员提供无缝的体验。测试员不再需要手动键入或写入意图和期望的描述,从而造成测试计划写入成本的显著减少。工具102还使得测试员避免了切换上下文。将注意力维持在标识感兴趣的测试场景的任务上。更新的内容与XML输出文件一起构成了测试计划;因此,工具102有助于快速持久存储测试员意图。
注释的内容和XML文件对于人类和机器来说都是可读的。这样,测试员可以返回测试计划并手动执行该计划。输出文件的XML格式还可以符合UI注释工具所使用的格式。 因此,可以容易地将测试计划转换为自动的UI测试。
此处所包括的是表示用于执行所公开的体系结构的新颖方面的示例性方法的一组流程图。尽管出于解释简明的目的,此处例如以流图或流程图形式示出的一个或多个方法被示出并描述为一系列动作,但是可以理解和明白,各方法不受动作的次序的限制,因为根据本发明,某些动作可以按与此处所示并描述的不同的次序和/或与其他动作同时发生。例如,本领域技术人员将会明白并理解,方法可被替换地表示为一系列相互关联的状态或事件,诸如以状态图的形式。此外,并非在一方法中示出的所有动作都是新颖实现所必需的。
图3示出了根据所公开的体系结构的计算机实现的方法。在300,标识各动作以用于与交互式开发环境应用的内容的关联。这种标识过程可以由测试员执行。在302,将动作与对应的内容相关联。在304,捕捉内容和动作的关联。在306,存储关联。在308,在测试计划中将关联格式化。在310,以人类可读格式输出测试计划。
图4示出了图3的方法的更多方面。在400,当动作与内容一起发生时,捕捉关联。 在402,自动捕捉内容和动作的关联。该人类可读格式为XML。在404,在将执行动作的位置处注释内容。在406,以人类可读格式输出注释的内容与测试计划。在408,将内容存储为注释的内容。
如在本申请中所使用的,术语“组件”和“系统”旨在表示计算机相关的实体,其可以是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是,但不限于,诸如处理器、芯片存储器、大容量存储设备(例如,光驱、固态驱动器、和/或磁存储介质驱动器)、以及计算机等有形组件,以及诸如运行在处理器上的进程、对象、可执行码、模块、执行的线程和/或程序等软件组件。作为说明,在服务器上运行的应用程序和服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以位于一台计算机上和/或分布在两台或更多的计算机之间。词语“示例性”此处可用于表示用作示例、 实例或说明。在此被描述为“示例性”的任何方面或设计并不一定要被解释为相比其他方面或设计更优选或有利。
现在参照图5,示出了一种计算系统500的框图,该计算系统执行根据所公开的体系结构的在IDE应用测试环境中用于创建和持久存储IDE测试计划信息的整合工具。为了提供用于其各方面的附加上下文,图5及以下讨论旨在提供对其中可实现各方面的合适的计算系统500的简要概括描述。尽管以上描述是在可在一个或多个计算机上运行的计算机可执行指令的一般上下文中进行的,但是本领域的技术人员将认识到,新颖实施例也可结合其他程序模块和/或作为硬件和软件的组合来实现。
用于实现各方面的计算系统500包括计算机502,其具有处理单元504、诸如系统存储器506等的计算机可读存储、以及系统总线508。处理单元504可以是各种市场上可买到的处理器中的任一种,包括单处理器、多处理器、单核单元以及多核单元。此外,本领域的技术人员可以理解,各新颖方法可用其他计算机系统配置来实施,包括小型机、大型计算机、以及个人计算机(例如、台式、膝上型等)、手持式计算设备、基于微处理器的或可编程消费电子产品等,其每一个都可在操作上耦合到一个或多个相关联的设备。
系统存储器506可包括计算机可读存储(物理存储介质),如易失性(VOL)存储器510(例如,随机存取存储器(RAM))和非易失性存储器(NON-VOL) 512(如ROM、EPR0M、 EEPROM等)。基本输入/输出系统¢10 可被存储在非易失性存储器512中,并且包括诸如在启动期间便于在计算机502内的组件之间传递数据和信号的基本例程。易失性存储器 510还可包括诸如静态RAM等高速RAM来用于高速缓存数据。
系统总线508提供了用于包括,但不限于系统存储器506的系统组件到处理单元 504的接口。系统总线508可以是若干种总线结构中的任一种,这些总线结构还可使用各类市场上可购买到的总线体系结构中的任一种互连到存储器总线(带有或没有存储器控制器)以及外围总线(例如,?(1汴(16、46 、1^(等)。
计算机502还包括机器可读存储子系统514以及用于将存储子系统514接口到系统总线508和其他所需计算机组件的存储接口 516。存储子系统514(物理存储介质)可包括例如硬盘驱动器(HDD)、磁软盘驱动器(FDD)和/或光盘存储驱动器(例如,⑶-ROM驱动器、DVD驱动器)中的一种或多种。存储接口 516可包括诸如,例如EIDE、ATA、SATA和IEEE 1394等接口技术。
一个或多个程序和数据可被存储在存储器子系统506、机器可读和可移动存储器子系统518(例如,闪存驱动器形状因子技术)和/或存储子系统514(例如,光、磁、固态)中,包括操作系统520、一个或多个应用程序522、其他程序模块524以及程序数据526。
一个或多个应用程序522、其他程序模块5 以及程序数据5 可包括例如图1的系统100的实体和组件、图2的系统200的实体和组件以及图3和图4的流程图所表示的方法。
一般而言,程序包括执行特定任务或实现特定抽象数据类型的例程、方法、数据结构、其他软件组件等等。操作系统520、应用程序522、模块5M和/或数据526的全部或部分也可被高速缓存在诸如易失性存储器510等的存储器中。应该明白,所公开的体系结构可以用各种市场上可购得的操作系统或操作系统的组合(例如,作为虚拟机)来实施。
存储子系统514和存储器子系统(506和518)用作用于数据、数据结构、计算机可执行指令等的易失性和非易失性存储的计算机可读介质。指令可以存在于非瞬态介质。这些指令当由计算机或其他机器执行时,可使得计算机或其他机器执行方法的一个或多个动作。执行动作的指令可被存储在一个介质上,或者可跨多个介质存储,使得指令共同出现在一个或多个计算机可读存储介质上,而不管所有指令是否都在同一介质上。
计算机可读介质可以是可由计算机502访问的任何可用介质,且包括可移动和不可移动的易失性和非易失性、内部和/或外部介质。对于计算机502,介质以任意适当的数字格式容纳数据的存储。本领域的技术人员应当理解,可使用其他类型的计算机可读介质, 如zip驱动器、磁带、闪存卡、闪存驱动器、磁带盒等来存储用于执行所公开的体系结构的新颖方法的计算机可执行指令。
用户可以使用诸如键盘和鼠标等外部用户输入设备5 来与计算机502、程序和数据交互。其他外部用户输入设备5 可包括话筒、IR(红外)远程遥控器、操纵杆、游戏手柄、照相机识别系统、指示笔、触摸屏、姿势系统(例如,眼移动、头移动等)和/或类似物。 在计算机502是例如便携式计算机的情况下,用户可以使用诸如触摸垫、话筒、键盘等板载用户输入设备530来与计算机502、程序和数据交互。这些和其他输入设备通过输入/输出 (I/O)设备接口 532经由系统总线504连接到处理单元508,但也可通过其它接口连接,如并行端口、IEEE 1394串行端口、游戏端口、USB端口JR接口等等。I/O设备接口 532还便于使用输出外围设备534,如打印机、音频设备、照相机设备等,如声卡和/或板载音频处理能力。
一个或多个图形接口 536(通常也称为图形处理单元(GPU))提供在计算机502和外部显示器538(例如,IXD、等离子)和/或板载显示器MO (例如,对于便携式计算机)之间的图形和视频信号。图形接口 536也可作为计算机系统板的一部分来制造。
计算机502可以使用经由有线/无线通信子系统542到一个或多个网络和/或其他计算机的逻辑连接在联网环境(例如,基于IP的)中操作。其他计算机可包括工作站、 服务器、路由器、个人计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点, 并且通常包括以上相对于计算机502描述的许多或所有元件。逻辑连接可包括到局域网 (LAN)、广域网(WAN)热点等的有线/无线连接。LAN和WAN联网环境常见于办公室和公司, 并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。
当在联网环境中使用时,计算机502经由有线/无线通信子系统542 (例如,网络接口适配器、板载收发机子系统等)连接到网络来与有线/无线网络、有线/无线打印机、有线/无线输入设备544等通信。计算机502可包括用于通过网络建立通信的调制解调器或其他装置。在联网环境中,相对于计算机502的程序和数据可被存储在远程存储器/存储设备中,如与分布式系统相关联。应该理解,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。
计算机502可用于使用诸如IEEE 802. xx标准家族等无线电技术来与有线/无线设备或实体通信,例如在操作上安置在与例如打印机、扫描仪、台式和/或便携式计算机、 个人数字助理(PDA)、通信卫星、任何一件与无线可检测标签相关联的设备或位置(例如, 电话亭、报亭、休息室)以及电话的无线通信(例如,IEEE 802. 11空中调制技术)中的无线设备。这至少包括用于热点的Wi-Fi (即无线保真)、WiMax和蓝牙TM无线技术。由此,通信可以是如对于常规网络那样的预定义结构,或者仅仅是至少两个设备之间的自组织(ad hoc)通信。Wi-Fi网络使用称为IEEE 802. llx(a、b、g等等)的无线电技术来提供安全、可靠、快速的无线连接。Wi-Fi网络可用于将计算机彼此连接、连接到因特网以及连接到有线网络(使用IEEE 802. 3相关介质和功能)。
所示和所描述的各方面可以在其中某些任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实施。在分布式计算环境中,程序模块可以位于本地和/或远程存储和/或存储器系统中。
上面描述的包括所公开的体系结构的各示例。当然,描述每一个可以想到的组件和/或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,许多其他组合和排列都是可能的。因此,该新颖体系结构旨在涵盖所有这些落入所附权利要求书的精神和范围内的更改、修改和变化。此外,就在说明书或权利要求书中使用术语“包括”而言,这一术语旨在以与术语“包含”在被用作权利要求书中的过渡词时所解释的相似的方式为包含性的。
权利要求
1.一种用于整合开发系统(100)的计算机实现的工具,包括使得动作与内容能够在形式上相关联的关联组件(104);捕捉并格式化所述内容与所述动作的关联以作为可再生的测试计划的格式化组件 (112)。
2.如权利要求1所述的系统,其特征在于,当所述动作与所述内容一起发生时,将所述测试计划与所述内容相关联地存储。
3.如权利要求1所述的系统,其特征在于,对所述测试计划与所述内容的关联的存储是自动发生的。
4.如权利要求1所述的系统,其特征在于,所述关联组件和格式化组件被整合到一交互式开发环境应用中。
5.如权利要求1所述的系统,其特征在于,所述格式化组件以形式性的可自描述的人类可读的表示来对所述关联进行格式化。
6.如权利要求5所述的系统,其特征在于,所述表示描述了所述测试计划、与所述测试计划相关联的动作以及所述测试计划的期望行为。
7.如权利要求1所述的系统,其特征在于,所述关联组件在开发环境中应用所述内容的注释。
8.如权利要求7所述的系统,其特征在于,所述注释捕捉所述动作将在哪里被执行的所述内容的位置信息。
9.一种可通过处理器执行的计算机实现的方法,包括标识各动作以用于与交互式开发环境应用的内容的关联(300);将所述动作与对应的内容相关联(302);捕捉所述动作和所述对应内容的关联(304);存储所述关联(306);在测试计划中将所述关联格式化(308);以及以人类可读格式输出所述测试计划(310)。
10.如权利要求9所述的方法,其特征在于,进一步包括当所述动作与所述内容一起发生时,捕捉所述关联。
11.如权利要求9所述的方法,其特征在于,进一步包括自动捕捉所述内容和所述动作的关联。
12.如权利要求9所述的方法,其特征在于,所述人类可读格式为XML。
13.如权利要求9所述的方法,其特征在于,进一步包括在将要执行所述动作的位置处注释所述内容。
14.如权利要求13所述的方法,其特征在于,进一步包括以所述人类可读格式输出所述注释的内容和所述测试计划。
15.如权利要求9所述的方法,其特征在于,进一步包括将所述内容存储为注释的内
全文摘要
所揭示的体系结构包括一种整合工具,它允许测试员在IDE中与相关内容进行交互时,自动持久存储与该内容相关联的测试场景信息。这种工具还允许测试员将动作/期望与内容的特定项在形式上关联起来。在先前的解决方案中,由于不准确或缺失的描述,对现有内容的引用通常会丢失。形式关联允许对有用内容的重新使用并且避免了不必要的重新创建。该工具与IDE整合在一起,这样,测试员就不必手动键入或写入意图和期望的描述。这就显著减少了测试计划的成本。该工具还能以一种形式性的自描述的格式来持久存储信息,该格式使得人类测试员或辅助应用程序容易消费(例如用于标识场景、执行相关联的动作以及验证期望行为的目的)。
文档编号G06F9/44GK102193796SQ201110063189
公开日2011年9月21日 申请日期2011年3月8日 优先权日2010年3月10日
发明者M·K·贾亚斯瓦, P·巴拉苏布拉马尼亚恩, K·哈维森, S·卡拉, D·斯特林, M·塔里克, E·马伊诺 申请人:微软公司