CN113688044A - 一种基于业务场景库的自动化测试方法及装置 - Google Patents

一种基于业务场景库的自动化测试方法及装置 Download PDF

Info

Publication number
CN113688044A
CN113688044A CN202110987001.XA CN202110987001A CN113688044A CN 113688044 A CN113688044 A CN 113688044A CN 202110987001 A CN202110987001 A CN 202110987001A CN 113688044 A CN113688044 A CN 113688044A
Authority
CN
China
Prior art keywords
tested
program
library
scene library
service scene
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202110987001.XA
Other languages
English (en)
Inventor
邓爱华
郑培龙
王文艳
郑才目
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industrial and Commercial Bank of China Ltd ICBC
Original Assignee
Industrial and Commercial Bank of China Ltd ICBC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Industrial and Commercial Bank of China Ltd ICBC filed Critical Industrial and Commercial Bank of China Ltd ICBC
Priority to CN202110987001.XA priority Critical patent/CN113688044A/zh
Publication of CN113688044A publication Critical patent/CN113688044A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供一种基于业务场景库的自动化测试方法及装置,涉及软件测试领域,也可用于金融领域,包括:遍历原始待测程序,以生成所述原始待测程序对应的初始业务场景库;比对变更待测程序与所述原始待测程序,并根据比对结果及所述初始业务场景库生成组合业务场景库;其中,所述变更待测程序是对所述原始待测程序进行修改所得到的;根据所述组合业务场景库对所述变更待测程序进行自动化测试。本申请能够基于业务场景库实现自动化测试。

Description

