在持续部署流水线中用来优先化多个测试的方法、系统和装置制造方法及图纸

技术编号:10721882 阅读:105 留言:0更新日期:2014-12-03 23:28
一种用于优先化持续部署流水线中多个测试的方法。该方法基于测试属性和测试环境对多个测试进行分级从而为多个测试中的每一个提供测试等级。该方法使用该测试等级设置用于持续部署流水线中的测试集。该方法在持续部署流水线中执行该测试集。

【技术实现步骤摘要】
【国外来华专利技术】【专利摘要】一种用于优先化持续部署流水线中多个测试的方法。该方法基于测试属性和测试环境对多个测试进行分级从而为多个测试中的每一个提供测试等级。该方法使用该测试等级设置用于持续部署流水线中的测试集。该方法在持续部署流水线中执行该测试集。【专利说明】持续部署流水线测试的优先化
技术介绍
软件开发生命周期使用持续集成(Cl)和持续部署(CD)来减少花费在生产线上的代码更改的时间。持续集成可以将接收来自特定的源配置管理(SCM)工具的代码更改、构建具有该代码更改的可交付组件以及测试该组件的过程自动化。 【专利附图】【附图说明】 参考所附的附图,在下面的说明中描述了本公开的非限制性示例,并且对权利要求的范围没有限制。在附图中,出现在多于一幅附图中的相同和相似的结构、元件或它们的部件一般在它们出现的附图中都标有相同或相似的参考标记。在附图中示出的部件和特征的尺寸主要是出于描述的方便和清楚来选择,而不一定是按比例绘制的。参照附图: 图1图示了根据一个示例的用来优先化持续部署流水线中多个测试的网络环境; 图2图示了根据一个示例的用来优先化持续部署流水线中多个测试的装置的框图; 图3图示了根据一个示例的图1的系统的框图; 图4图示了根据一个示例的可用在系统的一种计算机可读介质的框图; 图5图示了根据一个示例的优先化持续部署流水线中多个测试的过程的示意图;以及 图6-7图示了根据示例的用来优先化持续部署流水线中多个测试的方法流程图。 【具体实施方式】 在下面的详细描述中,参考构成为本文一部分的附图,并且在其中以本公开可以被实施的具体示例的方式加以图示。可以理解的是,在不脱离本公开的范围的情况下,也可利用其他示例,并且可以做出结构或逻辑的改变。 持续集成(Cl)和持续部署(CD)采用代码更改使代码组件的构建、测试和部署自动化。持续集成使以下过程自动化:从SCM工具检索代码更改、构建交付组件,诸如执行构建和单元测试组件。在代码更改交付给源配置管理(SCM)工具之后开始该自动化。当代码更改交付给SCM工具时,代码更改被分配到一个特定的持续部署流水线(CD流水线或部署流水线)。随着代码更改作为代码组件的一部分被测试,该代码更改通过持续部署流水线。 持续部署通过将组件自动部署到测试环境中并在组件上执行测试来扩展持续集成。测试的量由持续部署流水线确定。用于持续部署流水线的测试集通常是基于持续部署流水线、诸如低优先级或高优先级的分类而分配的静态测试集。典型的测试集包括单元测试和应用程序编程接口测试。用户接口自动化测试由于执行时间比单元测试和应用程序编程接口的测试长,因此很少被包括在测试集中。其结果是,由于测试集不包括用户接口的测试,因此测试集缺少质量保证。此外,测试集可以被手动设置为包括用户接口的测试;然而,手动更改测试集并不能保证其一致性,并且需要手动操作。 在示例中,提供了一种用来优先化持续部署流水线中多个测试的方法。该方法基于测试属性和测试环境(text context)将多个测试分级从而为多个测试中的每一个提供测试等级。该方法使用该测试等级来为持续部署流水线设置测试集。该方法在持续部署流水线中执行测试集。 短语“代码更改”指的是用于任何软件应用的源代码的更改。短语代码更改也可指构建为持续集成过程一部分的代码组件的一部分的代码更改。 短语“持续部署流水线”或“部署流水线”是指一组对代码更改队列进行串行和/或并行执行的动作。例如,持续部署流水线可包括构建代码、执行单元测试、部署代码、运行自动测试、代码分段、运行端对端测试以及部署代码至成品(product1n)。每个持续部署流水线可以被分类以接收与定义的一组标准相匹配的代码更改,例如,特定的持续部署流水线可以用于低风险和高优先级的代码更改。用于测试流水线的测试集可以类似的与用于代码更改的定义的该组标准相一致。 短语“测试集”是指在仿真环境中在持续部署流水线上运行的测试。该测试集测试被测应用程序(AUT)的功能和/或确定被测应用程序(AUT)的不足之处。测试集可包括用于测试代码更改的集成的单元测试和/或具有代码更改的功能测试,诸如应用程序编程接口(API)或用户接口(UI)测试。 短语“测试属性”指的是与测试和测试的之前执行相关联的数据。 短语“测试环境”包括代码更改、业务优先级以及测试值中的至少一个。测试值可包括测试的检测缺陷的能力、在测试中发现的缺陷的重要性、以及该测试对其他测试的依赖性。 短语“测试等级””或“测试分级”指的是基于一个或多个标准分配给测试的等级或值。该标准可以基于代码更改、测试特性、业务优先级、和/或与来自测试集之前执行的测试相关联的持续部署流水线来定义。 图1图示了根据一个示例的网络环境100。网络环境100包括连接测试设备12、部署设备14、客户端设备16以及数据存储18的链路10。测试设备12代表了通常的测试来自部署设备14的多个代码更改的任何计算设备或计算设备的组合。部署设备14代表了接收代码更改并且在持续部署流水线中部署代码更改的计算设备。 客户端设备16代表了配置为经由链路10与测试设备12和部署设备14进行交互的计算设备和/或计算设备的组合。该交互可以包括发送和/或传送代表用户的数据,诸如代码更改。该交互还可以包括接收数据,诸如具有代码更改的软件应用程序。客户端设备16可以是,例如,包括使用户能够创建和/或编辑软件应用程序代码的软件的个人计算设备。 该测试设备12代表了配置以优先化持续部署流水线中多个测试的计算设备和/或计算设备的组合。该测试设备12还配置为在测试环境下在一个应用程序中持续部署流水线上执行一组测试或测试集从而集成多个代码更改以供在软件应用程序中使用。 测试集和/或代码更改可被存储在数据存储18中。数据存储18通常代表了被配置为储存能够由测试设备12和部署设备14在其功能的执行中进行访问的数据的任何存储器。测试设备12的功能可经由将测试设备12连接到部署设备14、客户端设备16和数据存储18的链路10来实现。 链路10通常代表了一个或多个电缆、无线、光纤或经由电信链路、红外链路、射频链路或可提供电子通信的任何其它连接器或系统的远程连接。链路10可至少部分地包括内联网、互联网或两者的组合。链路10还可以包括中间代理、路由器、交换机、负载均衡器坐寸O 图1进一步图示了用来优先化持续部署流水线中多个测试的测试设备12的框图。测试设备12包括测试引擎22和决策引擎24。测试引擎22通常代表了执行持续部署流水线中测试集的硬件和/或编程的组合。决策引擎24—般代表了基于测试属性和测试环境对多个测试进行分级,来为多个测试中的每一个提供测试等级的硬件和/或编程的组合。决策引擎24还设置了用于使用了测试等级的持续部署流水线中的测试集。 图2图示了根据示例的用来优先化持续部署流水线中多个测试的装置200的框图。该装置200可用在持续部署流水线并且包括测试设备12、存储器26和处理器28。测试设备12优先化持续部署流水线中多个测试。存储器26存储一组指令。处理器28耦合到存储器26以执行该组指令。该组指令基于多个测试中的每一个的等级来设置用于持续部署流水线的测试集。该等级是使用测试本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201280068787.html" title="在持续部署流水线中用来优先化多个测试的方法、系统和装置原文来自X技术">在持续部署流水线中用来优先化多个测试的方法、系统和装置</a>

【技术保护点】
一种在持续部署流水线中用来优先化多个测试的计算机实现方法,所述方法包括:基于测试属性和测试环境采用决策引擎对所述多个测试进行分级,从而为所述多个测试中的每一个提供测试等级;使用所述测试等级采用所述决策引擎设置用于所述持续部署流水线的测试集;采用测试引擎在持续部署流水线中执行所述测试集。

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:I·莎妮A·尼桑S·毛恩
申请(专利权)人:惠普发展公司有限责任合伙企业
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1