首页> 中国专利> 用于下一代生成测试系统的模块化脚本设计器

用于下一代生成测试系统的模块化脚本设计器

摘要

一种用于模块化脚本设计的方法,包括在模块化脚本设计器组件处接收来自用户的脚本信息,基于该脚本信息生成建议模块的列表,并且在模块化脚本设计器组件处接收来自用户的对下一模块的选择。对下一模块的选择包括从所述建议模块的列表中做出的对下一模块的选择或者对新模块的请求。如果对下一模块的选择包括对新模块的请求,该方法还包括生成新模块。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-06-22

    授权

    授权

  • 2013-01-16

    实质审查的生效 IPC(主分类):G06F11/36 申请日:20120413

    实质审查的生效

  • 2012-11-21

    公开

    公开

说明书

优先权声明

本申请要求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(诸如Hewlett Packard的HP Quality  CenterTM)、现有测试管理和质量管理工具140(诸如IBM理性质量管 理器),以及数据库或者服务器150(具有SQL集成服务和、SQL分 析服务的Microsoft SQL服务器)。NGT还可以包括虚拟机160,其与 自动化控制器114接口连接。虚拟机160可以运行功能测试自动化工 具,诸如功能和回归测试软件162(诸如Hewlett Packard的HP快速 测试专家(QTP)。还可以使用其他类型的测试工具。

NGT系统100提供一套用于测试过程的“打包”工具。NGT系 统100可以包含一组工具,该组工具与现有测试工具相结合,并拓展 了它们的功能性。NGT系统100通过提供工具减少测试努力并增加测 试质量来允许更大规模的功能测试。NGT系统100相对于现有测试工 具130(诸如HP Quality CenterTM)可以将测试劳动减少超过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、其可以是个人计算机并且可以包括各 种硬件组件,诸如RAM 414、ROM 416、硬盘存储器418、高速缓冲 存储器420、数据库存储422以及其他(也称为“存储器子系统426”)。 计算机402可以包括任何适当的处理设备428,诸如计算机、微处理 器、RISC处理器(精简指令集计算机)、CISC处理器(复杂指令集 计算机)、大型计算机、工作站、单片计算机、分布式处理器、服务 器、控制器、微控制器、离散逻辑计算机以及其他,如现有技术中已 知的那样。例如,处理设备428可以是Intel Core微处理器、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。MSD 106使用模块 化方法以及批准框架,组合了一个用于开发脚本或者有利于脚本创建 的简单接口。模块化是将测试步骤分组为描述一块功能性的小型模块 的过程。这些模块组合在一起形成测试脚本或者案例。MSD 106提供 用于开发测试脚本的智能模块建议。测试脚本可以包括一个或者多个 模块。当一个模块被添加到脚本中时,将可能的“下面模块”的列表 显示给用户。因此,MSD 106可以改进知识管理并减少创建模块的重 复性努力。用户还能够利用内嵌的(in-line)搜索功能来搜索模块。

MSD 106还允许在模块中的元标签和指示参数。元数据被添加到 模块中以便系统能够理解模块如何以及在何处使用。规定输入和输出 参数以使得能够再利用模块和数据驱动方法。MSD 106还允许规定与 模块相关联的技能和必要先决条件。将技能分配给测试以便系统知道 谁将能够或者可胜任执行脚本。规定必要先决条件(包括数据)以跟 踪测试准备就绪可执行。MSD 106还提供自动化批准工作流。集中化 工作流系统用于使得模块能够被批准或被拒绝。在创建或者修改模块 后,通知批准者。批准者可以批准该模块在所有脚本中使用、针对脚 本子集使用或者针对单个脚本使用。

下面描述测试执行工具栏108。测试执行工具栏108可以是并入 了测试者需要的所有工具的统一工具栏。测试执行工具栏108可以提 供内嵌的(in-line)测试执行。测试脚本可以是在工具栏内直接打开 的,这节约测试者桌面空间并且避免屏幕间的某些键击,诸如 ALT-Tabbing。缺陷提升(defect raising)和屏幕捕获可以是该过程的 部分。测试执行工具栏108还可以提供嵌入批准列表。所有的模块/ 脚本批准都可以显示在工具栏中,并且批准者可以快速地打开相关脚 本/模块以便批准。测试执行工具栏108还允许快速访问所有的NGT 工具。可以提供快速启动栏来使得测试者能够快速访问所有的NGT 工具。工具栏还可以处理关于NGT的登录管理。用户配置文件部分 可用于改变用户信息。测试执行工具栏108还可以是可停驻的,具有 自动隐藏功能。测试执行工具栏108可以停靠在屏幕的左手侧、并且 其可以选择为可见的或者自动隐藏的。可扩展框架允许将额外的面板 添加到工具栏。

下面描述优先区分和分配管理器(“PAM”)112。PAM 112利用 实时分配逻辑提供对测试脚本的集中自动化优先区分。PAM 112提供 可配置的优先区分因子。测试脚本基于一组集中的因子区分优先次 序,并且这些因子可以集中地进行配置以影响整个测试操作(例如, 为了针对约定关键性能指示符(“KPI”)改进性能)。PAM 112还提供 基于技能的分配——这提供拉而非推的方法。测试者可以经由用户接 口点击“获得下一个”来获得分配下一脚本以执行。基于加权的分配 因子实时选择最佳脚本。管理者可以控制与他们团队成员的技能相比 较的技能。PAM 112还可以提供管理者超权。给予管理者关于计划由 其团队执行的脚本的概览。他们能够改变特定脚本的因子(例如,商 业优先权)以重新区分队列的优先次序并迫使脚本被分配给特定的个 人。PAM 112还可以提供对于新因子的可插框架。可以通过定义新因 子类来增加新决策因子。可以通过用户接口来呈现因子并且在决策逻 辑中赋予其权重。这可被用于实现增强的“应用统计”决策模型。

下面描述自动化控制器114。自动化控制器114可以是针对虚拟 场上的弹性离线自动化的自动化框架,诸如“云环境”下的计算机器。 自动化控制器114提供测试脚本的远程执行。自动化控制器代理可以 运行在虚拟机(“VM”)上以管理测试脚本的执行。使用日志框架来 支持执行。自动化控制器114还可以与PAM 112通信以获得下一脚本。 这允许将集中化的因子应用到手动和自动化执行。

自动化控制器114还提供对模块的智能选择以使与自动运行的每 个测试脚本相关联的“投资收益率”或“ROI”最大化。自动化控制 器150为自动化选择共同提供最大ROI的测试脚本。关于是否使用自 动化控制器150来使一个特定测试脚本自动化的选择可以基于与该测 试脚本相关联的ROI。例如,特定测试脚本可以是处理用户的最初登 录的测试脚本。因为处理用户最初登录的测试脚本可以在不变化的情 况下由上百个不同测试脚本来使用,这样的测试脚本提供了高ROI, 并且由此可以作为自动化的良好候选。ROI从本质上是对测试脚本自 动化所达到的效率提高的测量。优先区分工作流辅助自动化团队来评 估将被自动化的下一模块。用户接口允许自动化团队来“登入”和“升 级”自动化模块。

自动化控制器114还提供模块化设计和部分自动化。自动化脚本 可以被开发为模块,并且每个自动化模块可以有一个或者多个针对其 映射的手动模块。部分自动化使得能够快速执行脚本的自动化部分。 基本上,自动化控制150用于可适用于将测试脚本的执行自动化的场 合。

下面描述报告门户120。报告门户120提供可通过一个集中的在 线门户访问的自动化报告能力。报告门户120可以包括完整的 MicrosoftTM商业智能(“BI”)套组。该解决方案利用了SQL服务器 集成服务、SQL服务器分析服务和SQL服务器报告服务,这些可以 从Microsoft公司获得。定制的SQL服务器集成服务(SSIS)组件与 外部测试工具130(诸如HP Quality CenterTM,其可从Hewlett-Packard 公司获得)直接通信。

报告门户120还包括离线数据仓库以避免测试工具降级。可以维 护离线数据仓库以避免对外部测试工具的直接询问。将基于维度的数 据模型用于简化的报告。另外,将数据预聚集在多维在线分析处理 (“MOLAP”)数据库中以提供快速分析。报告门户120还提供基于 立方的度量和KPI(关键过程指示符)。使用SS分析服务,测量和目 标可以是已经被预定义好的,其可以包含在报告中。PowerPivot,可 从Microsoft公司获得的电子制表软件插件允许数据在电子制表软件 程序(诸如用于ad-hoc报告的Microsoft ExcelTM)中被快速地分析。 另外,报告门户120提供与诸如Microsoft SharePointTM之类的解决方 案的集成。在需要来自除HP Quality CenterTM之外系统的数据(例如, 财务/生产数据)的情况下,该解决方案可以从诸如Microsoft  SharePointTM之类的解决方案接收数据。SSIS组件允许解决方案在需 要的情况下可容易地扩展到直接数据资源。

下面描述缺陷管理工具110。缺陷管理工具110可以简化用于提 升、跟踪和更新缺陷的过程。缺陷管理工具110可以提供缺陷查看列 表。可以给基于工具栏的缺陷列表提供实时的红黄绿(RAG)状态指 示符。红色状态指示高风险或者严重项目问题、黄色状态指示中等风 险并且绿色状态指示低风险。缺陷管理工具110可以允许快速访问缺 陷的完整信息以查看最新状态。缺陷管理工具110还可以为内嵌缺陷 提升提供测试历史。当通过工具栏执行测试时,可以捕获屏幕快照和 测试步骤。当提升缺陷时,该信息预填充在缺陷中。可以直接上传屏 幕快照和其他附件。缺陷管理工具110还减少“alt-tab”操作。通过 在工具栏中包括核心缺陷管理,缺陷管理工具110能够降低“alt-tab” 进入诸如HP Quality CenterTM的外部测试系统130的需求。缺陷管理 工具110还使得能够自动化解锁脚本,以进一步避免在外部测试系统 中花费的时间。缺陷管理工具110还提供基于团队的视角。管理者具 有“团队视角”,从而他们能够查看当前影响他们团队的缺陷的相关 大小尺寸和状态。

下面描述测试计划工具104。测试计划工具104提供用于估计、 计划、选择回归和分配准备工作的智能接口。测试计划工具104提供 辅助的估计。使用三个阶段过程来提供精确性水平更高的估计。使用 来自之前测试版本的信息来改进估计。可以使用可插架构用于特定于 客户端的计算。测试计划工具104还将要求的解构提供到测试中。测 试计划工具104辅助用户将要求拆散成可管理数目的测试。协作工作 能力允许“分步解决”的方法。测试计划工具104还提供通过技能来 进行资源预测。对支持测试行为所需的技能进行早期预见成为可能, 并且可以在用户接口上呈现可用性相对需求的图形显示。测试计划工 具104还帮助通过提升交叉技能来塑造测试组织性。测试计划工具 104还提供回归包建议。使用元数据驱动方法,系统将建议适当的回 归包。基于风险的测试分数可以被用于相应地确定包的大小。

下面描述测试数据供应链116。测试数据供应链116自动化需求 管理和测试数据的供应。测试数据供应链116可以提供数据目录。对 数据类型进行建模并将其存储在数据库中。测试数据团队可以登入或 者登出数据目录。同样,可以规定规则以实现基本的数据挖掘。测试 数据供应链116还提供将数据映射到测试脚本。在准备过程中,针对 脚本选择所需的数据类型。同样,利用模块化脚本设计器106,可以 将数据参数直接映射到脚本参数,以允许在运行时自动化分配。测试 数据供应链116还提供对“库存水平”的监视以及重订购。测试数据 供应链116可以监视所有类型数据的需求相对容量的比较,并且当数 据获得测试脚本的“使用”时,更新该水平。测试数据供应链116可 以从数据团队或者经由自动化供应来订购额外的数据。测试数据供应 链116还可以与PAM 112集成在一起。在区分优先次序过程中可以使 用库存水平来避免运行不具有可用测试数据或者库存水平低的脚本。

例如,如果50个特定测试脚本需要输入数据类型“A”,27个特 定测试脚本需要输入数据类型“B”,则测试数据供应链116为每个脚 本组织所需数据类型并以“适时制(just in time)”方式将数据提供给 测试脚本以避免冗余并减少复杂度。另外,这种测试数据可以基于特 定测试的结果在测试过程的整个生命周期中发生改变。相应地,测试 数据供应链116跟踪需要的改变并更新相应测试脚本需要的数据集, 从而当测试脚本正在被执行时,最新的测试数据对测试脚本而言可 用。

MSD 106可以提供以下功能性:定义新脚本:用户能够创建新测 试脚本,并输入关于该脚本的关键信息;编辑现有脚本:用户能够载 入、或者载入现有脚本并编辑该脚本中的信息/模块;选择测试数据: 用户能够从数据目录中选择数据类型以关联到脚本;搜索模块:用户 能够搜索现有模块;前10个后续模块:MSD 106可以基于库内的现 有脚本向测试者建议最可能的后续模块,其可以是10个模块或者任 何其他数目的模块;以及创建新模块:当需要时用户能够设计新模块。

创建新模块可以包括以下子功能性:定义测试步骤:可以针对模 块捕获测试步骤;定义期望结果:可以针对测试步骤捕获期望结果; 定义输入变量:测试者可以能够定义用于模块的输入变量并根据需要 将这些包括在测试步骤/结果中;定义输出变量:测试者可以能够定义 用于模块的输出变量并根据需要将这些包括在测试步骤/结果中。

MSD 106还可以提供以下功能性:映射模块输入变量:将模块的 输入映射到之前模块的输出,其由测试者在运行时输入或者映射到测 试数据域;模块元数据:MSD 106允许针对每个模块规定额外的可配 置元数据;技能捕获:测试者能够输入执行测试所需要的技能;必要 先决条件捕获:MSD 106允许测试者针对脚本输入任何需要的必要先 决条件;优先权和风险捕获:用户能够针对脚本输入商业优先权、失 败可能性以及失败的影响。

MSD 106还可以提供功能性,诸如允许用户:复制测试脚本、将 脚本保存为草稿、查看遗存步骤、在脚本中容易地重排(re-order)模 块、将模块标记为偏好、查看偏好模块、将模块提交给模块批准者、 将模块保存为草稿、将输入和输出变量的源定义为固定值、将脚本标 记为无需审核、将文档或者图像附加到脚本以及取消脚本创建。MSD 106还可以确保不会有多个模块被创建为具有相同名称。MSD 106可 以提供更少的、额外的或者其他的功能性。

图5示出了MSD 106的实施例的逻辑示图。使用MSD 106,测 试者501可以打开或者访问已经被创建好的脚本510。MSD 106还通 过允许测试者501使用脚本ID或者通过浏览测试计划数据库或者测 试实验室数据库(这些是测试脚本存储于其中的数据库)来搜索脚本, 从而允许测试者501复制或者重复现有脚本520。MSD 106还可以允 许测试者501在打开脚本510之后查看遗存步骤511。测试者501可 以使用MSD 106通过将细节和模块添加到遗存脚本来将一个遗存脚 本转换成下一代测试脚本。遗存脚本是尚未被模块化的脚本。测试者 501还可以使用MSD 106查看遗存步骤,并且将遗存步骤转换为模块 (如果这些模块尚未存在于遗存脚本中)。

MSD 106还可以允许测试者501创建新脚本530。为了在MSD 106中创建新脚本530,测试者501可以输入脚本细节531,包括唯一 的脚本名称、脚本能力的简单描述以及技能细节。技能细节可以包括 成功执行脚本所需的技能。在532,测试者501可以在MSD 106中规 定用于该脚本的输入和输出变量,并且审核测试者501为该脚本输入 的所有数据,选择用于该脚本的批准者,并且附加任何该脚本可能需 要的数据。测试者501可以将脚本提交给测试工具533,诸如HP Quality CenterTM

MSD 106还允许测试者501向测试脚本中输入模块。MSD 106 可以向测试者501建议将要被添加到脚本中的模块。在534,测试者 501还可以使用MSD 106来搜索其他模块以添加到脚本、创建新模块、 编辑现有模块或者复制现有模块。MSD 106还可以存储测试者501所 偏好的模块。MSD 106可以允许测试者501将选定的、新创建的、编 辑的或者复制的模块添加到脚本中。测试者501可以可选地将模块提 交535给批准者504,其可以是同业审核者,诸如测试领导。批准者 504可以提供针对该脚本的备注并且可以批准模块536或者拒绝模块 537。如果批准者504拒绝模块537,则批准者504可以将该模块分发 回给测试者以编辑538,并且该模块仅可从该模块被提交535的点处 被编辑。被拒绝模块是非活动的,这意味着该模块不能被搜索或者不 能被使用。测试者501可以基于批准者504给出的备注来编辑脚本 538。如果批准者504接受模块536,则模块被标记为准备好进行测试, 这意味着该模块准备好用于执行并且被添加到脚本。

在一个特定实施例中,MSD 106可以提供下述用于批准新创建模 块的批准过程。当测试者501提交一个模块用于批准时,MSD 106可 以将该模块的状态指示符设置为申请批准并通知批准者504来审核该 模块。测试者501可以指定一个人员作为批准者504,或者MSD 106 可以基于批准者的角色或者该模块所需的技能来选择批准者504。当 批准者504批准该模块时,MSD 106可以将该模块的状态指示符设置 为被批准使用并且该模块随后可用于在其他脚本中使用并且可以被 MSD 106的用户搜索。批准者还可以在批准模块之前对该模块进行修 改。当批准者504拒绝一个模块时,MSD 106可以提示该批准者输入 拒绝原因并将模块的状态指示符设定为被拒绝,并通知测试者批准者 拒绝了该模块。测试者501可以在MSD 106中编辑或者更新被拒绝 的模块。测试者501可以编辑或者更新被拒绝的模块并将模块重新提 交用于审核,或者测试者501可以从脚本中移除被拒绝的模块,在这 种情况下,MSD 106将被拒绝模块的状态指示符设置为非活动,或者 删除被拒绝的模块。

图6、图7、图8和图9示出了MSD 106的一个实施例的逻辑示 图。如图6所示,MSD 106可以提示用户登录601并且打开模块化脚 本设计器602。然后,MSD 106可以提示用户选择是否创建新脚本610, 打开现有脚本620,复制现有脚本630或者查看遗存步骤640。如果 用户选择创建脚本,MSD可以提示用户输入脚本细节以及必要先决 条件604,并且增加模块605。如果用户选择打开现有脚本620,则 MSD 106可以提示用户通过脚本细节搜索脚本622,或者浏览测试实 验室数据库或者测试计划数据库623,并且将可用脚本显示给用户。 然后,用户可以在MSD 106中选择脚本624,并且MSD 106可以给 予用户关于对脚本如何操作的选项625,包括打开脚本626、输出脚 本到外部程序(诸如Microsoft Excel,或者用于查看脚本的另一程序) 627、或者取消操作606的多个选项。如果用户打开脚本626,则MSD 106继续脚本创建过程700,如图7所示。如果用户选择复制脚本630, 则MSD 106可以提示用户输入脚本细节604并向脚本增加模块605。 功能测试自动化工具162可以存储不具有步骤或者模块的脚本,例如 某些遗存脚本或者仅包括脚本信息但没有模块的脚本。因此,如果用 户选择查看遗存步骤640,则MSD 106可以确定该遗存脚本是否具有 任何步骤641并且允许用户查看可用遗存步骤642,将用户选择的遗 存步骤添加到脚本643或者取消操作606。如果用户添加步骤到脚本 643,则MSD 106可以提示用户输入脚本细节和必要先决条件604, 并添加模块605。在用户添加模块605之后,MSD 106指引用户通过 脚本创建过程中的下面的步骤800(图8)。

图7示出了MSD 106的一个实施例的从图6继续的逻辑框图。 在用户在图6中打开脚本626之后,MSD 106继续脚本创建过程700 并给予用户编辑脚本710的选项。如果用户选择编辑脚本,则MSD 106 可以确定用户是否具有编辑权720。如果用户具有编辑权,则MSD 106 可以允许用户编辑脚本721,并继续完成脚本创建过程900。如果用 户不具有编辑权,则MSD 106允许用户取消操作722。

图8示出了MSD 106的一个实施例的从图6继续的逻辑框图。 在用户在图6中向脚本添加模块605之后,MSD 106可以指引用户通 过脚本创建过程800中的下面的步骤。MSD 106可以允许用户使用建 议的模块801。如果用户能够使用建议的模块801,则用户可以从建 议的现有模块中选择一个模块802,并且MSD 106给予用户编辑模块 803的选项。如果用户编辑模块804,则MSD 106提示用户保存改变 805并提交模块806。MSD 106还可以允许用户取消改变808。如果 用户在803不编辑模块,则MSD 106提示用户确定是否复制模块810。 如果用户复制模块810,则MSD 106提示用户输入模块名称811。如 果用户选择不复制模块810,则MSD 106提示用户添加模块到脚本 812。在将模块添加到脚本813之后,MSD 106给予用户添加另一模 块814的选项。如果用户不添加任何其他模块,则MSD 106提示用 户输入脚本输入/输出信息并继续完成脚本创建过程900。

MSD 106可以通过提示用户输入搜索细节821、执行搜索822以 及向用户显示搜索结果来允许用户搜索模块820。然后,MSD 106可 以允许用户从搜索结果中的现有模块中选择模块802,并给与用户编 辑模块803的选项。

MSD 106还可以允许用户使用偏好模块830。MSD 106允许用户 从现有模块中选择模块802,并给与用户编辑该模块803的选项。如 果用户不能使用任何现有模块(例如,建议的模块801、来自搜索结 果的模块820或者偏好模块830),则用户可以使用MSD 106来创建 新模块831。在用户创建新模块831之后,MSD 106可以提示用户添 加模块到偏好832。用户可以选中复选框833以将模块添加到偏好并 且然后提交该模块806。替代地,用户可以在不添加模块到偏好的情 况下提交模块806。在提交模块806之后,MSD 106可以提示用户取 消808或者添加模块到脚本812、添加其他模块814、输入脚本输入/ 输出信息815以及完成脚本创建过程900。

图9示出了MSD 106的一个实施例的从图7和图8继续的逻辑 示图。在用户编辑脚本721或者完成将模块到添加脚本814以及输入 脚本输入/输出信息815之后,MSD 106可以提示用户指示该脚本是 否需要审核901。如果用户指示该脚本不需要审核,则MSD 106在允 许用户继续之前提示用户输入无审核原因902。如果用户指示该脚本 需要审核,则MSD 106提示用户输入批准者名称903。在用户输入脚 本审核信息之后,MSD 106提示用户输入所需的附件904,并且允许 用户添加附件905或者继续而不添加附件。附件可以包括显示脚本的 结果屏幕快照、文件或者文档。然后,MSD 106提示用户保存脚本 906,并允许用户完成用于保存脚本907的步骤。然后,MSD 106提 示用户提交脚本908,并给与用户完成用于提交脚本909的步骤或者 在不提交脚本的情况下关闭模块化脚本设计器910的选项。

图10是MSD 106的特定实施例的用户接口的逻辑示图。MSD 106 可以允许测试者基于现有模块库快速设计新脚本。当需要新模块时, 测试者可以能够在MSD 106中创建模块。使用MSD 106,测试者可 以输入关于测试以及执行该测试所需技能的信息1004。测试者可以选 从数据目录中选择测试数据的类型1006。测试者还能够输入关于当前 模块的元数据并设置该模块的输入参数1008。MSD 106还可以示出 当前测试脚本的概览。该概览可以示出为当前测试脚本选择的模块 1010。当需要时可以使用MSD 106创建新模块1012,并且测试者能 够搜索特定模块1014。MSD 106还可以自动地示出前五个后续模块, 其是测试者可能接下来使用的1016。可以显示任何其他数目的可能后 续模块。可能后续模块基于现有测试的知识来确定。MSD 106可以允 许测试者将模块拖到或者丢到脚本中1018。MSD 106还可以显示测 试步骤信息供测试者参考1020。

图11示出了MSD 106的一个实施例的屏幕快照1100。用户接口 可以包括多个屏幕、或者标签,包括细节标签1102、必要先决条件标 签1104、在图11中示出更多细节的脚本处理标签1106、输入/输出标 签1108和完成标签1110。多个屏幕、或者标签可以通过向用户显示 选项和信息并提示用户输入用以创建或者设计脚本的信息,来指引用 户通过脚本设计过程。例如,用户可以通过点击文件按钮在细节标签 1102上开始,来从功能下拉列表中进行访问或者选择,功能包括打开 脚本、新脚本、查看脚本、复制脚本或者保存脚本。测试者还可以在 细节标签1102上输入关于脚本的关键信息。关键信息可以包括脚本 头1114、脚本名称1116、脚本描述1118、测试属性的名称和值1120、 完成脚本执行所需的技能1122以及用于脚本的需要参考。用户可以 从设计标签1102上显示的技能列表中选择需要的技能1122。需要的 技能1122可以随后被用于将脚本指派给相关的或者胜任的测试者和 批准者。细节标签1102还可以包括保存草稿按钮1124,用户可以点 击该按钮来保存所输入的脚本信息。在必要先决条件标签1104上, MSD 106可以向用户显示并允许用户修改用于执行脚本的必要先决 条件,其可以包括数据类型、数据备注和其他必要先决条件。其他的 实施例可以包括更少的、额外的或者替代的屏幕、或者标签,以向用 户显示脚本选项和信息,并接受用户关于脚本的输入。

如图12所示,脚本处理标签1106可以向用户显示测试脚本中的 所有模块,并且允许用户通过创建新模块、编辑现有模块或者复制现 有模块来将模块添加到脚本中。用户还可以输入与模块有关的数据, 例如包括模块名称1202、模块状态1204、模块版本1206以及模块描 述1208。用户接口还可以在窗格中向用户显示多个选项,包括建议包 含在脚本中的模块1210以及搜索模块1212的选项。

用户可以通过点击并将选择的模块拖到当前脚本域1214中来从 建议模块1210中选择一个模块。用户可以输入关于该模块的其他信 息,包括模块链接到的组件(从配置管理数据库(CMDB)和任何其 他元数据中拉出)。用户接口可以向用户显示关于脚本的其他信息, 例如包括模块步骤1216、用于每个模块步骤的测试步骤1218、每个 模块步骤的期望结果1220、当前脚本步骤1214、属性名称1222、属 性值1224以及参数1226。用户可以点击“添加到脚本”按钮1228 来将模块添加到脚本。

MSD 106基于脚本中的最新模块更新建议模块的列表。如果脚本 不具有任何模块,则MSD 106可以提供最流行模块的列表来作为脚 本中的第一步骤使用。例如,MSD 106可以建议流行的第一模块,如 “登录到应用(Log in to App)”。如果在脚本中有一个或者多个模块, 则MSD 106可以建议跟在脚本中所列出的最后模块之后的流行模块。 MSD 106可以将用户从建议模块的列表中选择的模块添加到脚本,并 向用户显示所选择的模块的细节供其审核和修改。这些细节可以包 括,例如给定模块中的步骤、该模块的属性以及该模块的参数。属性 可以被隐藏以允许更多的空间用于审核步骤。在审核细节之后,测试 者可以通过点击“添加到脚本”来将选择的模块添加到测试脚本。可 以在诸如当前脚本窗格1202的窗格中示出当前脚本中的每个步骤的 细节,以便测试者在测试者前进时查看整个脚本。在测试者将选择的 模块添加到脚本之后,MSD 106可以更新建议模块窗格以示出脚本中 最可能的后续步骤或者模块。MSD 106可以基于其他现有脚本中的模 块次序来确定在选择的模块之后一般会添加哪些模块。MSD 106允许 测试者通过向脚本添加模块、改变当前脚本窗格1202中的模块次序 或者从当前脚本窗格1202中移除模块来开发脚本。

在输入/输出标签1108上,MSD 106可以显示与测试脚本相关联 的所有输入/输出参数的列表。测试者可以通过选择一个参数进行改变 来修改输入/输出参数的源。例如,测试者可以将输入参数改变为固定 值。固定值被直接输入到“值”字段并与脚本一起保存。替代地,用 户可以将输入参数的源改变为“用户定义”。

在完成标签1110上,MSD 106向测试者显示测试脚本的细节总 结。MSD 106可以向测试者呈现新模块以便测试者能够将该新模块添 加到当前脚本中。用户可以选择他们的同业者之一来审核该脚本。当 该脚本被提交用于审核时,MSD 106触发批准工作流以确保脚本的模 块不被不正确地创建。用户还可以浏览测试工具以决定将已经开发好 的脚本存储在何处。MSD 106允许测试者将附件添加到脚本并将脚本 提交用于同业审核。MSD 106可以允许测试者输入无审核原因并继续 提交测试脚本。

图13示出了MSD 106的一个实施例的模块设计器的示图。当测 试者选择创建、编辑或者创建脚本的副本时,MSD 106可以显示模块 设计器1300。模块设计器可以包括多个屏幕或者标签,以指引用户通 过创建新模块。模块设计器1300可以包括细节标签1114、步骤设计 标签1320和完成标签1330。细节标签1114可以提示测试者输入模块 名称、模块属性名称和值、模块描述以及执行脚本和批准模块所需的 技能。模块设计器1300可以提供技能列表,用户可以从中选择用于 测试模块所需的技能。

步骤设计标签1320可以指引测试者通过向模块的添加步骤。步 骤设计标签1320可以提示测试者输入与模块中各步骤的描述、参数 以及期望结果有关的信息。参数可以使用记号嵌入在步骤中,诸如 “>>>Input<<<”用于输入以及“<<<Output>>>”用于输出参数。参 数的列表可以当每个步骤被输入时进行更新。用户继续输入步骤的期 望结果并且规定是否应当为该步骤捕获测试证据。为模块中的其余步 骤重复该过程。测试者还可以使用步骤设计标签1320插入步骤和添 加步骤。完成标签1330可以向用户显示模块总结页并允许测试者提 交模块、保存模块的草稿、将模块添加为偏好或者取消模块的创建。 保存为草稿的模块可以不被添加到任何脚本。

一个示例性的模块可以是“查看账单”模块,其允许用户查看与 该用户的账户有关的信息或者细节。用于“查看账单”模块的测试步 骤可以是“点击‘账户标签’”,对于该步骤期望结果是“账户标签应 当打开”。另一个测试步骤可以是“点击‘账户细节’链接”,对于该 步骤期望结果是“应当示出概述的账户细节”。另一个测试步骤可以 是“点击‘查看更多’”,对于该步骤期望结果是“应当显示所有账户 细节”。

在MSD 106的另一个实施例中,用户接口可以包括允许用户输 入关于脚本的其他信息的下拉菜单。例如,用户可以描述对于脚本失 败的可能性以及失败的影响,并且基于用户的描述,系统可以计算该 脚本的基于风险的测试分数。例如,用户可以从“失败可能性”的下 拉菜单上的低、中、高和非常高的下拉选项以及从“失败的影响”下 拉菜单上的低、中、高和非常高的下拉选项中进行选择。然后完成属 性的可配置列表。这些属性可以直接链接到底层测试工具(例如,HP QC域)。

在又一个实施例中,测试者可以搜索将为脚本所需要的测试数据 的类型。用户可以选择执行测试所需的测试数据、输入所需测试数据 的描述并且输入关于数据类型的其他备注。用户可以输入关于所需测 试数据的特定配置的其他备注。例如,用户可以规定“客户必须具有 打开的订单”。MSD 106还可以要求测试者输入用于脚本的某些数据。 所需数据例如可以包括客户类型(例如,商业或者消费者)、地址类 型和产品(例如,陆上通信、宽带或者移动电话)。MSD 106可以要 求测试者输入用于脚本的更少的、额外的或者其他的数据。

图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)提供后 端不可知访问(backend agnostic access),并实现经由一个公共接口到 一个或者多个后端系统诸如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,其提供用于与应用服务器服务对话的窗口通信基础(Windows  Communication Foundation)服务代理。数据层1440可以是企业库数 据访问应用块(Enterprise Library Data Access Application Block)或者 定制设计的数据层。替代地,可以使用对象相关映射工具,诸如Entity  Spaces(可从EntitySpaces有限责任合伙公司获得)、Genome(可从 TechTalk股份有限公司获得)、LINQ-to-SQL(可从Microsoft公司获 得)、Entity Framework(也可从Microsoft公司获得)或者LLBLGen Pro (可从Solutions Design获得),来生成数据层1440组件。

