一种测试结果分析方法及装置与流程

文档序号:11154869阅读:224来源:国知局
一种测试结果分析方法及装置与制造工艺

本发明涉及软件测试技术,特别涉及一种测试结果分析方法及装置。



背景技术:

在软件测试中,需要对测试结果进行整理,尤其大型测试中,测试结果数据量非常大,需要进行各种测试数据的整理,之后再基于整理后的测试结果进行分析比较;数据整理的环节一般会占据较多的时间,而且人为操作容易发生错漏。

在上述的流程中,中间的某个环节由于粗心大意等原因导致出错,都可能导致全部返工;而且在某些测试场景中,例如不同的软件版本迭代时,都需要进行基线测试,这些测试以及结果分析等工作具有重复性等特点,效率较低。



技术实现要素:

本发明提供一种测试结果分析方法,该测试结果分析方法包括:

从分散的测试主机获取对应的软件测试结果;

根据软件测试结果的维度对所述软件测试结果进行数据挖掘及形变,生成预定格式的测试结果;

利用预先创建的分析策略池对所述预定格式的测试结果进行分析,生成分析结果,其中,所述分析策略池中包含多种不同的分析策略。

本发明提供一种测试结果分析装置,该测试结果分析装置包括:

结果获取单元,用于从分散的测试主机获取对应的软件测试结果;

数据整理单元,用于根据软件测试结果的维度对所述软件测试结果进行数据挖掘及形变,生成预定格式的测试结果;

结果分析单元,用于利用预先创建的分析策略池对所述预定格式的测试结果进行分析,生成分析结果,其中,所述分析策略池中包含多种不同的分析策略。

本申请实施例中,可以实现软件测试结果的自动化分析,避免人工重复性操作,同时保证数据整理与分析的准确性;可以将软件测试实际结果与基线数据(预期结果)的差异化比较通过自动化方式实现;可以将测试分析结果以excel表格式进行展示,结果可读性高,易于理解。

当然实施本申请的任一产品或者方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例的应用场景示意图;

图2是本申请实施例的测试结果分析方法的一种实施例的方法流程图;

图3为本实施例中异构环境下的测试数据获取方法示意图;

图4为本发明一实施例的挖掘及形变方法流程图;

图5为本发明实施例的数据挖掘与形变过程示意图;

图6为本发明实施例的测试结果进行分析流程图;

图7为本发明实施例的模块实现示意图;

图8为本发明一实施例的测试结果分析装置的结构示意图;

图9为本发明一实施例的测试结果分析装置的结构示意图;

图10为本发明实施例的数据整理单元的结构示意图;

图11为本发明实施例的结果分析单元的结构示意图;

图12为本发明一实施例的测试结果分析装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在对本申请进行详细解释说明之前,先对本申请的应用场景予以介绍。本申请实施例的技术方案可以在汇总主机与多个测试主机之间实现相关业务,汇总测试主机上的软件测试结果,对软件测试结果进行分析并输出,如图1所示。现有技术中,测试结果数据量非常大,需要进行各种测试数据的整理,之后再基于整理后的测试结果进行分析比较;数据整理的环节一般会占据较多的时间,而且人为操作容易发生错漏。

鉴于此,本申请实施例提供了一种测试结果分析方法及装置,以快速便捷的实现监控数据查询。图2是本申请实施例的测试结果分析方法的一种实施例的方法流程图,该测试结果分析方法的执行主体可以是与测试主机对应的汇总主机,如图2所示,该测试结果分析方法可以包括如下步骤:

S201:从分散的测试主机获取对应的软件测试结果;

S202:对所述软件测试结果进行数据挖掘及形变,生成预定格式的测试结果;

S203:利用预先创建的分析策略池对所述预定格式的测试结果进行分析,生成分析结果,其中,所述分析策略池中包含多种不同的分析策略。

