用于软件应用组件测试的方法和系统技术方案

技术编号:33880643 阅读:15 留言:0更新日期:2022-06-22 17:10
本发明专利技术涉及一种用于软件应用组件测试的方法和系统。本发明专利技术的各方面公开了一种用于对应用的一部分执行测试的方法、计算机程序产品和系统。该方法包括一个或多个处理器识别用于测试应用的测试配置。该应用包括多个组件。测试配置包括测试应用的至少一个组件的指示。该方法还包括一个或多个处理器测试应用的所指示的至少一个组件。该方法还包括一个或多个处理器确定测试应用的所指示的至少一个组件的验证结果。验证结果。验证结果。

【技术实现步骤摘要】
用于软件应用组件测试的方法和系统


[0001]本专利技术一般涉及集成测试领域,尤其涉及测试软件应用的组件。

技术介绍

[0002]软件测试是一种调查,其被执行以向利益相关者提供关于被测软件产品或服务的质量的信息。软件测试还可以提供软件的客观、独立的视图,以允许企业理解和了解软件实现的风险。测试技术包括执行程序或应用以便发现软件错误(错误或其他缺陷)、验证软件产品适合使用的过程以及其他技术。软件测试涉及执行软件组件或系统组件以评估一个或多个感兴趣的属性。通常,这些性质指示被测组件或系统的以下程度:满足指导其设计和开发的要求;对各种输入正确地响应;在可接受的时间内执行其功能;可充分利用;可以在其预期环境中安装和运行;以及达到其利益相关者所期望的总体结果。
[0003]集成测试(有时称为集成和测试,缩写为I&T)是软件测试中的阶段,其中单个软件模块被组合并作为一个组被测试。进行集成测试以评估系统或组件与指定功能要求的符合性。集成测试发生在单元测试之后和验证测试之前。集成测试采用已被单元测试的模块的输入,将模块分组为更大的聚合体(aggregates),将在集成测试计划中定义的测试应用于该聚合体,以及作为集成系统的输出来交付以准备用于系统测试。
[0004]连续交付(CD)是一种软件工程方法,其中团队在短周期内制作软件,确保软件可以在任何时间被可靠地发布,并且当发布软件时,手动地执行此操作。连续交付的目的在于以更快的速度和频率来建立、测试和发布软件。该方法通过允许对生产中的应用的更加递增的更新来帮助降低成本、时间和交付改变的风险。对于连续交付,简单且可重复的部署过程是重要的。连续交付与连续部署形成对比,连续部署是一种类似的方法,其中软件也在短周期内制作,但通过自动部署而不是手动部署。

技术实现思路