NGT 100中的交叉切割功能1405可以例如包括安全、例外处理、 锁定和通信。NGT 100还可以包括逻辑高速缓存1406。从NGT 100 的输出例如可以包括电子邮件功能性1407或者其他信息通信功能性。 电子邮件可以包括对测试者的有关脚本拒绝或者批准的通知,对批准 者的有关脚本准备好被审核的通知以及有关安全考虑、系统例外和审 计的通知。NGT 100还可以将信息传送给测试工具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、集成API 1532和分解 1533。集成层118还可以包括提供者1534、高速缓存1535和数据转 换1535。数据层1440可以提供到数据提供者1541、数据帮助者/实用 工具1542和数据服务API 1543的访问。

MSD 106可以具有用于批准/拒绝模块和脚本的集中工作流系 统。当创建或者修改了一个模块时,MSD 106通知批准者审核该模块。 批准者可以选择批准该模块以便在所有脚本中、对于脚本的子集或者 对于单个脚本可以使用。

当批准者针对所有的脚本批准了一项模块修改时,MSD 106将该 模块的状态指示符设置为批准使用。针对所有包含该模块之前版本的 脚本更新该模块的新版本。如果批准者表示测试脚本将需要在更新后 审核,则MSD 106将脚本的状态指示符设置为申请审核。