由图1所示的流程可知,本发明首先从不同的测试主机获取对应的软件测试结果,然后根据软件测试结果的维度对所述软件测试结果进行数据挖掘及形变,生成预定格式的测试结果,最后利用预先创建的分析策略池对所述预定格式的测试结果进行分析,生成分析结果。通过图1所示的测试结果分析方法,可以实现软件测试结果的自动化分析,避免人工重复性操作,同时保证数据整理与分析的准确性;可以将软件测试实际结果与基线数据(预期结果)的差异化比较通过自动化方式实现。

一实施例中,本发明还可以将测试结果输出并展示。具体地,可以将分析结果输出,并以web页面或者excel格式展示输出的分析结果,这样使得结果可读性高,易于理解。

基于通用性的角度分析,本发明需要考虑测试结果会分散在不同的测试主机上,而且这些测试主机的操作系统可能是不同的,而结果需要分析汇总在一台汇总主机上;另外,对于不同的测试场景,测试结果的格式也是不一样的。测试主机环境及测试结果是易变因子,本发明需要解耦易变因子,以保证测试结果分析的灵活性及易维护性。

基于上述考虑,本发明从不同的测试主机获取对应的软件测试结果,可以针对测试主机的测试环境,选择对应的获取策略从测试主机获取软件测试结果。

一实施例中,选择对应的获取策略从测试主机获取软件测试结果时,可以通过VB脚本以SSH方式调用测试主机的shell脚本获取所述软件测试结果。

另一实施例中,选择对应的获取策略从测试主机获取软件测试结果时,可以采用通过VB脚本以Telnet方式调用测试主机的shell脚本获取所述软件测试结果;

另一实施例中,选择对应的获取策略从测试主机获取软件测试结果时,可以采用通过odbc接口直接获取数据库主机的所述软件测试结果。

另一实施例中,选择对应的获取策略从测试主机获取软件测试结果时,可以采用FTP方式直接从测试主机的获取所述软件测试结果;

另一实施例中,选择对应的获取策略从测试主机获取软件测试结果时,可以采用SFTP方式直接从测试主机的获取所述软件测试结果。

本发明以上述通过VB脚本以SSH方式调用测试主机的shell脚本获取所述软件测试结果为例,说明如何获取对应的软件测试结果。

本实施例中,以脱机并行测试为例进行说明。脱机并行测试是一种基于银行卡的仿真交易,批量仿真银行卡的交易,总交易量可以达到几百万,仿真交易的结果存储在基于AIX环境下的DB2数据库中,软件测试结果分析需要将仿真交易的结果与生产中的实际交易进行逐笔对比,并且进行基于不同的维度,进行交易的总体分析汇总,最终得出分析测试的结论。

对于不同的主机环境,基于不同的获取策略,可以实现汇总分散在不同主机环境上的测试结果,同时对测试结果进行挖据、形变等二次整理,然后以MySQL数据库或者excel的格式进行存储,作为后续自动分析模块的输入。

图3为本实施例中异构环境下的测试数据获取方法示意图。本实施例中,测试结果汇总主机是win10操作系统的主机,脱机并行测试结果存储在AIX操作系统下的DB2数据库中,数据整理的shell脚本部署在AIX操作系统的数据库主机(测试主机)中,win10主机上部署了VB的脚本,获取数据时,可以通过VB脚本以SSH(Secure Shell)方式调用AIX操作系统的数据库主机的shell脚本,获取软件测试结果。数据二次整理汇总的结果直接使用标准输出,并且以secureCRT的session日志形式保存在了win10主机上,供后续进行分析时使用。

本发明实施例在,数据二次整理主要是对获取的原始的软件测试结果进行加,提高分析结果的易读性及灵活性,最终得到满足分析需求的格式的测试结果。

挖掘、形变的灵活性,决定了自动分析的可用性程序的高低,由于测试结果分析需求存在着变化,所以决定了挖掘、形变要具有易维护性(容易修改适应新的需求)。

一实施例中,对获取的原始的软件测试结果进行加,可以根据软件测试结果的维度对所述软件测试结果进行数据挖掘及形变,具体地,如图4所示,包括如下步骤:

S401:根据所述软件测试结果的至少一个维度生成特征文件,其中,所述特征文件由多个特征组成,每一特征与其中一个维度唯一对应。

软件测试结果存在多个不同的纬度,分析的不同维度,例如成功交易类型分析维度、失败应答码分析维度、各交易类型占比分维度等,每一维度可以定义出唯一特征,这些特征构成了特征文件。

S402:根据所述特征文件动态生成数据抽取指令。

基于该特征文件,利用python语言可以生成用于进行数据抽取的数据抽取指令。另外,基于该特征文件,利用python语言,可以得到动态自动生成挖掘各种维度的测试数据集的程序(可以成为数据挖掘程序)。

S403:调用所述数据抽取指令从所述软件测试结果中抽取待分析测试数据。

上述的数据挖掘程序可以调用数据抽取指令从软件测试结果中抽取待分析测试数据。

S404:根据分析需求从所述待分析测试数据中提取待加工数据,生成形变配置文件,即形变配置文件中存储了提取待加工数据。

待分析测试数据为从软件测试结果中抽取的原始的某些测试数据,举一例,如要分析某些分公司的交易成功率,抽取的待分析测试数据可以包括:交易类型、分公司代码、银行代码、交易应答码等数据。根据分析需求,可以从待分析测试数据中提取待加工数据,例如从待分析测试数据中提取某些分公司的成功率等数据。

S405:根据所述形变配置文件生成所述预定格式的测试结果。

预定格式的测试结果可以为形变配置文件中的各种数据的加和、百分比等数据,具体可以利用数据形变程序进行运算处理得到。该预定格式的测试结果可以secureCRT的session日志形式存储在本地(汇总主机)。

图4所示的数据挖掘及形变方法可以通过如图5所示的数据挖掘及形变示意图进行说明。由图5可知,特征文件(形变配置文件)与应用程序(数据挖掘程序及数据形变程序)的分离原则,使得数据挖掘流程操作灵活,易维护。对于新增的结果分析维度需求或者形变需求,只需要在配置文件中进行相应修改就可实现。

本发明实施例中,利用预先创建的分析策略池对预定格式的测试结果进行分析,生成分析结果。不同类型的测试,结果分析的方法也不一样,分析策略池中包含了各种测试类型的结果分析方法(分类策略)。可以类似面向对象设计模式中的Template模式创建所述分析策略池,基类抽象出所述分析策略池的公共功能,每一种不同的分析策略继承该基类并进行相应扩展。

分析策略池中可以包含如下分析策略:

1、基线测试场景:分析策略就是与基线数据进行比较,得出变化的趋势,并以图表的形式进行展示(excel或者web页面方式)。

2、验收测试场景:分析策略就是根据验收的标准(可以基线数据),分析比较测试结果,满足标准则通过,否则不通过。

3、性能测试场景:结合nmon命令记录系统的运行状态参数(CPU,内存等)与测试结果集中的业务量等参数的关系,以曲线形式展现出关联图。

如图6所示,利用上述分析策略池对预定格式的测试结果进行分析,可以包括如下步骤:

S601:根据所述预定格式的测试结果从所述分析策略池中选择对应的分析策略;

S602:利用选择的所述分析策略对所述预定格式的测试结果进行分析,生成分析结果。

基于继承基类的方式来实现不同的分析策略,可以使得分析过程易于维护及扩展,结构清晰。

本发明实施的测试结果分析方法以基线测试产品为例进行了说明,测试结果汇总主机(win10)部署了Excel+VB脚本的模块,进行测试结果的自动分析,分析SecureSRT的session日志,基于事先定义好的关键字(特征),分析session日志,抽取出测试的结果数据,从不同维度分析的结果存在不同的sheet中,同时把基线数据也抽取到该Excel的相应sheet中。利用Excel的VB模块,基于不同的“分析策略”,实现对Excel中的测试数据与基线数据自动分析比较。