一种基于业务场景库的自动化测试方法及装置
技术领域
本申请涉及软件测试领域,可以用于金融领域,具体是一种基于业务场景库的自动化测试方法及装置。
背景技术
对于金融领域业务系统而言,其可用性、稳定性及安全性是评价系统质量的重要标准。尤其对于大型业务系统,其质量更直接关系到客户的交易体验。若业务系统未经软件测试就直接上线使用,则可能存在巨大的安全隐患,造成不可弥补的损失。因此,在业务系统投入运行之前,必须经过严格的系统测试。
在对金融领域业务系统进行测试的过程中,现有的软件自动化测试方法(包括黑盒测试及白盒测试)均难以覆盖程序开发过程中针对代码段的细微修改,测试中容易出现覆盖不全的现象,更难以针对业务系统的测试场景进行精细化测试。
发明内容
针对现有技术中的问题,本申请提供一种基于业务场景库的自动化测试方法及装置,能够基于业务场景库实现自动化测试。
为解决上述技术问题,本申请提供以下技术方案:
第一方面,本申请提供一种基于业务场景库的自动化测试方法,包括:
遍历原始待测程序,以生成所述原始待测程序对应的初始业务场景库;
比对变更待测程序与所述原始待测程序,并根据比对结果及所述初始业务场景库生成组合业务场景库;其中,所述变更待测程序是对所述原始待测程序进行修改所得到的;
根据所述组合业务场景库对所述变更待测程序进行自动化测试。
进一步地,所述遍历原始待测程序,以生成所述原始待测程序对应的初始业务场景库,包括:
获取所述原始待测程序中的各类、对象及方法;
根据所述类、对象及方法确定所述原始待测程序中的测试节点;
根据所述测试节点生成所述原始待测程序的初始业务场景库。
进一步地,所述比对变更待测程序与所述原始待测程序,并根据比对结果及所述初始业务场景库生成组合业务场景库,包括:
比对所述变更待测程序与所述原始待测程序,确定被新增或被删除的类、对象及方法;
根据所述被新增或被删除的类、对象及方法修改所述初始业务场景库中的测试节点;
确定非新增或未被删除的类、对象及方法的程序行数是否发生了变化;
若是,则修改所述初始业务场景库中的测试节点;
根据修改后的初始业务场景库中的测试节点生成组合业务场景库。
进一步地,所述比对变更待测程序与所述原始待测程序,并根据比对结果及所述初始业务场景库生成组合业务场景库,包括:
比对所述变更待测程序与所述原始待测程序,确定被新增或被删除的类、对象及方法;
根据所述被新增或被删除的类、对象及方法修改所述初始业务场景库中的测试节点;
确定非新增或未被删除的类、对象及方法的程序关键字是否发生了变化;
若是,则修改所述初始业务场景库中的测试节点;
根据修改后的初始业务场景库中的测试节点生成组合业务场景库。
第二方面,本申请提供一种基于业务场景库的自动化测试装置,包括:
初始场景库生成单元,用于遍历原始待测程序,以生成所述原始待测程序对应的初始业务场景库;
组合场景库生成单元,用于比对变更待测程序与所述原始待测程序,并根据比对结果及所述初始业务场景库生成组合业务场景库;其中,所述变更待测程序是对所述原始待测程序进行修改所得到的;
自动化测试单元,用于根据所述组合业务场景库对所述变更待测程序进行自动化测试。
进一步地,所述初始场景库生成单元,包括:
获取模块,用于获取所述原始待测程序中的各类、对象及方法;
测试节点确定模块,用于根据所述类、对象及方法确定所述原始待测程序中的测试节点;
初始场景库生成模块,用于根据所述测试节点生成所述原始待测程序的初始业务场景库。
进一步地,所述组合场景库生成单元,包括:
增删确定模块,用于比对所述变更待测程序与所述原始待测程序,确定被新增或被删除的类、对象及方法;
初始场景库修改模块,用于根据所述被新增或被删除的类、对象及方法修改所述初始业务场景库中的测试节点;
程序行数变化确定模块,用于确定非新增或未被删除的类、对象及方法的程序行数是否发生了变化;
所述初始场景库修改模块,用于当行数发生变化时,修改所述初始业务场景库中的测试节点;
组合场景库生成模块,用于根据修改后的初始业务场景库中的测试节点生成组合业务场景库。
进一步地,所述组合场景库生成单元,包括:
增删确定模块,用于比对所述变更待测程序与所述原始待测程序,确定被新增或被删除的类、对象及方法;
所述初始场景库修改模块,用于根据所述被新增或被删除的类、对象及方法修改所述初始业务场景库中的测试节点;
关键字变化确定模块,用于确定非新增或未被删除的类、对象及方法的程序关键字是否发生了变化;
所述初始场景库修改模块,用于当关键字发生变化时,则修改所述初始业务场景库中的测试节点;
所述组合场景库生成模块,用于根据修改后的初始业务场景库中的测试节点生成组合业务场景库。
第三方面,本申请提供一种电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现所述基于业务场景库的自动化测试方法的步骤。
第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现所述基于业务场景库的自动化测试方法的步骤。
针对现有技术中的问题,本申请提供的基于业务场景库的自动化测试方法及装置,能够进行自动智能场景识别,在白盒测试领域提供一种硬件设备成本低的基于业务场景库的自动化测试方法,能够在测试时间不很充分的情况下,根据程序改动量分析出高危场景进行测试,适应快速版本迭代周期,提高测试效率,降低回归测试风险。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例中基于业务场景库的自动化测试方法的流程图;
图2为本申请实施例中程序逻辑示意图之一;
图3为本申请实施例中程序逻辑示意图之二;
图4为本申请实施例中生成初始业务场景库的流程图;
图5为本申请实施例中生成组合业务场景库的流程图之一;
图6为本申请实施例中生成组合业务场景库的流程图之二;
图7为本申请实施例中基于业务场景库的自动化测试装置的结构图之一;
图8为本申请实施例中初始场景库生成单元的结构图;
图9为本申请实施例中组合场景库生成单元的结构图之一;
图10为本申请实施例中组合场景库生成单元的结构图之二;
图11为本申请实施例中的电子设备的结构示意图;
图12为本申请实施例的程序逻辑示意图之三;
图13为本申请实施例的程序逻辑示意图之四;
图14为本申请实施例的程序逻辑示意图之五。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请提供的基于业务场景库的自动化测试方法及装置,可用于金融领域,也可用于除金融领域之外的任意领域,本申请提供的基于业务场景库的自动化测试方法及装置的应用领域不做限定。
一实施例中,参见图1,为了能够基于业务场景库实现自动化测试,本申请提供一种基于业务场景库的自动化测试方法,包括:
S101:遍历原始待测程序,以生成所述原始待测程序对应的初始业务场景库;
S102:比对变更待测程序与所述原始待测程序,并根据比对结果及所述初始业务场景库生成组合业务场景库;其中,所述变更待测程序是对所述原始待测程序进行修改所得到的;
S103:根据所述组合业务场景库对所述变更待测程序进行自动化测试。
可以理解的是,本申请所述的方法在遍历原始待测程序时,可以搜索到原始待测程序的各类、对象及方法,并将这些类、对象及方法确定为测试节点。根据测试节点及程序的逻辑走向,可以确定出测试分支(场景)。该初始业务场景库即包含有根据原始待测程序中的类、对象、方法所对应的节点及各节点之间的逻辑关系所形成的测试分支(场景)。当原始待测程序被修改形成变更待测程序时,可以增、删或修改测试节点,以修改初始业务场景库中的测试分支(场景),从而形成组合业务场景库。该组合业务场景库包含有根据变更待测程序中所包含的类、对象、方法所对应的节点及各节点之间的逻辑关系所形成的测试分支(场景)。
组合业务场景库中的每个测试分支(场景)都对应一个脚本。根据组合业务场景库中的测试分支(场景)可以编写测试脚本。通过设置测试脚本的执行顺序,可以执行组合业务场景库的自动化脚本。测试脚本的生成过程可为计算机自动生成,也可为人工参与辅助生成,本申请不以此为限。
举例而言,某段程序,其所实现的功能为比较三个数大小,伪代码如下:
Begin
输入A,B,C;
IF A>B,则MAX=A;
否则MAX=B;
IF C>MAX,则MAX=C;
Print MAX;
End
参见图2,从开始到结束总共有4个分支:(1)->(2)->(3)->(4)->(5)->结束;(1)->(2)->(3)->(4)->(6)->结束;(1)->(2)->(7)->(8)->(9)->结束;(1)->(2)->(7)->(8)->(10)->结束。
参见图3,此时如果对该原始待测程序进行修改,减少一个节点B,则从开始到结束有2个分支:
(1)->(3)->(4)->(5)->结束;(1)->(3)->(4)->(6)->结束。
本申请提供的方法所解决的就是如何在现有的(初始)场景集合中,增加或者删除测试分支(场景)上的一个节点,从而得出新的(组合)场景集合,最终根据新的(组合)场景集合实现自动化测试。
从上述描述可知,本申请提供的基于业务场景库的自动化测试方法,能够进行自动智能场景识别,在白盒测试领域提供一种硬件设备成本低的基于业务场景库的自动化测试方法,能够在测试时间不很充分的情况下,根据程序改动量分析出高危场景进行测试,适应快速版本迭代周期,提高测试效率,降低回归测试风险。
一实施例中,参见图4,遍历原始待测程序,以生成所述原始待测程序对应的初始业务场景库,包括:
S401:获取所述原始待测程序中的各类、对象及方法;
S402:根据所述类、对象及方法确定所述原始待测程序中的测试节点;
S403:根据所述测试节点生成所述原始待测程序的初始业务场景库。
可以理解的是,遍历原始待测程序,可以获取到原始待测程序中的各类、对象及方法;根据实际测试需要,可以将这些类、对象及方法确定为原始待测程序中的测试节点;结合原始待测程序的逻辑分支走向,这些待测节点可以组成测试分支(场景);将这些测试分支(场景)组合起来可以得到初始业务场景库。
从上述描述可知,本申请提供的基于业务场景库的自动化测试方法,能够遍历原始待测程序,以生成所述原始待测程序对应的初始业务场景库。
一实施例中,参见图5,比对变更待测程序与原始待测程序,并根据比对结果及初始业务场景库生成组合业务场景库,包括:
S501:比对变更待测程序与原始待测程序,确定被新增或被删除的类、对象及方法;
S502:根据被新增或被删除的类、对象及方法修改初始业务场景库中的测试节点;
S503:确定非新增或未被删除的类、对象及方法的程序行数是否发生了变化;
S504:若是,则修改初始业务场景库中的测试节点;
S505:根据修改后的初始业务场景库中的测试节点生成组合业务场景库。
可以理解的是,首先梳理修改前程序对应的业务场景,建立关系库,细化到某个函数,类或方法的作用和涉及的业务场景。分析修改前后涉及变化(新增、修改或删除)的类、对象或方法;根据变动的类、对象或方法可以生成修改该程序后涉及的组合业务场景。
具体地,可以统计文本代码行数,对比修改前后代码增加或者减少的行数,还可以获得程序修改的具体内容,包括但不限于类、对象或方法。
一实施例中,在修改前,遍历原始待测程序的类、对象或方法后,可以入库A;修改后,遍历变更待测程序的类、对象或方法,可以入库B;A与B进行比较,比较出增加或减少的类、对象或方法入库C。
分析C库中的类、对象或方法,可以得出测试分支(场景);有些情况下,A库与B库的类、对象及方法的名称全部没有变化,但代码行数变了,说明函数或方法名称未变化,但是内部功能有变化。
一实施例中,可以比较A库及B库函数或方法的代码行数,有变化的入D库,分析D库的类、对象或方法,可以得出新的测试分支(场景)。也就是生成组合业务场景库。
从上述描述可知,本申请提供的基于业务场景库的自动化测试方法,能够比对变更待测程序与原始待测程序,并根据比对结果及初始业务场景库生成组合业务场景库。
一实施例中,参见图6,比对变更待测程序与原始待测程序,并根据比对结果及初始业务场景库生成组合业务场景库,包括:
S601:比对变更待测程序与原始待测程序,确定被新增或被删除的类、对象及方法;
S602:根据被新增或被删除的类、对象及方法修改初始业务场景库中的测试节点;
S603:确定非新增或未被删除的类、对象及方法的程序关键字是否发生了变化;
S604:若是,则修改初始业务场景库中的测试节点;
S605:根据修改后的初始业务场景库中的测试节点生成组合业务场景库。
可以理解的是,本实施例与步骤S501~步骤S505所述的实施例的逻辑大体相同,其区别仅在于,步骤S503是确定非新增或未被删除的类、对象及方法的程序行数是否发生了变化,而本实施例是对步骤S501~步骤S505所述的实施例的细化,也就是,要确定非新增或未被删除的类、对象及方法的程序关键字是否发生了变化。相比于仅检查程序行数的变化,本实施例的检查粒度更细,可以更加精确地锁定变更的节点,从而修改组合业务场景库。
从上述描述可知,本申请提供的基于业务场景库的自动化测试方法,能够比对变更待测程序与原始待测程序,并根据比对结果及初始业务场景库生成组合业务场景库。
利用本申请所提供的方法,可以实现本申请所述的技术效果,下面举一实施例以验证。每个版本修改程序提交后,自动或是手工触发获得增量场景后关联上关系库,生成修改该程序后涉及的组合业务场景。
一实施例中,遍历修改后程序,根据执行路径,以函数及类作为判断条件,为各测试节点生成新的组合业务场景库,比较组合业务场景库与初始业务场景库后,还可以获得接口、函数或方法对应的增量业务场景库。增量业务场景库体现了组合业务场景库与初始业务场景库之间的差异。
一实施例中,可以梳理完善程序对应的业务场景,建立关系库,细化到某个类或方法的作用和涉及的业务场景,参见下表。
调用接口 被调用接口 函数或方法 场景
接口1 接口2 方法1() 场景1,场景2
接口1 接口2 方法2() 场景1,场景2,场景3
接口1 接口2 方法3() 场景1,场景2,场景3
一实施例中,每个版本修改程序提交后,可以自动触发获得初始业务场景库及增量业务场景库,生成修改该程序后对应的组合业务场景库。
图12所对应的程序,可以参照如下理解:
Figure BDA0003231042280000091
参见图13,减少方法,删除方法4,影响场景1,3,拔桩4,场景减少。
a->b->1->2->5场景2 路径打桩蓝旗
a->b->1->2->3场景4 路径打桩黄旗
a->b->6 场景5 路径打桩黑旗
参见图14,增加方法7,增加场景6和场景7,打桩绿旗和橙旗。
Figure BDA0003231042280000092
在该实施例中,初始业务场景库可以在产品研发首期登记好。产品代码注释时要写明每个方法对应的功能,便于语义识别。程序中的方法或函数需要进行打桩登记。此后,当首个节点与最终节点有新增、删除或修改时,可以进行测试节点遍历重组,以新路径输出变动的测试节点的功能描述,以存量(旧)路径输出场景描述,便于后续完善业务场景库。
基于同一发明构思,本申请实施例还提供了一种基于业务场景库的自动化测试装置,可以用于实现上述实施例所描述的方法,如下面的实施例所述。由于基于业务场景库的自动化测试装置解决问题的原理与基于业务场景库的自动化测试方法相似,因此基于业务场景库的自动化测试装置的实施可以参见基于软件性能基准确定方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
一实施例中,参见图7,为了能够基于业务场景库实现自动化测试,本申请提供一种基于业务场景库的自动化测试装置,包括:初始场景库生成单元701、组合场景库生成单元702及自动化测试单元703。
初始场景库生成单元701,用于遍历原始待测程序,以生成所述原始待测程序对应的初始业务场景库;
组合场景库生成单元702,用于比对变更待测程序与所述原始待测程序,并根据比对结果及所述初始业务场景库生成组合业务场景库;其中,所述变更待测程序是对所述原始待测程序进行修改所得到的;
自动化测试单元703,用于根据所述组合业务场景库对所述变更待测程序进行自动化测试。
一实施例中,参见图8,所述初始场景库生成单元701,包括:
获取模块801,用于获取所述原始待测程序中的各类、对象及方法;
测试节点确定模块802,用于根据所述类、对象及方法确定所述原始待测程序中的测试节点;
初始场景库生成模块803,用于根据所述测试节点生成所述原始待测程序的初始业务场景库。
一实施例中,参见图9,所述组合场景库生成单元702,包括:
增删确定模块901,用于比对所述变更待测程序与所述原始待测程序,确定被新增或被删除的类、对象及方法;
初始场景库修改模块902,用于根据所述被新增或被删除的类、对象及方法修改所述初始业务场景库中的测试节点;
程序行数变化确定模块903,用于确定非新增或未被删除的类、对象及方法的程序行数是否发生了变化;
所述初始场景库修改模块902,还用于当行数发生变化时,修改所述初始业务场景库中的测试节点;
组合场景库生成模块904,用于根据修改后的初始业务场景库中的测试节点生成组合业务场景库。
一实施例中,参见图10,所述组合场景库生成单元702,包括:
所述增删确定模块901,用于比对所述变更待测程序与所述原始待测程序,确定被新增或被删除的类、对象及方法;
所述初始场景库修改模块902,用于根据所述被新增或被删除的类、对象及方法修改所述初始业务场景库中的测试节点;
关键字变化确定模块1003,用于确定非新增或未被删除的类、对象及方法的程序关键字是否发生了变化;
所述初始场景库修改模块902,还用于当关键字发生变化时,则修改所述初始业务场景库中的测试节点;
所述组合场景库生成模块904,用于根据修改后的初始业务场景库中的测试节点生成组合业务场景库。
从硬件层面来说,为了能够基于业务场景库实现自动化测试,本申请提供一种用于实现所述基于业务场景库的自动化测试方法中的全部或部分内容的电子设备的实施例,所述电子设备具体包含有如下内容:
处理器(Processor)、存储器(Memory)、通讯接口(Communications Interface)和总线;其中,所述处理器、存储器、通讯接口通过所述总线完成相互间的通讯;所述通讯接口用于实现所述基于业务场景库的自动化测试装置与核心业务系统、用户终端以及相关数据库等相关设备之间的信息传输;该逻辑控制器可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该逻辑控制器可以参照实施例中的基于业务场景库的自动化测试方法的实施例,以及基于业务场景库的自动化测试装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
可以理解的是,所述用户终端可以包括智能手机、平板电子设备、网络机顶盒、便携式计算机、台式电脑、个人数字助理(PDA)、车载设备、智能穿戴设备等。其中,所述智能穿戴设备可以包括智能眼镜、智能手表、智能手环等。
在实际应用中,基于业务场景库的自动化测试方法的部分可以在如上述内容所述的电子设备侧执行,也可以所有的操作都在所述客户端设备中完成。具体可以根据所述客户端设备的处理能力,以及用户使用场景的限制等进行选择。本申请对此不作限定。若所有的操作都在所述客户端设备中完成,所述客户端设备还可以包括处理器。
上述的客户端设备可以具有通讯模块(即通讯单元),可以与远程的服务器进行通讯连接,实现与所述服务器的数据传输。所述服务器可以包括任务调度中心一侧的服务器,其他的实施场景中也可以包括中间平台的服务器,例如与任务调度中心服务器有通讯链接的第三方服务器平台的服务器。所述的服务器可以包括单台计算机设备,也可以包括多个服务器组成的服务器集群,或者分布式装置的服务器结构。
图11为本申请实施例的电子设备9600的系统构成的示意框图。如图11所示,该电子设备9600可以包括中央处理器9100和存储器9140;存储器9140耦合到中央处理器9100。值得注意的是,该图11是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,基于业务场景库的自动化测试方法功能可以被集成到中央处理器9100中。其中,中央处理器9100可以被配置为进行如下控制:
S101:遍历原始待测程序,以生成所述原始待测程序对应的初始业务场景库;
S102:比对变更待测程序与所述原始待测程序,并根据比对结果及所述初始业务场景库生成组合业务场景库;其中,所述变更待测程序是对所述原始待测程序进行修改所得到的;
S103:根据所述组合业务场景库对所述变更待测程序进行自动化测试。
从上述描述可知,本申请提供的基于业务场景库的自动化测试方法能够进行自动智能场景识别,在白盒测试领域提供一种硬件设备成本低的基于业务场景库的自动化测试方法,能够在测试时间不很充分的情况下,根据程序改动量分析出高危场景进行测试,适应快速版本迭代周期,提高测试效率,降低回归测试风险。
在另一个实施方式中,基于业务场景库的自动化测试装置可以与中央处理器9100分开配置,例如可以将数据复合传输装置基于业务场景库的自动化测试装置配置为与中央处理器9100连接的芯片,通过中央处理器的控制来实现基于业务场景库的自动化测试方法的功能。
如图11所示,该电子设备9600还可以包括:通讯模块9110、输入单元9120、音频处理器9130、显示器9160、电源9170。值得注意的是,电子设备9600也并不是必须要包括图11中所示的所有部件;此外,电子设备9600还可以包括图11中没有示出的部件,可以参考现有技术。
如图11所示,中央处理器9100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器9100接收输入并控制电子设备9600的各个部件的操作。
其中,存储器9140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器9100可执行该存储器9140存储的该程序,以实现信息存储或处理等。
输入单元9120向中央处理器9100提供输入。该输入单元9120例如为按键或触摸输入装置。电源9170用于向电子设备9600提供电力。显示器9160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器9140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器9140还可以是某种其它类型的装置。存储器9140包括缓冲存储器9141(有时被称为缓冲器)。存储器9140可以包括应用/功能存储部9142,该应用/功能存储部9142用于存储应用程序和功能程序或用于通过中央处理器9100执行电子设备9600的操作的流程。
存储器9140还可以包括数据存储部9143,该数据存储部9143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器9140的驱动程序存储部9144可以包括电子设备的用于通讯功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通讯模块9110即为经由天线9111发送和接收信号的发送机/接收机9110。通讯模块(发送机/接收机)9110耦合到中央处理器9100,以提供输入信号和接收输出信号,这可以和常规移动通讯终端的情况相同。
基于不同的通讯技术,在同一电子设备中,可以设置有多个通讯模块9110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通讯模块(发送机/接收机)9110还经由音频处理器9130耦合到扬声器9131和麦克风9132,以经由扬声器9131提供音频输出,并接收来自麦克风9132的音频输入,从而实现通常的电信功能。音频处理器9130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器9130还耦合到中央处理器9100,从而使得可以通过麦克风9132能够在本机上录音,且使得可以通过扬声器9131来播放本机上存储的声音。
本申请的实施例还提供能够实现上述实施例中的执行主体为服务器或客户端的基于业务场景库的自动化测试方法中全部步骤的一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的执行主体为服务器或客户端的基于业务场景库的自动化测试方法的全部步骤,例如,所述处理器执行所述计算机程序时实现下述步骤:
S101:遍历原始待测程序,以生成所述原始待测程序对应的初始业务场景库;
S102:比对变更待测程序与所述原始待测程序,并根据比对结果及所述初始业务场景库生成组合业务场景库;其中,所述变更待测程序是对所述原始待测程序进行修改所得到的;
S103:根据所述组合业务场景库对所述变更待测程序进行自动化测试。
从上述描述可知,本申请提供的基于业务场景库的自动化测试方法能够进行自动智能场景识别,在白盒测试领域提供一种硬件设备成本低的基于业务场景库的自动化测试方法,能够在测试时间不很充分的情况下,根据程序改动量分析出高危场景进行测试,适应快速版本迭代周期,提高测试效率,降低回归测试风险。
本领域内的技术人员应明白,本发明的实施例可提供为方法、装置、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(装置)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种基于业务场景库的自动化测试方法,其特征在于,包括:
遍历原始待测程序,以生成所述原始待测程序对应的初始业务场景库;
比对变更待测程序与所述原始待测程序,并根据比对结果及所述初始业务场景库生成组合业务场景库;其中,所述变更待测程序是对所述原始待测程序进行修改所得到的;
根据所述组合业务场景库对所述变更待测程序进行自动化测试。
2.根据权利要求1所述的基于业务场景库的自动化测试方法,其特征在于,所述遍历原始待测程序,以生成所述原始待测程序对应的初始业务场景库,包括:
获取所述原始待测程序中的各类、对象及方法;
根据所述类、对象及方法确定所述原始待测程序中的测试节点;
根据所述测试节点生成所述原始待测程序的初始业务场景库。
3.根据权利要求1所述的基于业务场景库的自动化测试方法,其特征在于,所述比对变更待测程序与所述原始待测程序,并根据比对结果及所述初始业务场景库生成组合业务场景库,包括:
比对所述变更待测程序与所述原始待测程序,确定被新增或被删除的类、对象及方法;
根据所述被新增或被删除的类、对象及方法修改所述初始业务场景库中的测试节点;
确定非新增或未被删除的类、对象及方法的程序行数是否发生了变化;
若是,则修改所述初始业务场景库中的测试节点;
根据修改后的初始业务场景库中的测试节点生成组合业务场景库。
4.根据权利要求1所述的基于业务场景库的自动化测试方法,其特征在于,所述比对变更待测程序与所述原始待测程序,并根据比对结果及所述初始业务场景库生成组合业务场景库,包括:
比对所述变更待测程序与所述原始待测程序,确定被新增或被删除的类、对象及方法;
根据所述被新增或被删除的类、对象及方法修改所述初始业务场景库中的测试节点;
确定非新增或未被删除的类、对象及方法的程序关键字是否发生了变化;
若是,则修改所述初始业务场景库中的测试节点;
根据修改后的初始业务场景库中的测试节点生成组合业务场景库。
5.一种基于业务场景库的自动化测试装置,其特征在于,包括:
初始场景库生成单元,用于遍历原始待测程序,以生成所述原始待测程序对应的初始业务场景库;
组合场景库生成单元,用于比对变更待测程序与所述原始待测程序,并根据比对结果及所述初始业务场景库生成组合业务场景库;其中,所述变更待测程序是对所述原始待测程序进行修改所得到的;
自动化测试单元,用于根据所述组合业务场景库对所述变更待测程序进行自动化测试。
6.根据权利要求5所述的基于业务场景库的自动化测试装置,其特征在于,所述初始场景库生成单元,包括:
获取模块,用于获取所述原始待测程序中的各类、对象及方法;
测试节点确定模块,用于根据所述类、对象及方法确定所述原始待测程序中的测试节点;
初始场景库生成模块,用于根据所述测试节点生成所述原始待测程序的初始业务场景库。
7.根据权利要求5所述的基于业务场景库的自动化测试装置,其特征在于,所述组合场景库生成单元,包括:
增删确定模块,用于比对所述变更待测程序与所述原始待测程序,确定被新增或被删除的类、对象及方法;
初始场景库修改模块,用于根据所述被新增或被删除的类、对象及方法修改所述初始业务场景库中的测试节点;
程序行数变化确定模块,用于确定非新增或未被删除的类、对象及方法的程序行数是否发生了变化;
所述初始场景库修改模块,用于当行数发生变化时,修改所述初始业务场景库中的测试节点;
组合场景库生成模块,用于根据修改后的初始业务场景库中的测试节点生成组合业务场景库。
8.根据权利要求7所述的基于业务场景库的自动化测试装置,其特征在于,所述组合场景库生成单元,包括:
所述增删确定模块,用于比对所述变更待测程序与所述原始待测程序,确定被新增或被删除的类、对象及方法;
所述初始场景库修改模块,用于根据所述被新增或被删除的类、对象及方法修改所述初始业务场景库中的测试节点;
关键字变化确定模块,用于确定非新增或未被删除的类、对象及方法的程序关键字是否发生了变化;
所述初始场景库修改模块,用于当关键字发生变化时,则修改所述初始业务场景库中的测试节点;
所述组合场景库生成模块,用于根据修改后的初始业务场景库中的测试节点生成组合业务场景库。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至4任一项所述的基于业务场景库的自动化测试方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至4任一项所述的基于业务场景库的自动化测试方法的步骤。
CN202110987001.XA 2021-08-26 2021-08-26 一种基于业务场景库的自动化测试方法及装置 Pending CN113688044A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110987001.XA CN113688044A (zh) 2021-08-26 2021-08-26 一种基于业务场景库的自动化测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110987001.XA CN113688044A (zh) 2021-08-26 2021-08-26 一种基于业务场景库的自动化测试方法及装置