当批准者针对脚本的子集批准一项模块修改时,MSD 106提示用 户输入该模块的新名称,并通过创建新的模块标识符、将新模块链接 到现有模块并将新模块的状态指示符设置为批准使用来复制该模块。 MSD 106将新复制的模块关联或者添加到批准者选择的脚本子集。批 准者可以选择在向脚本的选定子集添加新模块后是否需要审核脚本。

当批准者拒绝一个模块时,MSD 106提示批准者输入拒绝原因, 将该模块标记为被拒绝,并允许批准者向测试者建议替换模块。然后, MSD 106例如通过电子邮件向测试者发送通知,以通知测试者该模块 被拒绝。然后,MSD 106可以允许测试者更新和重新提交模块,或者 从脚本中移除该模块。

MSD 106还提供脚本批准过程。当创建了一个新脚本时,MSD 106将新脚本的状态指示符设置为申请审核。MSD 106指派一个审核 者来审核脚本。当审核者批准该脚本时,如果脚本中的所有模块被批 准使用,MSD 106将该脚本的状态指示符设置为准备好测试。如果脚 本中的某些模块正在申请批准,则MSD 106可以将该脚本的状态指 示符设置为申请模块批准。

当更新一个脚本时,更新该脚本的人员可以指示该脚本是否需要 审核并且MSD 106将该脚本的状态指示符设置为申请审核。然后, MSD 106向审核者发送通知以审核该脚本。如果审核者批准了该脚 本,且该脚本中的所有模块被批准使用则MSD 106将该脚本的状态 指示符设置为准备好测试。如果某些模块仍在申请批准,则MSD 106 将该脚本的状态指示符设置为申请模块批准,直到该脚本中的所有模 决被批准使用。如果更新该脚本的人员只是该脚本不需要审核,且如 果该脚本中的所有模块被批准使用,则MSD 106将该脚本的状态指 示符设置为准备好测试。如果某些模块仍在申请批准,则MSD 106 将该脚本的状态指示符设置为申请模块批准,直到该脚本中的所有模 块被批准使用。

图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、闪存或者其他类型的存储器。参数(例如, 条件和阈值)和其他数据结构可以单独地存储和管理,可以合并到单 个存储器或者数据库中,或者可以以很多不同的方式在逻辑上和物理 上进行组织。程序和指令集可以是单个程序的部分、多个单独的程序 或者是跨若干存储器和处理器分布的。

尽管已经描述了本发明的各种实施例,对于本领域普通技术人员 明显的是,在本发明的范围内更多的实施方式和实现方式都是可能 的。因此,本发明除了以所附权利要求及其等效物为依据之外不受任 何限制。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号