CN102789415B - 用于下一代生成测试系统的模块化脚本设计器 - Google Patents
用于下一代生成测试系统的模块化脚本设计器 Download PDFInfo
- Publication number
- CN102789415B CN102789415B CN201210112395.5A CN201210112395A CN102789415B CN 102789415 B CN102789415 B CN 102789415B CN 201210112395 A CN201210112395 A CN 201210112395A CN 102789415 B CN102789415 B CN 102789415B
- Authority
- CN
- China
- Prior art keywords
- module
- script
- information
- user
- new module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3664—Environments for testing or debugging software
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种用于模块化脚本设计的方法,包括在模块化脚本设计器组件处接收来自用户的脚本信息,基于该脚本信息生成建议模块的列表,并且在模块化脚本设计器组件处接收来自用户的对下一模块的选择。对下一模块的选择包括从所述建议模块的列表中做出的对下一模块的选择或者对新模块的请求。如果对下一模块的选择包括对新模块的请求,该方法还包括生成新模块。
Description
优先权声明
本申请要求2011年4月13日提交的美国临时专利申请序列号61/475,057的优先权,在此通过引用包含其整体内容。
技术领域
本公开涉及软件测试,并且特别地,本公开涉及用于开发、调试以及执行测试以确保软件系统的完整性和功能性的集成平台。
背景技术
计算机软件的开发涉及严格的测试过程以确保软件如计划的那样运行。在测试过程中,测试者编写各种测试脚本或者软件测试模块以执行确保计算机软件如设计那样运行所必需的不同类型测试。测试者还设置以及运行测试脚本同时跟踪结果,并且将测试结果报告给适当的人员。该过程是低效且耗时的,并且需要可观的测试者参与。
另外,随着商业继续依赖于计算机软件和复杂的软件包,越来越多的高度复杂的计算机软件已经被开发出来以满足商业需求。由于持续增加的复杂度和规模,这些软件程序需要大规模的测试过程,涉及远远多于之前所需要的测试者和测试脚本。这种增长与将他们的测试集中化并转向外包式测试模型的组织有关。传统地,测试“嵌入”在每个项目的软件开发生命周期中,但是现在,集中的“离散”测试功能存在于组织内,其跨多个项目和版本进行测试。
测试工具已经被开发出来以辅助测试者执行测试过程的各个步骤。然而,现存的测试工具不能提供所需的功能性和效率以克服大规模测试过程带来的挑战。
各种产品和/或软件产品的测试在复杂度和范围上都有所增加。过去,相对小的设计者和开发者群组,可能10-30人,开发各种测试以测试和验证软件模块或者代码段的功能。这种个人的小群组已经是可管理的。然而,由于贡献于项目的个人数目变得很大,冗余度和复杂度增加,这带来了增加的成本和错误数目的增加。因此,存在解决上述问题的需要。
发明内容
一种用于模块化脚本设计的方法,包括在模块化脚本设计器组件处接收来自用户的关于模块化脚本的脚本信息,基于该脚本信息生成建议模块的列表,并且在模块化脚本设计器组件处接收用户对下一模块的选择。对下一模块的选择包括从建议模块的列表中对下一模块的选择或者对新模块的请求。如果对下一模块的选择包括对新模块的请求,则该方法还包括生成新模块。
当检查下面的附图和具体的描述之后,系统、方法、特征的其他实施例以及它们的相应好处对本领域技术人员来说将是明显的或者将变得明显。旨在使得所有这些其他的系统、方法、特征和好处包括在本说明书中,在本发明的范围内,并且受后续权利要求的保护。
附图说明
参考附图和说明书,以及包含在附录中的报告页(其整体内容包含于此),本系统可以获得更好理解。附图中的部件不一定是按比例的,相反重点在于例示本发明的原理。此外,在图中,相似的参考标号指明各不同视图中的相应的部分。
图1示出了下一代测试(“NGT”)系统。
图2是示出了使用NGT系统的整个测试过程的示图。
图3示出了NGT系统的关键组件的示图。
图4是NGT系统的一个实施例的高级硬件框图。
图5示出了模块化脚本设计器(“MSD”)的实施例的逻辑示图。
图6-图9示出了MSD的实施例的用户界面的逻辑示图。
图10示出了模块化脚本设计器的实施例的用户界面的逻辑示图。
图11-图13示出了MSD的实施例的各种特征的示图。
图14示出了NGT系统的实施例的概念示图。
图15示出了NGT系统的实施例的逻辑示图。
图16是NGT系统的另一实施例的高级硬件框图。
具体实施方式
如图1所示,使用自动化控制器的下一代测试系统(“NGT系统”)100提供了允许提高测试计算机软件的效率和功能性的平台。系统100可以实现为与计算机硬件组件协作的系统和/或实现为计算机实现的方法。
NGT系统100可以包括统一的桌面102,其包括测试计划工具104、模块化脚本设计器106、执行工具栏108、以及缺陷管理组件110。NGT系统100还可以包括优先区分和分配管理器112、自动化控制器114、数据供应链控制器116、集成层118以及报告门户120。集成层可以链接到现有测试工具130(诸如HewlettPackard的HPQualityCenterTM)、现有测试管理和质量管理工具140(诸如IBM理性质量管理器),以及数据库或者服务器150(具有SQL集成服务和、SQL分析服务的MicrosoftSQL服务器)。NGT还可以包括虚拟机160,其与自动化控制器114接口连接。虚拟机160可以运行功能测试自动化工具,诸如功能和回归测试软件162(诸如HewlettPackard的HP快速测试专家(QTP)。还可以使用其他类型的测试工具。
NGT系统100提供一套用于测试过程的“打包”工具。NGT系统100可以包含一组工具,该组工具与现有测试工具相结合,并拓展了它们的功能性。NGT系统100通过提供工具减少测试努力并增加测试质量来允许更大规模的功能测试。NGT系统100相对于现有测试工具130(诸如HPQualityCenterTM)可以将测试劳动减少超过20%。另外NGT系统100为跨多个客户端使用可以是可扩展的。NGT系统100可以被构建为内部的一组资产以跨客户端使用并且可以被设计为允许通过配置和扩展来处理客户端特定功能性。
图2是示出了使用NGT系统100的整个测试过程的示图。测试过程可以包括测试计划阶段202、测试准备阶段204以及测试执行阶段206。NGT系统100可以提供跨所有测试领域的增加的效率和功能性。从测试计划阶段202到测试准备阶段204、以及从测试准备阶段204到测试执行阶段206的过渡可以涉及工作分配208。测试计划阶段202可以包括制定范围210、估计212和配置资源214。测试准备阶段204可以包括设计新脚本222、优化回归包224、准备测试数据226、开发和开发自动化测试228。测试执行阶段206可以包括分配测试数据232、执行手动测试234、执行自动化测试236以及缺陷管理238。下一代测试系统100还可以包括贯穿测试过程的所有阶段的报告能力240。
图3示出了NGT系统100的关键组件的示图。关键组件可以包括测试计划工具104、模块化脚本设计器106、优先区分分配管理器112、测试执行工具栏108、自动化控制器114、测试数据供应链116、报告门户120以及缺陷管理工具110。
图4是NGT系统100的一个实施例的高级硬件框图。NGT系统100可以包括计算机系统402、其可以是个人计算机并且可以包括各种硬件组件,诸如RAM414、ROM416、硬盘存储器418、高速缓冲存储器420、数据库存储422以及其他(也称为“存储器子系统426”)。计算机402可以包括任何适当的处理设备428,诸如计算机、微处理器、RISC处理器(精简指令集计算机)、CISC处理器(复杂指令集计算机)、大型计算机、工作站、单片计算机、分布式处理器、服务器、控制器、微控制器、离散逻辑计算机以及其他,如现有技术中已知的那样。例如,处理设备428可以是IntelCore微处理器、x86兼容微处理器或者等效设备,并且可以集成到服务器、个人计算机或者任何适当的计算平台中。
存储器子系统426可以包括任何适当的存储组件,诸如RAM、EPROM(电子可编程ROM)、闪存存储器、动态存储器、静态存储器、FIFO(先入先出)存储器、LIFO(后入先出)存储器、循环存储器、半导体存储器、磁泡存储器、缓冲存储器、磁盘存储器、光存储器、高速缓冲存储器以及其他。任何适当形式的存储器都可以被使用,不管是磁介质上的固定存储、半导体设备中的存储还是通过通信链路可存取的远程存储。用户或者系统接口430可以耦合到计算机402并且可以包括各种输入设备436,诸如可由系统管理器选择的开关和/或键盘。用户接口还可以包括适当的输出设备440,诸如LCD显示器、CRT、各种LED指示器、打印机和/或语音输出设备,如现有技术中已知的那样。
为了有利于计算机402和外部资源之间的通信,通信接口442可以可操作地耦合到计算机系统。通信接口442例如可以是局域网,诸如以太网、内联网、因特网或者其他适当的网络444。通信接口442还可以连接到公共交换电话网(PSTN)446或者POTS(普通老式电话系统),其可以经由因特网444来有利于通信。任何适当的商业可用的通信设备或者网络都可以使用。
下面描述模块化脚本设计器(“MSD”)106。MSD106使用模块化方法以及批准框架,组合了一个用于开发脚本或者有利于脚本创建的简单接口。模块化是将测试步骤分组为描述一块功能性的小型模块的过程。这些模块组合在一起形成测试脚本或者案例。MSD106提供用于开发测试脚本的智能模块建议。测试脚本可以包括一个或者多个模块。当一个模块被添加到脚本中时,将可能的“下面模块”的列表显示给用户。因此,MSD106可以改进知识管理并减少创建模块的重复性努力。用户还能够利用内嵌的(in-line)搜索功能来搜索模块。
MSD106还允许在模块中的元标签和指示参数。元数据被添加到模块中以便系统能够理解模块如何以及在何处使用。规定输入和输出参数以使得能够再利用模块和数据驱动方法。MSD106还允许规定与模块相关联的技能和必要先决条件。将技能分配给测试以便系统知道谁将能够或者可胜任执行脚本。规定必要先决条件(包括数据)以跟踪测试准备就绪可执行。MSD106还提供自动化批准工作流。集中化工作流系统用于使得模块能够被批准或被拒绝。在创建或者修改模块后,通知批准者。批准者可以批准该模块在所有脚本中使用、针对脚本子集使用或者针对单个脚本使用。
下面描述测试执行工具栏108。测试执行工具栏108可以是并入了测试者需要的所有工具的统一工具栏。测试执行工具栏108可以提供内嵌的(in-line)测试执行。测试脚本可以是在工具栏内直接打开的,这节约测试者桌面空间并且避免屏幕间的某些键击,诸如ALT-Tabbing。缺陷提升(defectraising)和屏幕捕获可以是该过程的部分。测试执行工具栏108还可以提供嵌入批准列表。所有的模块/脚本批准都可以显示在工具栏中,并且批准者可以快速地打开相关脚本/模块以便批准。测试执行工具栏108还允许快速访问所有的NGT工具。可以提供快速启动栏来使得测试者能够快速访问所有的NGT工具。工具栏还可以处理关于NGT的登录管理。用户配置文件部分可用于改变用户信息。测试执行工具栏108还可以是可停驻的,具有自动隐藏功能。测试执行工具栏108可以停靠在屏幕的左手侧、并且其可以选择为可见的或者自动隐藏的。可扩展框架允许将额外的面板添加到工具栏。
下面描述优先区分和分配管理器(“PAM”)112。PAM112利用实时分配逻辑提供对测试脚本的集中自动化优先区分。PAM112提供可配置的优先区分因子。测试脚本基于一组集中的因子区分优先次序,并且这些因子可以集中地进行配置以影响整个测试操作(例如,为了针对约定关键性能指示符(“KPI”)改进性能)。PAM112还提供基于技能的分配——这提供拉而非推的方法。测试者可以经由用户接口点击“获得下一个”来获得分配下一脚本以执行。基于加权的分配因子实时选择最佳脚本。管理者可以控制与他们团队成员的技能相比较的技能。PAM112还可以提供管理者超权。给予管理者关于计划由其团队执行的脚本的概览。他们能够改变特定脚本的因子(例如,商业优先权)以重新区分队列的优先次序并迫使脚本被分配给特定的个人。PAM112还可以提供对于新因子的可插框架。可以通过定义新因子类来增加新决策因子。可以通过用户接口来呈现因子并且在决策逻辑中赋予其权重。这可被用于实现增强的“应用统计”决策模型。
下面描述自动化控制器114。自动化控制器114可以是针对虚拟场上的弹性离线自动化的自动化框架,诸如“云环境”下的计算机器。自动化控制器114提供测试脚本的远程执行。自动化控制器代理可以运行在虚拟机(“VM”)上以管理测试脚本的执行。使用日志框架来支持执行。自动化控制器114还可以与PAM112通信以获得下一脚本。这允许将集中化的因子应用到手动和自动化执行。
自动化控制器114还提供对模块的智能选择以使与自动运行的每个测试脚本相关联的“投资收益率”或“ROI”最大化。自动化控制器150为自动化选择共同提供最大ROI的测试脚本。关于是否使用自动化控制器150来使一个特定测试脚本自动化的选择可以基于与该测试脚本相关联的ROI。例如,特定测试脚本可以是处理用户的最初登录的测试脚本。因为处理用户最初登录的测试脚本可以在不变化的情况下由上百个不同测试脚本来使用,这样的测试脚本提供了高ROI,并且由此可以作为自动化的良好候选。ROI从本质上是对测试脚本自动化所达到的效率提高的测量。优先区分工作流辅助自动化团队来评估将被自动化的下一模块。用户接口允许自动化团队来“登入”和“升级”自动化模块。
自动化控制器114还提供模块化设计和部分自动化。自动化脚本可以被开发为模块,并且每个自动化模块可以有一个或者多个针对其映射的手动模块。部分自动化使得能够快速执行脚本的自动化部分。基本上,自动化控制150用于可适用于将测试脚本的执行自动化的场合。
下面描述报告门户120。报告门户120提供可通过一个集中的在线门户访问的自动化报告能力。报告门户120可以包括完整的MicrosoftTM商业智能(“BI”)套组。该解决方案利用了SQL服务器集成服务、SQL服务器分析服务和SQL服务器报告服务,这些可以从Microsoft公司获得。定制的SQL服务器集成服务(SSIS)组件与外部测试工具130(诸如HPQualityCenterTM,其可从Hewlett-Packard公司获得)直接通信。
报告门户120还包括离线数据仓库以避免测试工具降级。可以维护离线数据仓库以避免对外部测试工具的直接询问。将基于维度的数据模型用于简化的报告。另外,将数据预聚集在多维在线分析处理(“MOLAP”)数据库中以提供快速分析。报告门户120还提供基于立方的度量和KPI(关键过程指示符)。使用SS分析服务,测量和目标可以是已经被预定义好的,其可以包含在报告中。PowerPivot,可从Microsoft公司获得的电子制表软件插件允许数据在电子制表软件程序(诸如用于ad-hoc报告的MicrosoftExcelTM)中被快速地分析。另外,报告门户120提供与诸如MicrosoftSharePointTM之类的解决方案的集成。在需要来自除HPQualityCenterTM之外系统的数据(例如,财务/生产数据)的情况下,该解决方案可以从诸如MicrosoftSharePointTM之类的解决方案接收数据。SSIS组件允许解决方案在需要的情况下可容易地扩展到直接数据资源。
下面描述缺陷管理工具110。缺陷管理工具110可以简化用于提升、跟踪和更新缺陷的过程。缺陷管理工具110可以提供缺陷查看列表。可以给基于工具栏的缺陷列表提供实时的红黄绿(RAG)状态指示符。红色状态指示高风险或者严重项目问题、黄色状态指示中等风险并且绿色状态指示低风险。缺陷管理工具110可以允许快速访问缺陷的完整信息以查看最新状态。缺陷管理工具110还可以为内嵌缺陷提升提供测试历史。当通过工具栏执行测试时,可以捕获屏幕快照和测试步骤。当提升缺陷时,该信息预填充在缺陷中。可以直接上传屏幕快照和其他附件。缺陷管理工具110还减少“alt-tab”操作。通过在工具栏中包括核心缺陷管理,缺陷管理工具110能够降低“alt-tab”进入诸如HPQualityCenterTM的外部测试系统130的需求。缺陷管理工具110还使得能够自动化解锁脚本,以进一步避免在外部测试系统中花费的时间。缺陷管理工具110还提供基于团队的视角。管理者具有“团队视角”,从而他们能够查看当前影响他们团队的缺陷的相关大小尺寸和状态。
下面描述测试计划工具104。测试计划工具104提供用于估计、计划、选择回归和分配准备工作的智能接口。测试计划工具104提供辅助的估计。使用三个阶段过程来提供精确性水平更高的估计。使用来自之前测试版本的信息来改进估计。可以使用可插架构用于特定于客户端的计算。测试计划工具104还将要求的解构提供到测试中。测试计划工具104辅助用户将要求拆散成可管理数目的测试。协作工作能力允许“分步解决”的方法。测试计划工具104还提供通过技能来进行资源预测。对支持测试行为所需的技能进行早期预见成为可能,并且可以在用户接口上呈现可用性相对需求的图形显示。测试计划工具104还帮助通过提升交叉技能来塑造测试组织性。测试计划工具104还提供回归包建议。使用元数据驱动方法,系统将建议适当的回归包。基于风险的测试分数可以被用于相应地确定包的大小。
下面描述测试数据供应链116。测试数据供应链116自动化需求管理和测试数据的供应。测试数据供应链116可以提供数据目录。对数据类型进行建模并将其存储在数据库中。测试数据团队可以登入或者登出数据目录。同样,可以规定规则以实现基本的数据挖掘。测试数据供应链116还提供将数据映射到测试脚本。在准备过程中,针对脚本选择所需的数据类型。同样,利用模块化脚本设计器106,可以将数据参数直接映射到脚本参数,以允许在运行时自动化分配。测试数据供应链116还提供对“库存水平”的监视以及重订购。测试数据供应链116可以监视所有类型数据的需求相对容量的比较,并且当数据获得测试脚本的“使用”时,更新该水平。测试数据供应链116可以从数据团队或者经由自动化供应来订购额外的数据。测试数据供应链116还可以与PAM112集成在一起。在区分优先次序过程中可以使用库存水平来避免运行不具有可用测试数据或者库存水平低的脚本。
例如,如果50个特定测试脚本需要输入数据类型“A”,27个特定测试脚本需要输入数据类型“B”,则测试数据供应链116为每个脚本组织所需数据类型并以“适时制(justintime)”方式将数据提供给测试脚本以避免冗余并减少复杂度。另外,这种测试数据可以基于特定测试的结果在测试过程的整个生命周期中发生改变。相应地,测试数据供应链116跟踪需要的改变并更新相应测试脚本需要的数据集,从而当测试脚本正在被执行时,最新的测试数据对测试脚本而言可用。
MSD106可以提供以下功能性:定义新脚本:用户能够创建新测试脚本,并输入关于该脚本的关键信息;编辑现有脚本:用户能够载入、或者载入现有脚本并编辑该脚本中的信息/模块;选择测试数据:用户能够从数据目录中选择数据类型以关联到脚本;搜索模块:用户能够搜索现有模块;前10个后续模块:MSD106可以基于库内的现有脚本向测试者建议最可能的后续模块,其可以是10个模块或者任何其他数目的模块;以及创建新模块:当需要时用户能够设计新模块。
创建新模块可以包括以下子功能性:定义测试步骤:可以针对模块捕获测试步骤;定义期望结果:可以针对测试步骤捕获期望结果;定义输入变量:测试者可以能够定义用于模块的输入变量并根据需要将这些包括在测试步骤/结果中;定义输出变量:测试者可以能够定义用于模块的输出变量并根据需要将这些包括在测试步骤/结果中。
MSD106还可以提供以下功能性:映射模块输入变量:将模块的输入映射到之前模块的输出,其由测试者在运行时输入或者映射到测试数据域;模块元数据:MSD106允许针对每个模块规定额外的可配置元数据;技能捕获:测试者能够输入执行测试所需要的技能;必要先决条件捕获:MSD106允许测试者针对脚本输入任何需要的必要先决条件;优先权和风险捕获:用户能够针对脚本输入商业优先权、失败可能性以及失败的影响。
MSD106还可以提供功能性,诸如允许用户:复制测试脚本、将脚本保存为草稿、查看遗存步骤、在脚本中容易地重排(re-order)模块、将模块标记为偏好、查看偏好模块、将模块提交给模块批准者、将模块保存为草稿、将输入和输出变量的源定义为固定值、将脚本标记为无需审核、将文档或者图像附加到脚本以及取消脚本创建。MSD106还可以确保不会有多个模块被创建为具有相同名称。MSD106可以提供更少的、额外的或者其他的功能性。
图5示出了MSD106的实施例的逻辑示图。使用MSD106,测试者501可以打开或者访问已经被创建好的脚本510。MSD106还通过允许测试者501使用脚本ID或者通过浏览测试计划数据库或者测试实验室数据库(这些是测试脚本存储于其中的数据库)来搜索脚本,从而允许测试者501复制或者重复现有脚本520。MSD106还可以允许测试者501在打开脚本510之后查看遗存步骤511。测试者501可以使用MSD106通过将细节和模块添加到遗存脚本来将一个遗存脚本转换成下一代测试脚本。遗存脚本是尚未被模块化的脚本。测试者501还可以使用MSD106查看遗存步骤,并且将遗存步骤转换为模块(如果这些模块尚未存在于遗存脚本中)。
MSD106还可以允许测试者501创建新脚本530。为了在MSD106中创建新脚本530,测试者501可以输入脚本细节531,包括唯一的脚本名称、脚本能力的简单描述以及技能细节。技能细节可以包括成功执行脚本所需的技能。在532,测试者501可以在MSD106中规定用于该脚本的输入和输出变量,并且审核测试者501为该脚本输入的所有数据,选择用于该脚本的批准者,并且附加任何该脚本可能需要的数据。测试者501可以将脚本提交给测试工具533,诸如HPQualityCenterTM。
MSD106还允许测试者501向测试脚本中输入模块。MSD106可以向测试者501建议将要被添加到脚本中的模块。在534,测试者501还可以使用MSD106来搜索其他模块以添加到脚本、创建新模块、编辑现有模块或者复制现有模块。MSD106还可以存储测试者501所偏好的模块。MSD106可以允许测试者501将选定的、新创建的、编辑的或者复制的模块添加到脚本中。测试者501可以可选地将模块提交535给批准者504,其可以是同业审核者,诸如测试领导。批准者504可以提供针对该脚本的备注并且可以批准模块536或者拒绝模块537。如果批准者504拒绝模块537,则批准者504可以将该模块分发回给测试者以编辑538,并且该模块仅可从该模块被提交535的点处被编辑。被拒绝模块是非活动的,这意味着该模块不能被搜索或者不能被使用。测试者501可以基于批准者504给出的备注来编辑脚本538。如果批准者504接受模块536,则模块被标记为准备好进行测试,这意味着该模块准备好用于执行并且被添加到脚本。
在一个特定实施例中,MSD106可以提供下述用于批准新创建模块的批准过程。当测试者501提交一个模块用于批准时,MSD106可以将该模块的状态指示符设置为申请批准并通知批准者504来审核该模块。测试者501可以指定一个人员作为批准者504,或者MSD106可以基于批准者的角色或者该模块所需的技能来选择批准者504。当批准者504批准该模块时,MSD106可以将该模块的状态指示符设置为被批准使用并且该模块随后可用于在其他脚本中使用并且可以被MSD106的用户搜索。批准者还可以在批准模块之前对该模块进行修改。当批准者504拒绝一个模块时,MSD106可以提示该批准者输入拒绝原因并将模块的状态指示符设定为被拒绝,并通知测试者批准者拒绝了该模块。测试者501可以在MSD106中编辑或者更新被拒绝的模块。测试者501可以编辑或者更新被拒绝的模块并将模块重新提交用于审核,或者测试者501可以从脚本中移除被拒绝的模块,在这种情况下,MSD106将被拒绝模块的状态指示符设置为非活动,或者删除被拒绝的模块。
图6、图7、图8和图9示出了MSD106的一个实施例的逻辑示图。如图6所示,MSD106可以提示用户登录601并且打开模块化脚本设计器602。然后,MSD106可以提示用户选择是否创建新脚本610,打开现有脚本620,复制现有脚本630或者查看遗存步骤640。如果用户选择创建脚本,MSD可以提示用户输入脚本细节以及必要先决条件604,并且增加模块605。如果用户选择打开现有脚本620,则MSD106可以提示用户通过脚本细节搜索脚本622,或者浏览测试实验室数据库或者测试计划数据库623,并且将可用脚本显示给用户。然后,用户可以在MSD106中选择脚本624,并且MSD106可以给予用户关于对脚本如何操作的选项625,包括打开脚本626、输出脚本到外部程序(诸如MicrosoftExcel,或者用于查看脚本的另一程序)627、或者取消操作606的多个选项。如果用户打开脚本626,则MSD106继续脚本创建过程700,如图7所示。如果用户选择复制脚本630,则MSD106可以提示用户输入脚本细节604并向脚本增加模块605。功能测试自动化工具162可以存储不具有步骤或者模块的脚本,例如某些遗存脚本或者仅包括脚本信息但没有模块的脚本。因此,如果用户选择查看遗存步骤640,则MSD106可以确定该遗存脚本是否具有任何步骤641并且允许用户查看可用遗存步骤642,将用户选择的遗存步骤添加到脚本643或者取消操作606。如果用户添加步骤到脚本643,则MSD106可以提示用户输入脚本细节和必要先决条件604,并添加模块605。在用户添加模块605之后,MSD106指引用户通过脚本创建过程中的下面的步骤800(图8)。
图7示出了MSD106的一个实施例的从图6继续的逻辑框图。在用户在图6中打开脚本626之后,MSD106继续脚本创建过程700并给予用户编辑脚本710的选项。如果用户选择编辑脚本,则MSD106可以确定用户是否具有编辑权720。如果用户具有编辑权,则MSD106可以允许用户编辑脚本721,并继续完成脚本创建过程900。如果用户不具有编辑权,则MSD106允许用户取消操作722。
图8示出了MSD106的一个实施例的从图6继续的逻辑框图。在用户在图6中向脚本添加模块605之后,MSD106可以指引用户通过脚本创建过程800中的下面的步骤。MSD106可以允许用户使用建议的模块801。如果用户能够使用建议的模块801,则用户可以从建议的现有模块中选择一个模块802,并且MSD106给予用户编辑模块803的选项。如果用户编辑模块804,则MSD106提示用户保存改变805并提交模块806。MSD106还可以允许用户取消改变808。如果用户在803不编辑模块,则MSD106提示用户确定是否复制模块810。如果用户复制模块810,则MSD106提示用户输入模块名称811。如果用户选择不复制模块810,则MSD106提示用户添加模块到脚本812。在将模块添加到脚本813之后,MSD106给予用户添加另一模块814的选项。如果用户不添加任何其他模块,则MSD106提示用户输入脚本输入/输出信息并继续完成脚本创建过程900。
MSD106可以通过提示用户输入搜索细节821、执行搜索822以及向用户显示搜索结果来允许用户搜索模块820。然后,MSD106可以允许用户从搜索结果中的现有模块中选择模块802,并给与用户编辑模块803的选项。
MSD106还可以允许用户使用偏好模块830。MSD106允许用户从现有模块中选择模块802,并给与用户编辑该模块803的选项。如果用户不能使用任何现有模块(例如,建议的模块801、来自搜索结果的模块820或者偏好模块830),则用户可以使用MSD106来创建新模块831。在用户创建新模块831之后,MSD106可以提示用户添加模块到偏好832。用户可以选中复选框833以将模块添加到偏好并且然后提交该模块806。替代地,用户可以在不添加模块到偏好的情况下提交模块806。在提交模块806之后,MSD106可以提示用户取消808或者添加模块到脚本812、添加其他模块814、输入脚本输入/输出信息815以及完成脚本创建过程900。
图9示出了MSD106的一个实施例的从图7和图8继续的逻辑示图。在用户编辑脚本721或者完成将模块到添加脚本814以及输入脚本输入/输出信息815之后,MSD106可以提示用户指示该脚本是否需要审核901。如果用户指示该脚本不需要审核,则MSD106在允许用户继续之前提示用户输入无审核原因902。如果用户指示该脚本需要审核,则MSD106提示用户输入批准者名称903。在用户输入脚本审核信息之后,MSD106提示用户输入所需的附件904,并且允许用户添加附件905或者继续而不添加附件。附件可以包括显示脚本的结果屏幕快照、文件或者文档。然后,MSD106提示用户保存脚本906,并允许用户完成用于保存脚本907的步骤。然后,MSD106提示用户提交脚本908,并给与用户完成用于提交脚本909的步骤或者在不提交脚本的情况下关闭模块化脚本设计器910的选项。
图10是MSD106的特定实施例的用户接口的逻辑示图。MSD106可以允许测试者基于现有模块库快速设计新脚本。当需要新模块时,测试者可以能够在MSD106中创建模块。使用MSD106,测试者可以输入关于测试以及执行该测试所需技能的信息1004。测试者可以选从数据目录中选择测试数据的类型1006。测试者还能够输入关于当前模块的元数据并设置该模块的输入参数1008。MSD106还可以示出当前测试脚本的概览。该概览可以示出为当前测试脚本选择的模块1010。当需要时可以使用MSD106创建新模块1012,并且测试者能够搜索特定模块1014。MSD106还可以自动地示出前五个后续模块,其是测试者可能接下来使用的1016。可以显示任何其他数目的可能后续模块。可能后续模块基于现有测试的知识来确定。MSD106可以允许测试者将模块拖到或者丢到脚本中1018。MSD106还可以显示测试步骤信息供测试者参考1020。
图11示出了MSD106的一个实施例的屏幕快照1100。用户接口可以包括多个屏幕、或者标签,包括细节标签1102、必要先决条件标签1104、在图11中示出更多细节的脚本处理标签1106、输入/输出标签1108和完成标签1110。多个屏幕、或者标签可以通过向用户显示选项和信息并提示用户输入用以创建或者设计脚本的信息,来指引用户通过脚本设计过程。例如,用户可以通过点击文件按钮在细节标签1102上开始,来从功能下拉列表中进行访问或者选择,功能包括打开脚本、新脚本、查看脚本、复制脚本或者保存脚本。测试者还可以在细节标签1102上输入关于脚本的关键信息。关键信息可以包括脚本头1114、脚本名称1116、脚本描述1118、测试属性的名称和值1120、完成脚本执行所需的技能1122以及用于脚本的需要参考。用户可以从设计标签1102上显示的技能列表中选择需要的技能1122。需要的技能1122可以随后被用于将脚本指派给相关的或者胜任的测试者和批准者。细节标签1102还可以包括保存草稿按钮1124,用户可以点击该按钮来保存所输入的脚本信息。在必要先决条件标签1104上,MSD106可以向用户显示并允许用户修改用于执行脚本的必要先决条件,其可以包括数据类型、数据备注和其他必要先决条件。其他的实施例可以包括更少的、额外的或者替代的屏幕、或者标签,以向用户显示脚本选项和信息,并接受用户关于脚本的输入。
如图12所示,脚本处理标签1106可以向用户显示测试脚本中的所有模块,并且允许用户通过创建新模块、编辑现有模块或者复制现有模块来将模块添加到脚本中。用户还可以输入与模块有关的数据,例如包括模块名称1202、模块状态1204、模块版本1206以及模块描述1208。用户接口还可以在窗格中向用户显示多个选项,包括建议包含在脚本中的模块1210以及搜索模块1212的选项。
用户可以通过点击并将选择的模块拖到当前脚本域1214中来从建议模块1210中选择一个模块。用户可以输入关于该模块的其他信息,包括模块链接到的组件(从配置管理数据库(CMDB)和任何其他元数据中拉出)。用户接口可以向用户显示关于脚本的其他信息,例如包括模块步骤1216、用于每个模块步骤的测试步骤1218、每个模块步骤的期望结果1220、当前脚本步骤1214、属性名称1222、属性值1224以及参数1226。用户可以点击“添加到脚本”按钮1228来将模块添加到脚本。
MSD106基于脚本中的最新模块更新建议模块的列表。如果脚本不具有任何模块,则MSD106可以提供最流行模块的列表来作为脚本中的第一步骤使用。例如,MSD106可以建议流行的第一模块,如“登录到应用(LogintoApp)”。如果在脚本中有一个或者多个模块,则MSD106可以建议跟在脚本中所列出的最后模块之后的流行模块。MSD106可以将用户从建议模块的列表中选择的模块添加到脚本,并向用户显示所选择的模块的细节供其审核和修改。这些细节可以包括,例如给定模块中的步骤、该模块的属性以及该模块的参数。属性可以被隐藏以允许更多的空间用于审核步骤。在审核细节之后,测试者可以通过点击“添加到脚本”来将选择的模块添加到测试脚本。可以在诸如当前脚本窗格1202的窗格中示出当前脚本中的每个步骤的细节,以便测试者在测试者前进时查看整个脚本。在测试者将选择的模块添加到脚本之后,MSD106可以更新建议模块窗格以示出脚本中最可能的后续步骤或者模块。MSD106可以基于其他现有脚本中的模块次序来确定在选择的模块之后一般会添加哪些模块。MSD106允许测试者通过向脚本添加模块、改变当前脚本窗格1202中的模块次序或者从当前脚本窗格1202中移除模块来开发脚本。
在输入/输出标签1108上,MSD106可以显示与测试脚本相关联的所有输入/输出参数的列表。测试者可以通过选择一个参数进行改变来修改输入/输出参数的源。例如,测试者可以将输入参数改变为固定值。固定值被直接输入到“值”字段并与脚本一起保存。替代地,用户可以将输入参数的源改变为“用户定义”。
在完成标签1110上,MSD106向测试者显示测试脚本的细节总结。MSD106可以向测试者呈现新模块以便测试者能够将该新模块添加到当前脚本中。用户可以选择他们的同业者之一来审核该脚本。当该脚本被提交用于审核时,MSD106触发批准工作流以确保脚本的模块不被不正确地创建。用户还可以浏览测试工具以决定将已经开发好的脚本存储在何处。MSD106允许测试者将附件添加到脚本并将脚本提交用于同业审核。MSD106可以允许测试者输入无审核原因并继续提交测试脚本。
图13示出了MSD106的一个实施例的模块设计器的示图。当测试者选择创建、编辑或者创建脚本的副本时,MSD106可以显示模块设计器1300。模块设计器可以包括多个屏幕或者标签,以指引用户通过创建新模块。模块设计器1300可以包括细节标签1114、步骤设计标签1320和完成标签1330。细节标签1114可以提示测试者输入模块名称、模块属性名称和值、模块描述以及执行脚本和批准模块所需的技能。模块设计器1300可以提供技能列表,用户可以从中选择用于测试模块所需的技能。
步骤设计标签1320可以指引测试者通过向模块的添加步骤。步骤设计标签1320可以提示测试者输入与模块中各步骤的描述、参数以及期望结果有关的信息。参数可以使用记号嵌入在步骤中,诸如“>>>Input<<<”用于输入以及“<<<Output>>>”用于输出参数。参数的列表可以当每个步骤被输入时进行更新。用户继续输入步骤的期望结果并且规定是否应当为该步骤捕获测试证据。为模块中的其余步骤重复该过程。测试者还可以使用步骤设计标签1320插入步骤和添加步骤。完成标签1330可以向用户显示模块总结页并允许测试者提交模块、保存模块的草稿、将模块添加为偏好或者取消模块的创建。保存为草稿的模块可以不被添加到任何脚本。
一个示例性的模块可以是“查看账单”模块,其允许用户查看与该用户的账户有关的信息或者细节。用于“查看账单”模块的测试步骤可以是“点击‘账户标签’”,对于该步骤期望结果是“账户标签应当打开”。另一个测试步骤可以是“点击‘账户细节’链接”,对于该步骤期望结果是“应当示出概述的账户细节”。另一个测试步骤可以是“点击‘查看更多’”,对于该步骤期望结果是“应当显示所有账户细节”。
在MSD106的另一个实施例中,用户接口可以包括允许用户输入关于脚本的其他信息的下拉菜单。例如,用户可以描述对于脚本失败的可能性以及失败的影响,并且基于用户的描述,系统可以计算该脚本的基于风险的测试分数。例如,用户可以从“失败可能性”的下拉菜单上的低、中、高和非常高的下拉选项以及从“失败的影响”下拉菜单上的低、中、高和非常高的下拉选项中进行选择。然后完成属性的可配置列表。这些属性可以直接链接到底层测试工具(例如,HPQC域)。
在又一个实施例中,测试者可以搜索将为脚本所需要的测试数据的类型。用户可以选择执行测试所需的测试数据、输入所需测试数据的描述并且输入关于数据类型的其他备注。用户可以输入关于所需测试数据的特定配置的其他备注。例如,用户可以规定“客户必须具有打开的订单”。MSD106还可以要求测试者输入用于脚本的某些数据。所需数据例如可以包括客户类型(例如,商业或者消费者)、地址类型和产品(例如,陆上通信、宽带或者移动电话)。MSD106可以要求测试者输入用于脚本的更少的、额外的或者其他的数据。
图14示出了NGT系统100的一个实施例的概念示图。如图14所示,NGT系统100可以包括呈现层1410、商业组件层1420、集成层118以及数据层1440。呈现层1410包括用户接口(UI)组件1412,其表达和格式化数据以便显示给用户1402,包括项目管理者、测试者、测试领导,并且获得和验证用户1402输入的数据。呈现层1410还包括UI过程组件1414,其驱动使用单独用户过程组件的过程以避免对过程流进行硬编码,并且阐明在UI元素自身中的管理逻辑。商业组件层1420实现商业逻辑和工作流。商业组件层1420包括实现应用的商业逻辑的商业组件1422。商业组件层1420还包括商业实体1424和商业工作流1426。商业实体是商业组件层1420中的数据传递对象。这些是可以跨多层(包括呈现层1410)使用的公共对象,用以传递数据。
集成层118向上游层(商业组件层1420和呈现层1410)提供后端不可知访问(backendagnosticaccess),并实现经由一个公共接口到一个或者多个后端系统诸如QC、理性和团队基础服务器的可插入性。集成层118实现以下设计模式:抽象基本类从ProvideBase(其为Microsoft的.Net框架可用的类)中继承;每个具体实现者依次从上面的抽象类中继承;基于.config文件中的类型定义加载适当的提供者(其可以是与后端系统诸如QC进行通信的NGT组件)。集成层118还包括集成外观(integration)。集成外观向商业组件层1420暴露简化的接口,并从来自一个或者多个后端库或高速缓存(R2)的数据传递对象的组合中读取数据,并将它们合并为一个公共的超级数据传递对象以返回给商业组件层1420。集成层118还包括NGT组件1434,其作为集成外观1432和数据层1440之间的接口,并且可以在需要时为集成层118提供映射功能性。集成层118还包括高速缓存组件1436和测试工具组件1438。测试工具组件1438是服务于从测试工具1404读取/写入数据的请求的提供者。
数据层1440包括数据访问组件1442,其集中化访问下层NGT数据存储所必需的逻辑,暴露用以允许更简单和更透明的访问数据库的方法。其还包括数据帮助器/实用工具1444,其用于集中化一般数据访问功能性,诸如管理数据库连接。数据层1440还包括服务代理1436,其提供用于与应用服务器服务对话的窗口通信基础(WindowsCommunicationFoundation)服务代理。数据层1440可以是企业库数据访问应用块(EnterpriseLibraryDataAccessApplicationBlock)或者定制设计的数据层。替代地,可以使用对象相关映射工具,诸如EntitySpaces(可从EntitySpaces有限责任合伙公司获得)、Genome(可从TechTalk股份有限公司获得)、LINQ-to-SQL(可从Microsoft公司获得)、EntityFramework(也可从Microsoft公司获得)或者LLBLGenPro(可从SolutionsDesign获得),来生成数据层1440组件。
NGT100中的交叉切割功能1405可以例如包括安全、例外处理、锁定和通信。NGT100还可以包括逻辑高速缓存1406。从NGT100的输出例如可以包括电子邮件功能性1407或者其他信息通信功能性。电子邮件可以包括对测试者的有关脚本拒绝或者批准的通知,对批准者的有关脚本准备好被审核的通知以及有关安全考虑、系统例外和审计的通知。NGT100还可以将信息传送给测试工具130和NGT数据库150。
图15示出了NGT系统100的一个实施例的逻辑示图。在该实施例中,呈现层1410可以包括多个UI组件1412和UI过程1414,包括管理接口1511、执行工具栏1512、脚本模块设计器1513、统一桌面102、缺陷跟踪接口1514、KPI查看1515和批准审核接口1516。商业组件层1420可以包括多个组件,包括用户配置文件组件1521、搜索服务组件1522、工作流服务组件1523、商业规则组件1524、时间保持组件1525、授权组件1526以及认证组件1527。集成层118可以包括集成外观1432,其可以包括聚合1531、集成API1532和分解1533。集成层118还可以包括提供者1534、高速缓存1535和数据转换1535。数据层1440可以提供到数据提供者1541、数据帮助者/实用工具1542和数据服务API1543的访问。
MSD106可以具有用于批准/拒绝模块和脚本的集中工作流系统。当创建或者修改了一个模块时,MSD106通知批准者审核该模块。批准者可以选择批准该模块以便在所有脚本中、对于脚本的子集或者对于单个脚本可以使用。
当批准者针对所有的脚本批准了一项模块修改时,MSD106将该模块的状态指示符设置为批准使用。针对所有包含该模块之前版本的脚本更新该模块的新版本。如果批准者表示测试脚本将需要在更新后审核,则MSD106将脚本的状态指示符设置为申请审核。
当批准者针对脚本的子集批准一项模块修改时,MSD106提示用户输入该模块的新名称,并通过创建新的模块标识符、将新模块链接到现有模块并将新模块的状态指示符设置为批准使用来复制该模块。MSD106将新复制的模块关联或者添加到批准者选择的脚本子集。批准者可以选择在向脚本的选定子集添加新模块后是否需要审核脚本。
当批准者拒绝一个模块时,MSD106提示批准者输入拒绝原因,将该模块标记为被拒绝,并允许批准者向测试者建议替换模块。然后,MSD106例如通过电子邮件向测试者发送通知,以通知测试者该模块被拒绝。然后,MSD106可以允许测试者更新和重新提交模块,或者从脚本中移除该模块。
MSD106还提供脚本批准过程。当创建了一个新脚本时,MSD106将新脚本的状态指示符设置为申请审核。MSD106指派一个审核者来审核脚本。当审核者批准该脚本时,如果脚本中的所有模块被批准使用,MSD106将该脚本的状态指示符设置为准备好测试。如果脚本中的某些模块正在申请批准,则MSD106可以将该脚本的状态指示符设置为申请模块批准。
当更新一个脚本时,更新该脚本的人员可以指示该脚本是否需要审核并且MSD106将该脚本的状态指示符设置为申请审核。然后,MSD106向审核者发送通知以审核该脚本。如果审核者批准了该脚本,且该脚本中的所有模块被批准使用则MSD106将该脚本的状态指示符设置为准备好测试。如果某些模块仍在申请批准,则MSD106将该脚本的状态指示符设置为申请模块批准,直到该脚本中的所有模决被批准使用。如果更新该脚本的人员只是该脚本不需要审核,且如果该脚本中的所有模块被批准使用,则MSD106将该脚本的状态指示符设置为准备好测试。如果某些模块仍在申请批准,则MSD106将该脚本的状态指示符设置为申请模块批准,直到该脚本中的所有模块被批准使用。
图16是NGT系统的另一实施例的高级硬件框图。NGT系统100及其关键组件104、106、108、114、116、120和110可以被实现为与计算机硬件组件诸如处理设备428协作的系统,和/或实现为计算机实现的方法。NGT系统100可以包括多个软件组件或者子系统。这些组件或者子系统,诸如测试计划工具104、模块化脚本设计器106、优先区分和分配管理器112、测试执行工具栏108、自动化控制器114、测试数据供应链116、报告门户120和/或缺陷管理工具110可以被实现为硬件、软件、固件或者硬件、软件和固件的任意组合,并且可以或者可以不驻留在单个的物理或者逻辑空间内。例如,本文所引用的模块或者子系统以及附图中可能示出或者可能未示出的内容可以相对于彼此远程地定位,并且可以通过通信网络耦合。
上述的逻辑、电路和处理可以被编码为计算机可读介质诸如CDROM、磁盘、闪存、RAM或者ROM、电磁信号或者其他机器可读介质中用于由处理器执行的指令。替代地或者另外地,逻辑可以被实现为使用硬件诸如一个或者多个集成电路的模拟或者数字逻辑或者执行指令的一个或者多个处理器;或者实现为应用编程接口(API)或者动态链接库(DLL)中的软件,共享内存中可用或者定义为本地或者远程程序调用的功能;或者实现为硬件和软件的组合。
逻辑可以表现(例如存储在其中或者其上)在计算机可读介质、机器可读介质、传播信号介质和/或信号承载介质中。介质可以包括任何包含、存储、传送、传播、或者传递可执行指令以便由指令可执行系统、装置或者设备来使用或者结合指令可执行系统、装置或者设备来使用的设备。机器可读介质可以选择性地是,但不限于电、磁、光、电磁或者红外信号,或者半导体系统、装置、设备或者传播介质。机器可读介质的例子的非限制性列表包括:磁或光盘、易失性存储器如随机存取存储器“RAM”、只读存储器“ROM”、可擦除可编程只读存储器(即EPROM)或者闪存,或者光纤。机器可读介质还可以包括有形介质,在其上印制可执行指令,因为逻辑可以被电存储为影像或者以另一种格式(例如通过光扫描)存储,并且然后编译和/或解释或者以其他方式处理。被处理的介质随后可以被存储在计算机和/或机器存储器中。
系统可以包括额外的或者不同的逻辑,并且可以以很多不同方式来实现。控制器可以实现为微处理器、微控制器、特定应用集成电路(ASIC)、离散逻辑或者其他类型电路或逻辑的组合。类似地,存储器可以是DRAM、SRAM、闪存或者其他类型的存储器。参数(例如,条件和阈值)和其他数据结构可以单独地存储和管理,可以合并到单个存储器或者数据库中,或者可以以很多不同的方式在逻辑上和物理上进行组织。程序和指令集可以是单个程序的部分、多个单独的程序或者是跨若干存储器和处理器分布的。
尽管已经描述了本发明的各种实施例,对于本领域普通技术人员明显的是,在本发明的范围内更多的实施方式和实现方式都是可能的。因此,本发明除了以所附权利要求及其等效物为依据之外不受任何限制。
Claims (17)
1.一种用于模块化脚本设计的方法,包括:
在模块化脚本设计器组件处接收模块化脚本的脚本信息,其中所述脚本信息包括用户提交的脚本信息和已存在的模块信息;
基于所述已存在的模块信息生成建议模块的列表;
在所述模块化脚本设计器组件处接收用户对下一模块的选择,所述对下一模块的选择包括:
从所述建议模块的列表中选择所述下一模块,或者
创建新模块的请求;以及
如果所述对所述下一模块的选择包括创建所述新模块的所述请求,则生成所述新模块;
从用户处接收对所述新模块的修改;
获得批准者对所述修改的批准,其中所获得的对所述修改的批准对应于多个脚本的子集;
向所述模块化脚本添加下一模块;以及
基于所述下一模块更新所建议模块的列表,其中所述更新包括所述模块化脚本设计器组件基于其它现有脚本中的模块次序来确定在选择的模块之后一般会添加哪些模块。
2.根据权利要求1所述的方法,其中基于所述已存在的模块信息生成所述建议模块的列表包括:
分析包括多个模块和脚本的数据库以基于所述已存在的模块信息确定所述建议模块的列表。
3.根据权利要求2的方法,其中生成所述新模块包括:
从用户处接收新模块信息,并且
基于所述新模块信息生成所述新模块;以及
所述方法还包括:
获得批准者对所述新模块的批准,以及
当从所述批准者获得批准时,更新所述数据库以包括所述新模块。
4.根据权利要求1所述的方法,其中所述用户提交的脚本信息还包括测试步骤信息、期望结果信息、所需测试者技能信息以及所需数据类型信息。
5.根据权利要求2所述的方法,其中生成所述新模块包括:
接收用户对已存储模块的选择,
通过复制选定的已存储模块并且编辑所复制的选定的已存储模块来生成所述新模块;以及
所述方法还包括:
获得批准者对所述新模块的批准,以及
当从所述批准者获得批准时,更新所述数据库以包括所述新模块。
6.根据权利要求2所述的方法,其中所述新模块信息包括:
所需测试者技能信息,以及
基于所述批准者的技能以及所需测试者技能信息选择所述批准者。
7.一种用于模块化脚本设计的方法,包括:
在模块化脚本设计器组件处接收来自用户的模块化脚本的脚本信息,其中所述脚本信息包括用户提交的脚本信息和已存在的模块信息;
分析包括多个模块和脚本的数据库以基于所述脚本信息确定建议模块的列表,并且将建议模块的列表显示给所述用户;
在所述模块化脚本设计器组件处接收用户对第一模块的选择,其中所述第一模块选自所述建议模块的列表;
将所述第一模块增加到所述模块化脚本;
基于选自所述建议模块的列表中的下一模块更新所建议模块的列表,其中所述更新包括所述模块化脚本设计器组件基于其它现有脚本中的模块次序来确定在选择的模块之后一般会添加哪些模块,以及向所述用户显示建议模块的列表;以及
在所述模块化脚本设计器组件处接收用户对第二模块的选择,所述对第二模块的选择包括:
从更新的所述建议模块列表中选择下一模块,或者
创建新模块的请求;
如果所述对所述下一模块的选择包括创建所述新模块的所述请求,则生成所述新模块;
从所述用户接收对所述新模块的修改;
获得批准者对所述修改的批准,其中所获得的对所述修改的批准对应于多个脚本的子集。
8.根据权利要求7所述的方法,其中所述用户提交的脚本信息包括测试步骤信息、期望结果信息、所需测试者技能信息以及所需数据类型信息。
9.根据权利要求7所述的方法,其中:
生成新模块包括:
接收来自用户的新模块信息,以及
基于所述新模块信息生成所述新模块;以及
所述方法还包括:
获得批准者对所述新模块的批准,所述批准者是基于所述批准者的技能以及所需测试者技能信息来选定的,以及
当从所述批准者获得批准时,更新所述数据库以包括所述新模块。
10.根据权利要求7所述的方法,其中
生成所述新模块包括:
接收用户对已存储模块的选择,以及
通过复制选定的已存储模块并编辑所复制的选定的已存储模块来生成所述新模块;以及
所述方法还包括:
获得批准者对所述新模块的批准,以及
当从所述批准者获得批准时,更新所述数据库以包括所述新模块。
11.一种用于模块化脚本设计的系统,包括:
用于在模块化脚本设计器组件处接收来自用户的模块化脚本的脚本信息的装置,其中所述脚本信息包括用户提交的脚本信息和已存在的模块信息;
用于基于所述已存在的模块信息生成建议模块的列表的装置;
用于在所述模块化脚本设计器组件处接收用户对下一模块的选择的装置,所述对下一模块的选择包括:
从所述建议模块的列表中选择所述下一模块,或者
创建新模块的请求;以及
用于如果所述对所述下一模块的选择包括创建所述新模块的所述请求,则生成所述新模块的装置;
用于从用户处接收对所述新模块的修改的装置;
用于获得批准者对所述修改的批准的装置,其中所获得的对所述修改的批准对应于多个脚本的子集;
用于向所述模块化脚本添加下一模块的装置;以及
用于基于所述下一模块更新所建议模块的列表的装置,其中所述更新包括所述模块化脚本设计器组件基于其它现有脚本中的模块次序来确定在选择的模块之后一般会添加哪些模块。
12.根据权利要求11所述的系统,其中基于所述已存在的模块信息生成所述建议模块的列表包括:
分析包括多个模块和脚本的数据库以基于所述已存在的模块信息确定所述建议模块的列表。
13.根据权利要求12所述的系统,还包括:
用于从用户处接收对所述新模块的修改的装置;
用于获得批准者对所述修改的批准的装置,其中所获得的对所述修改的批准是用于多个脚本的子集;
用于更新所述多个脚本的子集以包括所批准的修改的装置。
14.根据权利要求12的系统,其中生成所述新模块包括:
从用户处接收新模块信息,并且
基于所述新模块信息生成所述新模块;
获得批准者对所述新模块的批准,以及
当从所述批准者获得批准时,更新所述数据库以包括所述新模块。
15.根据权利要求11所述的系统,其中所述用户提交的脚本信息还包括测试步骤信息、期望结果信息、所需测试者技能信息以及所需数据类型信息。
16.根据权利要求12所述的系统,其中生成所述新模块包括:
接收用户对已存储模块的选择,
通过复制选定的已存储模块并编辑所复制的选定的已存储模块来生成所述新模块;
获得批准者对所述新模块的批准,以及
当从所述批准者获得批准时,更新所述数据库以包括所述新模块。
17.根据权利要求14所述的系统,其中所述新模块信息包括:
所需测试者技能信息,以及
基于所述批准者的技能以及所需测试者技能信息选择所述批准者。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161475057P | 2011-04-13 | 2011-04-13 | |
US61/475,057 | 2011-04-13 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102789415A CN102789415A (zh) | 2012-11-21 |
CN102789415B true CN102789415B (zh) | 2016-06-22 |
Family
ID=47007358
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210112395.5A Active CN102789415B (zh) | 2011-04-13 | 2012-04-13 | 用于下一代生成测试系统的模块化脚本设计器 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9448915B2 (zh) |
CN (1) | CN102789415B (zh) |
AU (1) | AU2012202093B2 (zh) |
BR (1) | BR102012008593B1 (zh) |
CA (1) | CA2774093A1 (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9053230B2 (en) * | 2013-01-14 | 2015-06-09 | International Business Machines Corporation | Framework and repository for analysis of software products |
WO2014117387A1 (en) * | 2013-02-01 | 2014-08-07 | Hewlett-Packard Development Company, L.P. | Test script creation based on abstract test user controls |
US8904355B2 (en) * | 2013-03-14 | 2014-12-02 | Accenture Global Services Limited | Test script generation system |
US8997052B2 (en) * | 2013-06-19 | 2015-03-31 | Successfactors, Inc. | Risk-based test plan construction |
US9672139B2 (en) * | 2015-07-21 | 2017-06-06 | Successfactors, Inc. | Debugging in a production environment |
GB2553896B (en) | 2016-07-14 | 2019-09-25 | Accenture Global Solutions Ltd | Product test orchestration |
US10672013B2 (en) * | 2016-07-14 | 2020-06-02 | Accenture Global Solutions Limited | Product test orchestration |
US10204092B2 (en) * | 2016-12-12 | 2019-02-12 | Wipro Limited | Method and system for automatically updating automation sequences |
US10430318B1 (en) * | 2017-07-11 | 2019-10-01 | Juniper Networks, Inc | Systems and methods for efficiently performing regression testing on software updates |
US11797877B2 (en) * | 2017-08-24 | 2023-10-24 | Accenture Global Solutions Limited | Automated self-healing of a computing process |
US10592398B1 (en) * | 2018-09-27 | 2020-03-17 | Accenture Global Solutions Limited | Generating a test script execution order |
CN109308285A (zh) * | 2018-10-11 | 2019-02-05 | 平安科技(深圳)有限公司 | 数据库脚本管理方法、装置、计算机设备及存储介质 |
CN109508290A (zh) * | 2018-10-25 | 2019-03-22 | 深圳点猫科技有限公司 | 一种基于教育系统的自动化测试方法及电子设备 |
CN109783379B (zh) * | 2019-01-03 | 2022-02-08 | 北京云测信息技术有限公司 | 脚本执行异常确定方法和装置 |
CN110286894B (zh) * | 2019-05-09 | 2023-07-04 | 华自科技股份有限公司 | 脚本生成方法、装置、计算机设备和存储介质 |
US20220206932A1 (en) * | 2020-12-31 | 2022-06-30 | Fidelity Information Services, Llc | Systems and methods for global automation and testing services |
CN114449030B (zh) * | 2021-12-27 | 2024-03-12 | 天翼云科技有限公司 | 一种互联网服务系统、方法、电子设备及存储介质 |
US20230214211A1 (en) * | 2022-01-06 | 2023-07-06 | Jpmorgan Chase Bank, N.A. | Method and system for codebase modeling |
CN115061741A (zh) * | 2022-05-31 | 2022-09-16 | 北京奇艺世纪科技有限公司 | 一种目标插件运行方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5629878A (en) * | 1993-10-07 | 1997-05-13 | International Business Machines Corporation | Test planning and execution models for generating non-redundant test modules for testing a computer system |
CN101266543A (zh) * | 2008-01-14 | 2008-09-17 | 中兴通讯股份有限公司 | 一种图形界面处理装置和方法 |
US7743090B1 (en) * | 2006-02-08 | 2010-06-22 | Federal Home Loan Mortgage Corporation (Freddie Mac) | Systems and methods for infrastructure validation |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6378088B1 (en) * | 1998-07-14 | 2002-04-23 | Discreet Logic Inc. | Automated test generator |
US7802238B2 (en) * | 2001-06-22 | 2010-09-21 | Invensys Systems, Inc. | Process control script development and execution facility supporting multiple user-side programming languages |
US7032210B2 (en) * | 2001-11-11 | 2006-04-18 | International Business Machines Corporation | Method and system for generating program source code of a computer application from an information model |
US20060248504A1 (en) * | 2002-04-08 | 2006-11-02 | Hughes John M | Systems and methods for software development |
US7343551B1 (en) * | 2002-11-27 | 2008-03-11 | Adobe Systems Incorporated | Autocompleting form fields based on previously entered values |
US7421683B2 (en) * | 2003-01-28 | 2008-09-02 | Newmerix Corp£ | Method for the use of information in an auxiliary data system in relation to automated testing of graphical user interface based applications |
US7278135B2 (en) * | 2003-06-11 | 2007-10-02 | Microsoft Corporation | Method and system for generating an efficient test suite from a domain description with given constraints |
US7702766B2 (en) * | 2003-06-13 | 2010-04-20 | Oracle America, Inc. | Testing framework for communication in a distributed environment |
US7685576B2 (en) * | 2004-01-26 | 2010-03-23 | Siemens Corporation | System and method for model based system testing of interactive applications |
US8239826B2 (en) * | 2004-07-16 | 2012-08-07 | International Business Machines Corporation | Automating modular manual tests including framework for test automation |
US20060143533A1 (en) * | 2004-12-22 | 2006-06-29 | International Business Machines Corporation | Apparatus and system for testing of software |
US7694181B2 (en) * | 2005-12-12 | 2010-04-06 | Archivas, Inc. | Automated software testing framework |
JP4148527B2 (ja) * | 2006-06-05 | 2008-09-10 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 機能テスト・スクリプト生成装置 |
US7844036B2 (en) * | 2006-08-14 | 2010-11-30 | Soasta, Inc. | Visual test automation tool for message-based applications, web applications and SOA systems |
US20080086543A1 (en) * | 2006-10-10 | 2008-04-10 | Carpenter Jon R | method and system for reviewing and rating scripts to generate a quantifiable score |
US7823138B2 (en) * | 2006-11-14 | 2010-10-26 | Microsoft Corporation | Distributed testing for computing features |
US8365164B1 (en) * | 2008-02-21 | 2013-01-29 | T-APP Ltd. | Portable software applications |
US8365147B2 (en) * | 2008-02-27 | 2013-01-29 | Accenture Global Services Limited | Test script transformation architecture |
US8347147B2 (en) * | 2009-03-09 | 2013-01-01 | Wipro Limited | Lifecycle management of automated testing |
US8423962B2 (en) * | 2009-10-08 | 2013-04-16 | International Business Machines Corporation | Automated test execution plan generation |
US20110321013A1 (en) * | 2010-06-23 | 2011-12-29 | Quickunit Ltd | Interactive environment for test case generation associated with a computer code |
US8543980B2 (en) * | 2010-08-23 | 2013-09-24 | Micro Focus (Us), Inc. | State driven testing |
US8543981B2 (en) * | 2010-08-23 | 2013-09-24 | Micro Focus (Us), Inc. | State driven test editor |
US9619211B2 (en) * | 2010-12-30 | 2017-04-11 | International Business Machines Corporation | Code suggestion in a software development tool |
US9183124B2 (en) * | 2011-04-18 | 2015-11-10 | Accenture Global Services Limited | Automation controller for next generation testing system |
US20130074043A1 (en) * | 2011-09-21 | 2013-03-21 | Chengde Fu | Self Generating Automation System (SGAS) including framework for automation of software functional testing |
-
2012
- 2012-04-11 US US13/444,546 patent/US9448915B2/en active Active
- 2012-04-12 BR BR102012008593-3A patent/BR102012008593B1/pt active IP Right Grant
- 2012-04-12 AU AU2012202093A patent/AU2012202093B2/en active Active
- 2012-04-12 CA CA2774093A patent/CA2774093A1/en not_active Abandoned
- 2012-04-13 CN CN201210112395.5A patent/CN102789415B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5629878A (en) * | 1993-10-07 | 1997-05-13 | International Business Machines Corporation | Test planning and execution models for generating non-redundant test modules for testing a computer system |
US7743090B1 (en) * | 2006-02-08 | 2010-06-22 | Federal Home Loan Mortgage Corporation (Freddie Mac) | Systems and methods for infrastructure validation |
CN101266543A (zh) * | 2008-01-14 | 2008-09-17 | 中兴通讯股份有限公司 | 一种图形界面处理装置和方法 |
Also Published As
Publication number | Publication date |
---|---|
US9448915B2 (en) | 2016-09-20 |
BR102012008593A2 (pt) | 2014-01-28 |
BR102012008593A8 (pt) | 2018-04-03 |
US20120266136A1 (en) | 2012-10-18 |
BR102012008593B1 (pt) | 2020-10-20 |
CA2774093A1 (en) | 2012-10-13 |
AU2012202093A1 (en) | 2012-11-01 |
AU2012202093B2 (en) | 2013-02-07 |
CN102789415A (zh) | 2012-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102789415B (zh) | 用于下一代生成测试系统的模块化脚本设计器 | |
AU2012202261B2 (en) | Test data supply chain manager for an integrated testing platform | |
CN102789414B (zh) | 用于集成测试平台的优先级化和指派管理器 | |
Castellanos et al. | ibom: A platform for intelligent business operation management | |
US10275545B2 (en) | Modeling and simulation | |
US7778720B2 (en) | Method and system for product line management (PLM) | |
US8639545B2 (en) | Generating an optimized analytical business transformation | |
EP2228726B1 (en) | A method and system for task modeling of mobile phone applications | |
US20120323550A1 (en) | System and method for system integration test (sit) planning | |
CN102880543B (zh) | 用于集成测试平台的测试数据供应链管理器 | |
EP3872626B1 (en) | Utilizing artificial intelligence and machine learning models to reverse engineer an application from application artifacts | |
Xu et al. | Value-aware service model driven architecture and methodology | |
Parhizkar et al. | An AHP-Based analysis of the Cost of ERP Modification | |
CN102841842A (zh) | 用于下一代测试系统的自动化控制器 | |
Trad | A Relational DataBase based Enterprise Transformation Projects | |
Fill | Semantic evaluation of business processes using SeMFIS | |
Li et al. | How to manage a task-oriented virtual assistant software project: an experience report | |
Buckl et al. | A technique for annotating ea information models with goals | |
Munger | A representation-based methodology for developing high-value knowledge engineering systems: Theory and applications | |
Noguchi et al. | MBSE for Acquisition | |
Liang et al. | Open Source Software Supply Chain for Reliability Assurance of Operating Systems. | |
Ren et al. | Integrated Design Platform for Model-Based Reliability System Engineering | |
Eramo et al. | Architectural support for software performance in continuous software engineering: A systematic mapping study | |
Narayanan et al. | Metadata exploitation in large-scale data migration projects | |
Aloysius | Contrast IT Solution System For Contrast Trading |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |