一种面向平台的自动化验收方法和装置
技术领域
本申请属于互联网金融
技术领域
,尤其涉及一种面向平台的自动化验收方法和装置。背景技术
随着金融业务的不断发展以及数字化需求的广泛兴起,基于开源软件生态或第三方公司产品搭建的大数据平台已成为规模数据计算和处理的主要手段。为了实现平台架构的不断演进以及功能的推陈出新,必然需要对平台进行升级,这样也就导致平台变得越来越复杂。对于一次版本升级而言,除了带来功能的改进,往往还可能伴随着新的缺陷。因此,大数据平台作为整个大数据体系的基础支撑,质量需要得到保障。其中,最常见的方法就是以升级前的平台表现为基准,对升级后的平台进行全面的验收测试,以确保在新增特性符合需求的前提下,平台的存量功能和非功能保持稳定。
现有的平台验收测试一般分为两步:一是升级前的基准验证,二是升级后的比对验证。在基准验证阶段,先做功能验收,平台测试人员先行完成升级前平台框架的存量功能测试,随后各平台应用的配合测试人员再完成各自应用的批量测试,并确定留存功能是否正常、批量是否执行通过以及批量执行耗时等结果数据;再做非功能验收,由专项测试人员从性能和可靠性两个维度,分别开展性能测试和混沌工程,留存升级前平台的综合性能表现和可靠性情况。在比对验证阶段,除了在平台框架的功能验收中增加对升级后的增量功能测试外,其余测试内容与基准验证阶段相同,然后将升级前后的功能与非功能结果数据进行比对,找出差异,编写验收报告,作为生产是否最终实施升级的判断依据。
然而上述的验收测试方法在实际运用的过程中,主要存在如下两个问题:
1)质量方面,由于平台的大版本升级极易对其上的平台应用升级前使用的某些特殊处理造成不兼容,因此平台应用的批量测试就成为功能验收的重中之重,其覆盖的应用广度、批量种类和场景数量决定着生产批量中断的风险高低。然而,现有的验收测试方法中的平台应用批量测试,是高度依赖于这些应用的测试人员,经常存在人员变动找不到、测试工期难配合、测试数据不固定、场景覆盖不全面甚至直接不带数空跑批量实为无效验证的情况,导致验收存在盲区,平台升级风险不可控;
2)效率方面,现有的验收测试方法涉及平台侧测试人员、应用侧测试人员、专项测试人员等多种角色,验收测试负责人的管理、沟通和协调成本极高,每一项验收内容都需要人为关注是否完成并主动通知下一项内容的测试人员继续,一旦通知或测试开展不及时,验收工作的整体进度也随之滞后;同时,从升级前的基准验证结果留存,到升级后的比对验证和差异分析,再到最终的验收报告完成,均为人工操作,自动化水平低,验收工作整体效率不高,越是复杂的平台升级,越容易影响生产的按期实施。
针对如何进行高质量和高效率的验收测试,目前尚未提出有效的解决方案。
发明内容
本申请目的在于提供一种面向平台的自动化验收方法和装置,可以实现高质量和高效率的验收测试。
本申请提供一种面向平台的自动化验收方法和装置是这样实现的:
一种面向平台的自动化验收方法,所述方法包括:
确定是否达到目标平台升级前的基准验证启动时间;
在确定达到升级前的基准验证启动时间的情况下,从验收案例库中拉取并执行目标平台的验收案例全集,得到升级前的测试结果数据;
确定是否达到目标平台升级后的比对验证启动时间;
在确定达到升级后的比对验证启动时间的情况下,从验收案例库中拉取并执行目标平台的验收案例全集,得到升级后的测试结果数据;
将升级前的测试结果数据和升级后的测试结果,逐条案例进行自动对比,并根据对比结果生成验收报告。
在一个实施方式中,在从验收案例库中拉取并执行目标平台的验收案例全集,得到升级前的测试结果数据之前,还包括:
从多个目标来源中获取所述目标平台相关的功能测试案例和非功能测试案例;
将获取的相关的功能测试案例和非功能测试案例存储至验收案例库中;
确定所述验收案例库中的案例是否发生变动;
在确定发生变动的情况下,通过自动增量归集的方式或存量更新的方式,对验收案例库中的案例进行更新。
在一个实施方式中,所述目标来源包括以下至少之一:每期版本平台框架测试设计的功能自动化测试案例、平台应用在批量测试系统上定制的用于回归验证的批量自动化测试案例、性能测试平台上的平台自动化性能测试案例以及混沌工程平台上的平台可靠性自动化测试案例。
在一个实施方式中,将升级前的测试结果数据和升级后的测试结果,逐条案例进行自动对比,包括:
按照如下规则进行对比:升级后的平台框架功能成功案例、可靠性有效案例以及耗时更少或耗时增加的幅度低于预设容错阀值的批量和性能验收案例,判定为验收通过;升级后的平台框架功能不通过的案例、可靠性失效案例以及耗时增加的幅度超过预设容错阀值的批量和性能验收案例,判定为验收不通过。
在一个实施方式中,根据对比结果生成验收报告,包括:
根据对比结果,分维度进行统计;
将统计结果,以html格式分章节显示;
其中,章节包括概述章节和验收明细章节,其中,概述章节包括:本次验收的平台、本次验收的任务名称、验收任务的开始时间、验收任务的结束时间、验收案例总数、耗时容错阀值、案例合计通过率,验收明细章节包括:每项验收内容的案例数、案例通过率、不通过案例明细。
一种面向平台的自动化验收装置,包括:
第一确定模块,用于确定是否达到目标平台升级前的基准验证启动时间;
第一执行模块,用于在确定达到升级前的基准验证启动时间的情况下,从验收案例库中拉取并执行目标平台的验收案例全集,得到升级前的测试结果数据;
第二确定模块,用于确定是否达到目标平台升级后的比对验证启动时间;
第二执行模块,用于在确定达到升级后的比对验证启动时间的情况下,从验收案例库中拉取并执行目标平台的验收案例全集,得到升级后的测试结果数据;
对比模块,用于将升级前的测试结果数据和升级后的测试结果,逐条案例进行自动对比,并根据对比结果生成验收报告。
在一个实施方式中,上述装置还包括:
获取模块,用于在从验收案例库中拉取并执行目标平台的验收案例全集,得到升级前的测试结果数据之前,从多个目标来源中获取所述目标平台相关的功能测试案例和非功能测试案例;
存储模块,用于将获取的相关的功能测试案例和非功能测试案例存储至验收案例库中;
第三确定模块,用于确定所述验收案例库中的案例是否发生变动;
更新模块,用于在确定发生变动的情况下,通过自动增量归集的方式或存量更新的方式,对验收案例库中的案例进行更新。
在一个实施方式中,所述目标来源包括以下至少之一:每期版本平台框架测试设计的功能自动化测试案例、平台应用在批量测试系统上定制的用于回归验证的批量自动化测试案例、性能测试平台上的平台自动化性能测试案例以及混沌工程平台上的平台可靠性自动化测试案例。
一种电子设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现如下方法的步骤:
确定是否达到目标平台升级前的基准验证启动时间;
在确定达到升级前的基准验证启动时间的情况下,从验收案例库中拉取并执行目标平台的验收案例全集,得到升级前的测试结果数据;
确定是否达到目标平台升级后的比对验证启动时间;
在确定达到升级后的比对验证启动时间的情况下,从验收案例库中拉取并执行目标平台的验收案例全集,得到升级后的测试结果数据;
将升级前的测试结果数据和升级后的测试结果,逐条案例进行自动对比,并根据对比结果生成验收报告。
一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现如下方法的步骤:
确定是否达到目标平台升级前的基准验证启动时间;
在确定达到升级前的基准验证启动时间的情况下,从验收案例库中拉取并执行目标平台的验收案例全集,得到升级前的测试结果数据;
确定是否达到目标平台升级后的比对验证启动时间;
在确定达到升级后的比对验证启动时间的情况下,从验收案例库中拉取并执行目标平台的验收案例全集,得到升级后的测试结果数据;
将升级前的测试结果数据和升级后的测试结果,逐条案例进行自动对比,并根据对比结果生成验收报告。
本申请提供的面向平台的自动化验收方法,通过设定基准验证启动时间和比对验证启动时间,以及设置验收案例全集,从而可以自动触发进行升级前的案例测试结果和升级后的案例测试结果,并可以自动进行升级前测试结果和升级后测试结果的比对,以生成验收报告,从而可以解决现有的验收测试效率和准确度较低的问题,达到了准确高效进行自动验收测试的技术效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的面向平台的自动化验收方法一种实施例的方法流程图;
图2是本申请提供的面向平台的自动化验收测试方法的一种具体方法实施例;
图3是本申请提供的面向平台的自动化验收测试系统的模块示意图;
图4是本申请提供的验收案例库模块的结构框图;
图5是本申请提供的验收调度模块的结构框图;
图6是本申请提供的数据存储模块的结构框图;
图7是本申请提供的质量比对模块的结构框图;
图8是本申请提供的一种面向平台的自动化验收方法的电子设备的硬件结构框图;
图9是本申请提供的面向平台的自动化验收装置的一种实施例的模块结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
图1是本申请提供的面向平台的自动化验收方法一种实施例的方法流程图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
具体的,如图1所示,上述的面向平台的自动化验收方法可以包括如下步骤:
步骤101:确定是否达到目标平台升级前的基准验证启动时间;
步骤102:在确定达到升级前的基准验证启动时间的情况下,从验收案例库中拉取并执行目标平台的验收案例全集,得到升级前的测试结果数据;
即,可以通过验收测试负责人新建一个验收测试任务,选择验收环境,并预设平台升级前的基准验证启动时间,在验收调度模块检测发现基准验证时间到,在验收环境自动回放验收案例库全集中的案例,以得到升级前的测试结果数据。
步骤103:确定是否达到目标平台升级后的比对验证启动时间;
步骤104:在确定达到升级后的比对验证启动时间的情况下,从验收案例库中拉取并执行目标平台的验收案例全集,得到升级后的测试结果数据;
即,在平台实施升级后,可以通过验收测试负责人选择验收环境,并预设平台升级后的比对验证启动时间,验收调度模块检测发现比对验证时间到,在验收环境自动依次回放平台框架维度的增量和存量功能验收案例,即,在验收环境自动回放验收案例库全集中的案例,以得到升级前的测试结果数据。
步骤105:将升级前的测试结果数据和升级后的测试结果,逐条案例进行自动对比,并根据对比结果生成验收报告。
对于上述的目标平台的验收案例全集而言,可以是通过如下步骤设置的:
S1:从多个目标来源中获取所述目标平台相关的功能测试案例和非功能测试案例;
S2:将获取的相关的功能测试案例和非功能测试案例存储至验收案例库中;
S3:确定所述验收案例库中的案例是否发生变动;
S4:在确定发生变动的情况下,通过自动增量归集的方式或存量更新的方式,对验收案例库中的案例进行更新。
即,从多个来源中获取测试案例,这些案例可以是功能性也可以是非功能性的,并进行实时的更新调整,以保证案例数据库的完整性和有效性。其中,目标来源可以包括但不限于以下至少之一:每期版本平台框架测试设计的功能自动化测试案例、平台应用在批量测试系统上定制的用于回归验证的批量自动化测试案例、性能测试平台上的平台自动化性能测试案例以及混沌工程平台上的平台可靠性自动化测试案例。
在进行测试结果对比的时候,可以是按照如下规则进行自动对比的:升级后的平台框架功能成功案例、可靠性有效案例以及耗时更少或耗时增加的幅度低于预设容错阀值的批量和性能验收案例,判定为验收通过;升级后的平台框架功能不通过的案例、可靠性失效案例以及耗时增加的幅度超过预设容错阀值的批量和性能验收案例,判定为验收不通过。
即,通过可靠性、耗时时长等作为判定目标,来确定升级后的平台是否符合要求。
对于对比结果而言,可以根据对比结果生成验收报告,例如,可以根据对比结果,分维度进行统计;将统计结果,以html格式分章节显示;其中,章节可以包括概述章节和验收明细章节,其中,概述章节可以包括:本次验收的平台、本次验收的任务名称、验收任务的开始时间、验收任务的结束时间、验收案例总数、耗时容错阀值、案例合计通过率,验收明细章节可以包括:每项验收内容的案例数、案例通过率、不通过案例明细。
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
在本例中,针对现有的验收测试所存在的缺陷,提供了一种面向平台的自动化验收测试方法,通过动态构建统一的验收案例库,自动实时归集平台本身、平台应用和专项测试在日常月度版本的有效自动化测试案例并回放,提升验收测试针对性,确保验收测试质量;通过任务调度机制和自动质量比对,实现验收执行过程的无人值守和验收报告的自动生成,省去了验收沟通成本,提升了验收测试效率。
具体的,可以如图2所示,包括如下步骤:
步骤S1,验收测试负责人新建一个验收测试任务,选择验收环境,并预设平台升级前的基准验证启动时间;
步骤S2,验收调度模块检测发现基准验证时间到,在验收环境自动回放验收案例库中平台框架维度的存量功能验收案例,并调用数据存储模块存储升级前的结果数据到数据库;
步骤S3,在验收环境继续自动回放验收案例库中平台应用的批量验收案例,并调用数据存储模块存储升级前的批量数据到数据库;
步骤S4,连接性能测试平台,在验收环境自动回放验收案例库中性能测试的非功能验收案例,并调用数据存储模块存储升级前的性能数据到数据库;
步骤S5,连接混沌测试平台,在验收环境自动回放验收案例库中可靠性测试的非功能验收案例,并调用数据存储模块存储升级前的可靠性数据到数据库;
步骤S6,平台实施升级;
步骤S7,验收测试负责人选择验收环境,并预设平台升级后的比对验证启动时间;
步骤S8,验收调度模块检测发现比对验证时间到,在验收环境自动依次回放平台框架维度的增量和存量功能验收案例,并调用数据存储模块存储升级前的结果数据到数据库;
平台应用的批量验收和非功能验收部分,重复步骤S3~S5,并调用数据存储模块存储升级后的批量、性能和可靠性数据到数据库;
步骤S9,质量比对模块自动进行案例级的升级前后数据比对,并生成验收报告;
步骤S10,自动推送验收报告给到验收测试负责人。
针对上述的测试流程,主要如图3所示,涉及如下几个模块:
1)验收案例库模块1:多渠道订阅平台相关的功能测试和非功能测试案例,并在案例发生变动后自动增量归集或存量更新至统一的验收案例库,供验收测试回放使用。案例的来源渠道,包括但不限于:每期版本平台框架测试设计的功能自动化测试案例、平台应用在批量测试系统上定制的用于回归验证的批量自动化测试案例、性能测试平台上的平台自动化性能测试案例以及混沌工程平台上的平台可靠性自动化测试案例。
2)验收调度模块2:根据验收测试负责人预设的时间点在选定的验收环境定时启动验收任务,并对接验收案例库,分两步执行验收:第一步,功能验收,先回放平台框架功能验收案例,再回放平台应用批量验收案例;第二步,非功能验收,先连接性能测试平台回放性能验收案例,再连接混沌工程平台回放可靠性验收案例。期间,所有的回放动作均无需人工干预,自动串联执行,完成后将结果数据推送至数据存储模块。
3)数据存储模块3:验收任务启动后,自动将从验收案例库中获取到的本次任务的验收案例集初始化至MySQL数据库,并后续同步接收来自验收调度模块回放案例后的结果数据,自动更新对应的案例记录。当测试执行全部结束,即全部验收案例的测试结果均被更新后,调用质量比对模块自动开展升级前后数据比对。
4)质量比对模块4:以验收任务为单位,从MySQL数据库分别调取平台升级前后的测试结果数据,进行案例级的自动比对,并自动生成html格式的验收报告,同时自动推送给到验收测试负责人用于生产实施决策,实现验收任务的闭环。
如图4所示,上述的验收案例库模块1可以包括:案例变动识别装置101和案例维护装置102。
其中,案例变动识别装置101,通过平台标识,在各案例来源渠道中精准识别出平台测试案例,并根据案例的最后更新时间,自动发现是否有增量案例产生或有存量案例发生变动,再将对应的案例编号、验收类别及案例来源渠道等信息传递给案例维护装置102。案例维护装置102,根据从案例变动识别装置101收到的案例变动信息,实时入库,保鲜案例。其中,如果是新增案例,则执行插入操作;如果是存量案例,则执行更新操作。不同的验收案例所对应的案例表可以表1、表2、表3和表4所示,案例维护装置102还用于定期扫描各案例的来源渠道,查找是否存在验收案例库有,但案例来源渠道中已废除的无效测试案例,如果有,则执行删除操作,确保验收案例的有效性。
表1:平台框架功能验收案例表
表2:平台应用批量验收案例表
表3:性能验收案例表
表4:可靠性验收案例表
如图5所示为验收调度模块的示意图,可以包括:调度执行器201和案例执行器202。
其中,调度执行器201,用于根据预设的验证时间点,定时启动一次验收任务,并从验收案例库中拉取待验收平台的验收案例全集,下传给验收任务初始化装置301进行任务初始化。初始化完成后,按照平台框架功能验收、平台应用批量验收、平台性能验收和平台可靠性验收的顺序,依次调用案例执行器202执行验收案例库中的验收案例。其中,每项验收内容完成与否,是根据案例执行器202返回的结束标志来自动判断。
案例执行器202,用于通过接口与测试设计系统、批量测试系统、性能测试平台和混沌工程平台进行交互,所有验收案例先按案例编号进行排序,再逐一直连对应的案例来源渠道,配置测试参数,恢复测试数据,执行测试脚本和预期结果脚本,并将各渠道反传的案例执行结果、执行耗时及执行起止时间下传给结果数据记录装置302。
如图6所示为数据存储模块3的示意图,可以包括:验收任务初始化装置301和结果数据记录装置302。
其中,验收任务初始化装置301,用于在验收任务启动后,将调度执行器201下传的验收案例全集转换成SQL语句插入到MySQL数据库中,预置执行结果、执行耗时、执行开始时间和执行结束时间四个字段为空,完成任务初始化。其中,升级前后的结果数据表,结构一致,但分开存储,以便核对,具体可以如表5所示。
表5:升级前/后验收案例结果数据表
结果数据记录装置302,用于实时接收案例执行器下传的验收案例结果数据,并依据所属的验收轮次分别更新MySQL中的升级前/后验收案例结果数据表,记录执行结果、执行耗时、执行开始时间和执行结束时间。当升级前后两轮的测试执行均已结束,即升级前/后验收案例结果数据表中的全部验收案例的测试结果均被更新后,调用结果数据比对装置401自动开展升级前后数据比对。
如图7所示为质量比对模块4的示意图,可以包括:结果数据比对装置401、验收报告生成装置402和验收报告推送装置403。
其中,结果数据比对装置401,用于从MySQL数据库分别调取平台升级前后的测试结果数据,逐条案例地自动比对,并将明细结果发送至验收报告生成装置402。其中,比对的具体逻辑为:升级后的平台框架功能成功案例、可靠性有效案例以及耗时更少或耗时增加的幅度低于预设容错阀值的批量和性能验收案例,判定为验收通过;升级后的平台框架功能不通过案例、可靠性失效案例以及耗时增加的幅度超过预设容错阀值的批量和性能验收案例,判定为验收不通过。
验收报告生成装置402,用于根据明细结果,分维度进行统计,并可以以html格式分章节展现以下信息:验收概述章节,包含本次验收的平台和任务名称、验收任务的开始时间和结束时间、验收案例总数、耗时容错阀值、案例合计通过率;验收明细章节,包含每项验收内容的案例数、案例通过率、不通过案例明细等。具体样例可以如下样例1所示。待报告文件生成后,调用验收报告推送装置403进行推送。
样例1:验收报告样
验收报告推送装置403,用于自动将生成的html验收报告作为附件,按照预设的目标人员进行邮件推送,用于生产实施决策,实现验收任务的闭环。
在上例中,提供了一种面向平台的自动化验收测试框架与方法,针对平台升级场景,通过高度的自动化,实现验收任务从案例准备,到任务发起,到案例执行,再到结果比对,最终生成报告并推送闭环的全程无人值守,从而省去了大量的管理和沟通成本,验收效率相较现有的验收测试方法有明显提升;同时,在验收质量方面,通过复用日常版本测试过程中,各平台应用有效带数的自动化批量测试案例,实现更广的应用覆盖和更全面的批量场景覆盖,显著提升了测试针对性。具体的,将本例所提供的验收测试方法与现有的验收测试方法进行对比,可以得到如下表6所示的对比结果:
表6:传统验收测试与本发明测试框架对比
本申请上述实施例所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在电子设备上为例,图8是本申请提供的一种面向平台的自动化验收方法的电子设备的硬件结构框图。如图8所示,电子设备10可以包括一个或多个(图中仅示出一个)处理器02(处理器02可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器04、以及用于通信功能的传输模块06。本领域普通技术人员可以理解,图8所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子设备10还可包括比图8中所示更多或者更少的组件,或者具有与图8所示不同的配置。
存储器04可用于存储应用软件的软件程序以及模块,如本申请实施例中的面向平台的自动化验收方法对应的程序指令/模块,处理器02通过运行存储在存储器04内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的应用程序的面向平台的自动化验收方法。存储器04可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器04可进一步包括相对于处理器02远程设置的存储器,这些远程存储器可以通过网络连接至电子设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输模块06用于经由一个网络接收或者发送数据。上述的网络具体实例可包括电子设备10的通信供应商提供的无线网络。在一个实例中,传输模块06包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输模块06可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
在软件层面,上述面向平台的自动化验收装置可以如图9所示,可以包括:
第一确定模块901,用于确定是否达到目标平台升级前的基准验证启动时间;
第一执行模块902,用于在确定达到升级前的基准验证启动时间的情况下,从验收案例库中拉取并执行目标平台的验收案例全集,得到升级前的测试结果数据;
第二确定模块903,用于确定是否达到目标平台升级后的比对验证启动时间;
第二执行模块904,用于在确定达到升级后的比对验证启动时间的情况下,从验收案例库中拉取并执行目标平台的验收案例全集,得到升级后的测试结果数据;
对比模块905,用于将升级前的测试结果数据和升级后的测试结果,逐条案例进行自动对比,并根据对比结果生成验收报告。
在一个实施方式中,上述面向平台的自动化验收装置还可以包括:获取模块,用于在从验收案例库中拉取并执行目标平台的验收案例全集,得到升级前的测试结果数据之前,从多个目标来源中获取所述目标平台相关的功能测试案例和非功能测试案例;存储模块,用于将获取的相关的功能测试案例和非功能测试案例存储至验收案例库中;第三确定模块,用于确定所述验收案例库中的案例是否发生变动;更新模块,用于在确定发生变动的情况下,通过自动增量归集的方式或存量更新的方式,对验收案例库中的案例进行更新。
在一个实施方式中,上述目标来源可以包括但不限于以下至少之一:每期版本平台框架测试设计的功能自动化测试案例、平台应用在批量测试系统上定制的用于回归验证的批量自动化测试案例、性能测试平台上的平台自动化性能测试案例以及混沌工程平台上的平台可靠性自动化测试案例。
在一个实施方式中,上述对比模块905具体可以按照如下规则进行对比:升级后的平台框架功能成功案例、可靠性有效案例以及耗时更少或耗时增加的幅度低于预设容错阀值的批量和性能验收案例,判定为验收通过;升级后的平台框架功能不通过的案例、可靠性失效案例以及耗时增加的幅度超过预设容错阀值的批量和性能验收案例,判定为验收不通过。
在一个实施方式中,上述对比模块905具体可以根据对比结果,分维度进行统计;将统计结果,以html格式分章节显示;
其中,章节包括概述章节和验收明细章节,其中,概述章节包括:本次验收的平台、本次验收的任务名称、验收任务的开始时间、验收任务的结束时间、验收案例总数、耗时容错阀值、案例合计通过率,验收明细章节包括:每项验收内容的案例数、案例通过率、不通过案例明细。
本申请的实施例还提供能够实现上述实施例中的面向平台的自动化验收方法中全部步骤的一种电子设备的具体实施方式,所述电子设备具体包括如下内容:处理器(processor)、存储器(memory)、通信接口(Communications Interface)和总线;其中,所述处理器、存储器、通信接口通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的计算机程序,所述处理器执行所述计算机程序时实现上述实施例中的面向平台的自动化验收方法中的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤1:确定是否达到目标平台升级前的基准验证启动时间;
步骤2:在确定达到升级前的基准验证启动时间的情况下,从验收案例库中拉取并执行目标平台的验收案例全集,得到升级前的测试结果数据;
步骤3:确定是否达到目标平台升级后的比对验证启动时间;
步骤4:在确定达到升级后的比对验证启动时间的情况下,从验收案例库中拉取并执行目标平台的验收案例全集,得到升级后的测试结果数据;
步骤5:将升级前的测试结果数据和升级后的测试结果,逐条案例进行自动对比,并根据对比结果生成验收报告。
从上述描述可知,本申请实施例通过设定基准验证启动时间和比对验证启动时间,以及设置验收案例全集,从而可以自动触发进行升级前的案例测试结果和升级后的案例测试结果,并可以自动进行升级前测试结果和升级后测试结果的比对,以生成验收报告,从而可以解决现有的验收测试效率和准确度较低的问题,达到了准确高效进行自动验收测试的技术效果。
本申请的实施例还提供能够实现上述实施例中的面向平台的自动化验收方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的面向平台的自动化验收方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
步骤1:确定是否达到目标平台升级前的基准验证启动时间;
步骤2:在确定达到升级前的基准验证启动时间的情况下,从验收案例库中拉取并执行目标平台的验收案例全集,得到升级前的测试结果数据;
步骤3:确定是否达到目标平台升级后的比对验证启动时间;
步骤4:在确定达到升级后的比对验证启动时间的情况下,从验收案例库中拉取并执行目标平台的验收案例全集,得到升级后的测试结果数据;
步骤5:将升级前的测试结果数据和升级后的测试结果,逐条案例进行自动对比,并根据对比结果生成验收报告。
从上述描述可知,本申请实施例通过设定基准验证启动时间和比对验证启动时间,以及设置验收案例全集,从而可以自动触发进行升级前的案例测试结果和升级后的案例测试结果,并可以自动进行升级前测试结果和升级后测试结果的比对,以生成验收报告,从而可以解决现有的验收测试效率和准确度较低的问题,达到了准确高效进行自动验收测试的技术效果。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于硬件+程序类实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、车载人机交互设备、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
虽然本说明书实施例提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的手段可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或终端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至为分布式数据处理环境)。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、产品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、产品或者设备所固有的要素。在没有更多限制的情况下,并不排除在包括所述要素的过程、方法、产品或者设备中还存在另外的相同或等同要素。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现,也可以将实现同一功能的模块由多个子模块或子单元的组合实现等。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本领域技术人员应明白,本说明书的实施例可提供为方法、系统或计算机程序产品。因此,本说明书实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本说明书实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本说明书实施例可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本说明书实施例,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本说明书实施例的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
以上所述仅为本说明书实施例的实施例而已,并不用于限制本说明书实施例。对于本领域技术人员来说,本说明书实施例可以有各种更改和变化。凡在本说明书实施例的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本说明书实施例的权利要求范围之内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种智慧园林综合服务管理平台