[0005]本专利技术的各方面公开了一种用于对应用的一部分执行测试的方法、计算机程序产品、以及系统。所述方法包括:一个或多个处理器识别用于测试应用的测试配置。所述应用包括多个组件。所述测试配置包括测试所述应用的至少一个组件的指示。所述方法还包括:一个或多个处理器测试所述应用的所指示的至少一个组件。所述方法还包括:一个或多个处理器确定测试所述应用的所指示的至少一个组件的验证结果。
附图说明
[0006]图1是根据本专利技术实施例的数据处理环境的功能框图;
[0007]图2A描绘了根据本专利技术实施例的包括多个软件组件的示例应用;
[0008]图2B描绘了根据本专利技术实施例的包括多个软件组件的示例应用;
[0009]图3是描绘根据本专利技术实施例的用于对应用的一部分执行测试的程序的操作步骤的流程图;以及
[0010]图4描绘了根据本专利技术实施例的代表图1的计算设备和测试管理系统的计算系统的组件的框图。
具体实施方式
[0011]本专利技术的实施例用于提供软件集成测试框架,该框架与软件更改管理和连续交付系统一起工作,以自动检测、测试和验证对软件组件的更改,从而减少重复运行完整的端到端集成测试的需要。本专利技术的实施例认识到相应过程的优点,特别是当端到端集成测试很长时,花费几个小时或者甚至更长时间(例如,对于机器学习训练任务)。
[0012]本专利技术的一些实施例认识到,使用涉及机器学习模型的分析需要涉及特征生成、特征选择、模型训练和其他步骤的多个步骤。整个过程可能是高度复杂的,并且需要很长的持续时间来完全完成。另外,虽然所讨论的示例是机器学习,但是本专利技术的实施例认识到许多不同的实现和功能利用了长期运行的测试,该测试要求在已经更改的步骤可以被验证之前执行多个先前步骤。本专利技术的实施例认识到,解决过程的后面部分中的问题依赖于执行所有较早步骤以便构建用于验证的必要信息。
[0013]因此,本专利技术的实施例认识到,在可以验证对应用的(甚至相对简单的)更改以确定更改是否正确并且对应用的下游处理没有不利影响之前,可能需要执行可能长达数小时的过程。这样的限制通常可能导致对修复或更新的延迟验证,因为过程或应用内的步骤(在更改部分之前和之后)必须完成以确保该过程或应用不是回归的。
[0014]在各个方面,本专利技术的实施例提供了一种测试/执行应用的一组操作(例如,软件组件)的过程,而不必重新运行所有先前的操作(例如,软件组件),以便在稍后的步骤/操作验证该更改。以下示例中的一些涉及集成测试,但是对应的概念和模式也可以延伸到任何多步骤测试场景。
[0015]本专利技术的实施例用于对系统(例如,包括多个软件组件的应用)执行完整且经验证的端到端测试,其包括捕获系统的每个步骤(例如,软件组件)的状态(例如,元数据和数据),包括输入和输出。存储经验证的端到端测试。然后,当系统需要重新验证时(例如,响应于对应用的一个或多个软件组件的更改),本专利技术的实施例能够将系统重新加载到来自有效的端到端测试的状态,并且执行受导致重新验证的更改影响的步骤。本专利技术的实施例然后能够验证从执行步骤(一个或多个)得到的元数据和数据与从经验证的端到端测试得到的元数据和数据相同。
[0016]因此,本专利技术的实施例认识到,现有解决方案能够提供在故障点处重新开始系统运行(设置检查点)的能力。此外,本专利技术的实施例认识到,其他替代解决方案能够提供捕获状态且接着在对应于该状态的时间点重新开始的能力。然而,本专利技术的实施例认识到,这样的解决方案未与源系统相集成以理解需要被重新测试的步骤(和对应的组件),而是将确定/识别留作人工练习。此外,本专利技术的实施例认识到,其他解决方案能够提供以下能力:使用组件的先前输出状态作为一种验证更改尚未发生的方式。然而,本专利技术的实施例认识到,这样的当前解决方案未提供用于解决问题的完整的端到端过程。
[0017]本专利技术的实施例的实现可以采取各种形式,并且随后参考附图讨论示例性实现细节。
[0018]现在将参考附图详细描述本专利技术。图1是示出根据本专利技术一个实施例的分布式数
据处理环境(总体指定为100)的功能框图。图1仅提供了一种实现的图示,并且不暗示对其中可实现不同实施例的环境的任何限制。本领域技术人员可以对所描绘的环境进行许多修改,而不偏离权利要求所述的本专利技术的范围。
[0019]数据处理环境100的实施例包括计算设备110和测试管理系统120,它们都通过网络105互连。在示例实施例中,测试管理系统120代表可以提供软件集成测试框架的计算设备(例如,一个或多个管理服务器),该软件集成测试框架与软件更改管理和连续交付系统一起工作以自动地检测、测试和验证对(例如,诸如计算设备110上的应用200之类的应用的)软件组件的更改,从而减少重复运行完整的端到端集成测试的需要。在其他实施例中,根据本专利技术的各种实施例,数据处理环境100可以包括可与测试管理系统120对接的计算设备(未示出)的附加实例。
[0020]网络105可以是例如局域网(LAN)、电信网络、诸如因特网的广域网(WAN)或这三者的任何组合,以及包括有线、无线或光纤连接。通常,根据本专利技术的实施例,网络105可以是支持计算本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括:由一个或多个处理器识别用于测试应用的测试配置,所述应用包括多个组件,其中,所述测试配置包括测试所述应用的至少一个组件的指示;由一个或多个处理器测试所述应用的所指示的至少一个组件;以及由一个或多个处理器确定测试所述应用的所指示的至少一个组件的验证结果。2.根据权利要求1所述的方法,其中,识别用于测试应用的测试配置进一步包括:由一个或多个处理器确定自所述应用的前一次测试以来已更改的所述应用的至少一个组件;以及由一个或多个处理器生成用于测试所述应用的所述测试配置以包括用于所述应用的测试套件,所述测试套件包括测试所述应用的所述至少一个组件的所述指示。3.根据权利要求1所述的方法,还包括:由一个或多个处理器对所述应用运行完整的端到端测试,其中,运行所述完整的端到端测试进一步包括:由一个或多个处理器将测试数据集馈送到所述应用中;由一个或多个处理器捕获所述应用的每个组件的相应输入和输出;以及由一个或多个处理器将所述应用的每个组件的所捕获的相应输入和输出存储为经验证的端到端测试数据集。4.根据权利要求1所述的方法,其中,测试所述应用的所指示的至少一个组件进一步包括:由一个或多个处理器从与所述应用相对应的经验证的端到端测试数据集中识别经验证的数据输入;以及由一个或多个处理器将所述经验证的数据输入...

【专利技术属性】
技术研发人员:W
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:

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

1