本发明具体实施时,如图7所示,本发明实施例可以通过三大模块实现:结果获取、整理模块,自动分析模块及结果展示模块。图7中,每一个模块的输出都是下一个模块的输入,根据不同的输入数据集,可以采取不同的策略进行相应的处理,各模块之间的互相依赖性低,很好实现了功能的解耦。

本申请实施例中,可以实现软件测试结果的自动化分析,避免人工重复性操作,同时保证数据整理与分析的准确性;可以将软件测试时间结果与基线数据(预期结果)的差异化比较通过自动化方式实现;可以将测试分析结果以excel表格式进行展示,结果可读性高,易于理解。

基于与上述测试结果分析方法相同的发明构思,本申请提供一种测试结果分析方装置,如下面实施例所述。由于该测试结果分析装置解决问题的原理与测试结果分析方法相似,因此该测试结果分析装置的实施可以参见测试结果分析方法的实施,重复之处不再赘述。

图8为本发明实施例的测试结果分析装置的结构示意图,如图8所示,该测试结果分析装置包括:

结果获取单元801,用于从分散的测试主机获取对应的软件测试结果;

数据整理单元802,用于根据软件测试结果的维度对所述软件测试结果进行数据挖掘及形变,生成预定格式的测试结果;

结果分析单元803,用于利用预先创建的分析策略池对所述预定格式的测试结果进行分析,生成分析结果,其中,所述分析策略池中包含多种不同的分析策略。

一实施例中,如图9所示,该测试结果分析装置还包括:展示单元901,用于将所述分析结果输出,以web页面或者excel格式展示所述分析结果。

一实施例中,所述结果获取单元具体用于:针对测试主机的测试环境,选择对应的获取策略从测试主机获取软件测试结果。

一实施例中,所述获取策略包括以下至少一种:

通过VB脚本以SSH方式调用测试主机的shell脚本获取所述软件测试结果的策略;

通过VB脚本以Telnet方式调用测试主机的shell脚本获取所述软件测试结果;

通过odbc接口直接获取数据库主机的软件测试结果。

采用FTP方式直接从测试主机的获取所述软件测试结果;

采用SFTP方式直接从测试主机的获取所述软件测试结果。

一实施例中,如图10所示,数据整理单元802包括:

特征文件生成模块1001,用于根据所述软件测试结果的至少一个维度生成特征文件,其中,所述特征文件由多个特征组成,每一特征与其中一个维度唯一对应;

指令抽取模块1002,用于根据所述特征文件动态生成数据抽取指令;

数据抽取模块1003,用于调用所述数据抽取指令从所述软件测试结果中抽取待分析测试数据;

配置文件生成模块1004,用于根据分析需求从所述待分析测试数据中提取待加工数据,生成形变配置文件;

测试结果生成模块1005,用于根据所述形变配置文件生成所述预定格式的测试结果。

一实施例中,所述预定格式的测试结果以secureCRT的session日志形式存储。

一实施例中,如图11所示,所述结果分析单元803包括:

策略选择模块1101,用于根据所述预定格式的测试结果从所述分析策略池中选择对应的分析策略;

结果分析模块1102,用于利用选择的所述分析策略对所述预定格式的测试结果进行分析,生成分析结果。

一实施例中,如图12所示,该测试结果分析装置还包括:还包括:

策略创建单元1201,用于面向对象设计模式中的Template模式创建所述分析策略池;

功能抽象单元1202,用于抽象出所述分析策略池的公共功能。

本申请实施例中,可以实现软件测试结果的自动化整理,避免人工重复性操作,同时保证数据整理的准确性;可以将软件测试结果与基线数据的差异化比较通过自动化方式实现;可以将测试分析结果以excel表格式进行展示,结果可读性高,易于理解。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1