Publications (1)

Publication Number Publication Date
CN113688044A true CN113688044A (zh) 2021-11-23

Family

ID=78582844

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110987001.XA Pending CN113688044A (zh) 2021-08-26 2021-08-26 一种基于业务场景库的自动化测试方法及装置

Country Status (1)

Country Link
CN (1) CN113688044A (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880547A (zh) * 2012-09-05 2013-01-16 无锡江南计算技术研究所 一种软件单元与部件与相结合的源代码变更影响分析与测试方法
CN110597730A (zh) * 2019-09-20 2019-12-20 中国工商银行股份有限公司 基于场景法的自动化测试用例生成方法及系统
CN111858301A (zh) * 2020-06-05 2020-10-30 中国船舶重工集团公司第七0九研究所 基于变更历史的组合服务测试用例集约简方法及装置
CN112799939A (zh) * 2021-01-22 2021-05-14 网易(杭州)网络有限公司 增量代码覆盖率测试方法及装置、存储介质、电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102880547A (zh) * 2012-09-05 2013-01-16 无锡江南计算技术研究所 一种软件单元与部件与相结合的源代码变更影响分析与测试方法
CN110597730A (zh) * 2019-09-20 2019-12-20 中国工商银行股份有限公司 基于场景法的自动化测试用例生成方法及系统
CN111858301A (zh) * 2020-06-05 2020-10-30 中国船舶重工集团公司第七0九研究所 基于变更历史的组合服务测试用例集约简方法及装置
CN112799939A (zh) * 2021-01-22 2021-05-14 网易(杭州)网络有限公司 增量代码覆盖率测试方法及装置、存储介质、电子设备

Similar Documents

Publication Publication Date Title
CN112783793B (zh) 自动化接口测试系统及方法
CN109814856A (zh) 数据录入方法、装置、终端及计算机可读存储介质
CN111984239B (zh) 一种页面配置方法、装置、服务器及存储介质
CN110990274B (zh) 一种生成测试案例的数据处理方法、装置及系统
CN112463634A (zh) 微服务架构下的软件测试方法及装置
CN113342330B (zh) 前端工程生成方法及装置
US20140045467A1 (en) Method and apparatus for recording information during a call
CN111897738B (zh) 基于原子服务的自动化测试方法及装置
CN113157345A (zh) 前端工程自动启动方法及装置
CN112784112A (zh) 报文校验方法及装置
CN115687050A (zh) 一种sql语句的性能分析方法及装置
CN112800063A (zh) 基于数据结构的自动贯标方法及装置
CN111367819B (zh) 代码扫描过滤方法及装置
CN116150029A (zh) 一种贷款系统逾期跑批自动化测试方法及装置
CN113688044A (zh) 一种基于业务场景库的自动化测试方法及装置
CN113515447B (zh) 系统自动化测试方法及装置
CN113419957A (zh) 基于规则的大数据离线批处理性能容量扫描方法及装置
US8615744B2 (en) Methods and system for managing assets in programming code translation
CN115421976A (zh) 异地备灾数据处理方法及装置
CN111443945A (zh) 组件代码修改方法及设备
CN113190236A (zh) Hql脚本校验方法及装置
CN114490402A (zh) 一种报文字段合法性检查方法及装置
CN112102058A (zh) 管会系统参数配置方法及装置
CN112783799A (zh) 软件守护测试方法及装置
CN112988603A (zh) 大数据测试用例生成方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination