CN113051176B - 自动化测试数据的处理方法、装置、电子设备及存储介质 - Google Patents
自动化测试数据的处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113051176B CN113051176B CN202110423203.1A CN202110423203A CN113051176B CN 113051176 B CN113051176 B CN 113051176B CN 202110423203 A CN202110423203 A CN 202110423203A CN 113051176 B CN113051176 B CN 113051176B
- Authority
- CN
- China
- Prior art keywords
- script
- program
- information
- key element
- service
- 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.)
- Active
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 59
- 238000003860 storage Methods 0.000 title claims abstract description 19
- 238000003672 processing method Methods 0.000 title abstract description 4
- 238000013515 script Methods 0.000 claims abstract description 162
- 238000000034 method Methods 0.000 claims abstract description 53
- 238000012545 processing Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 14
- 238000004458 analytical method Methods 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 9
- 238000005516 engineering process Methods 0.000 claims description 6
- 238000010586 diagram Methods 0.000 description 16
- 230000006870 function Effects 0.000 description 13
- 230000008859 change Effects 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 239000000872 buffer Substances 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000009960 carding Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000007796 conventional method Methods 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 241000208340 Araliaceae Species 0.000 description 1
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 1
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 235000008434 ginseng Nutrition 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Abstract
本发明公开了一种自动化测试数据的处理方法、装置、电子设备及存储介质,涉及信息安全领域,其中,该方法包括:获取应用程序的更新信息,所述更新信息包括:程序方法信息;根据所述程序方法信息,基于预先确定的脚本与程序方法关联信息确定相应的脚本,所述脚本与程序方法关联信息基于业务关键要素来确定;基于确定的脚本,对更新的应用程序执行测试操作。通过本发明,可以提高脚本对更新应用程序的测试效率。
Description
技术领域
本发明涉及信息安全领域,具体涉及一种自动化测试数据的处理方法、装置、电子设备及存储介质。
背景技术
目前,精准测试工具中自动化脚本和程序的关联关系往往是通过先清理执行的痕迹,然后再启动工程运行一个脚本,检查该脚本执行的痕迹,这样来建立单个脚本和所覆盖程序的关系,如果多个脚本同时执行则很难区分出程序具体是被哪个脚本覆盖的,这样只能逐一的执行脚本建立关联关系,这种方式操作繁琐且很难有效的建立脚本和程序之间的关联关系,特别是在脚本和程序都有变动的情况下,需要重启工程并逐一的执行单个脚本来建立关联关系,效率较低,从而也降低了脚本测试的效率。
发明内容
有鉴于此,本发明提供一种自动化测试数据的处理方法、装置、电子设备及存储介质,以解决上述提及的至少一个问题。
根据本发明的第一方面,提供一种自动化测试数据的处理方法,所述方法包括:
获取应用程序的更新信息,所述更新信息包括:程序方法信息;
根据所述程序方法信息,基于预先确定的脚本与程序方法关联信息确定相应的脚本,所述脚本与程序方法关联信息基于业务关键要素来确定;
基于确定的脚本,对更新的应用程序执行测试操作。
根据本发明的第二方面,提供一种自动化测试数据的处理装置,所述装置包括:
更新信息获取单元,用于获取应用程序的更新信息,所述更新信息包括:程序方法信息;
脚本确定单元,用于根据所述程序方法信息,基于预先确定的脚本与程序方法关联信息确定相应的脚本,所述脚本与程序方法关联信息基于业务关键要素来确定;
测试单元,用于基于确定的脚本,对更新的应用程序执行测试操作。
根据本发明的第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述方法的步骤。
根据本发明的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
由上述技术方案可知,通过根据获取的应用程序的更新信息,并基于预先确定的脚本与程序方法关联信息确定相应的脚本,之后,根据该确定的脚本对更新的应用程序执行测试操作,相比于现有技术,由于预先确定了脚本与程序方法的关联信息,可以及时根据程序方法信息确定相应的脚本,从而提高了脚本对更新的应用程序的测试效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的自动化测试数据的处理方法的流程图;
图2是根据本发明实施例的自动化测试数据处理装置的结构框图;
图3是根据本发明实施例的自动化测试数据处理装置的示例结构框图;
图4是根据本发明实施例的被测程序插桩单元执行流程示意图;
图5是根据本发明实施例的脚本和被测程序方法关联关系处理流程示意图;
图6是根据本发明实施例的精准测试单元执行流程示意图;
图7为本发明实施例的电子设备600的系统构成的示意框图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,单个脚本和所覆盖程序的关联关系需要通过执行脚本来确定,效率较低,从而也降低了脚本测试的效率。基于此,本发明实施例提供一种自动化测试数据的处理方案,该方案可以基于业务关键要素建立脚本和程序方法的关联关系,通过该关联关系,可以在应用程序变更时,及时确定相应的脚本,对更新的应用程序进行测试,提高了脚本测试的效率。以下结合附图来详细描述本发明实施例。
图1是根据本发明实施例的自动化测试数据的处理方法的流程图,如图1所示,该方法包括:
步骤101,获取应用程序的更新信息,所述更新信息包括:程序方法信息。
应用程序主要指的是面向对象的类文件,每个类文件一般会有类名,类里面会有多个程序方法及其入参类型。
步骤102,根据所述程序方法信息,基于预先确定的脚本与程序方法关联信息确定相应的脚本,所述脚本与程序方法关联信息基于业务关键要素(例如,业务编号)来确定。该业务关键要素是指能够唯一代表一笔业务的关键信息。
在具体实施过程中,可以通过如下方式确定所述脚本与程序方法关联信息:
预先对应用程序进行语法分析,得到多个程序方法;之后,将可打印业务关键要素的日志代码,通过插桩技术插入各程序方法,以便于程序方法被调用时生成具有业务关键要素的日志文件。
响应于基于预定脚本对业务执行相应操作,所述预定脚本调用相应的应用程序并生成日志文件,所述应用程序包括多个程序方法,所述预定脚本与业务关键要素具有关联信息。随后,对所述日志文件进行解析,并根据解析结果生成业务关键要素与程序方法的关联信息。之后,可以根据所述预定脚本与业务关键要素的关联信息、业务关键要素与程序方法的关联信息确定所述预定脚本与程序方法的关联信息。
上述预定脚本与业务关键要素具有关联信息可以通过如下方式之一来确定:
(1)响应于所述业务关键要素包含在所述预定脚本中,直接确定预定脚本与业务关键要素的关联信息。
这种方式是业务关键要素在脚本中已生成,直接将脚本和业务关键要素登记到数据库中即可,这种业务例如是跨境汇款的收报业务。
(2)响应于所述业务关键要素未包含在所述预定脚本中,该预定脚本根据业务信息获取与所述业务信息相应的业务关键要素,并根据获取的业务关键要素确定该预定脚本与业务关键要素的关联信息,所述业务信息包括如下至少之一:业务执行日期、业务执行方、业务涉及金额、币种。
这种方式是业务关键要素不能在脚本中生成,这种业务例如是跨境汇款的发报业务,业务关键要素是在应用程序被调用后才生成的,可以通过脚本中的其它要素比如汇款日期、币种、金额、汇款人、收款人等业务信息查询数据库中的报文信息表来获取业务关键要素(例如,业务编号)。
步骤103,基于确定的脚本,对更新的应用程序执行测试操作。
通过根据获取的应用程序的更新信息,并基于预先确定的脚本与程序方法关联信息确定相应的脚本,之后,根据该确定的脚本对更新的应用程序执行测试操作,相比于现有技术,由于预先确定了脚本与程序方法的关联信息,可以及时根据程序方法信息确定相应的脚本,从而提高了脚本对更新的应用程序的测试效率。
本发明实施例从程序调用的方法出发,采用插桩技术在被测程序中插入能打印业务关键要素日志的代码,本发明实施例中的业务关键要素能唯一代表一笔业务的关键信息;在被测程序的入口程序里将业务关键要素保存在线程内部的存储类中比如java语言的threadlocal存储类,然后在每个被调用的方法中都从线程内部的存储类中取出关键要素进行打印;在执行自动化脚本后,自动化脚本调用被测程序,被测程序打印出包含了业务关键要素的日志,通过分析日志中的业务关键要素就能了解到该笔业务在计算机处理的过程中经过了哪些程序方法,如果能找出该自动化脚本测试的是哪一笔业务,就能通过业务关键要素知晓该自动化脚本覆盖了哪些程序方法,在下次程序修改后,就能根据被修改的程序自动找到相应的脚本进行执行。如此,可以提高脚本对更新的应用程序的测试效率。
基于相似的发明构思,本发明实施例还提供一种自动化测试数据的处理装置,优选地,该装置可用于实现上述方法实施例中的流程。
图2是该自动化测试数据处理装置的结构框图,如图2所示,该装置包括:更新信息获取单元21、脚本确定单元22和测试单元23,其中:
更新信息获取单元21,用于获取应用程序的更新信息,所述更新信息包括:程序方法信息;
脚本确定单元22,用于根据所述程序方法信息,基于预先确定的脚本与程序方法关联信息确定相应的脚本,所述脚本与程序方法关联信息基于业务关键要素来确定;
测试单元23,用于基于确定的脚本,对更新的应用程序执行测试操作。
通过脚本确定单元22根据更新信息获取单元21获取的应用程序的更新信息,并基于预先确定的脚本与程序方法关联信息确定相应的脚本,之后,测试单元23根据该确定的脚本对更新的应用程序执行测试操作,相比于现有技术,由于预先确定了脚本与程序方法的关联信息,可以及时根据程序方法信息确定相应的脚本,从而提高了脚本对更新的应用程序的测试效率。
在实际操作中,上述装置还包括:脚本与程序方法关联信息确定单元,该脚本与程序方法关联信息确定单元具体包括:日志文件生成模块、业务关键要素与程序方法关联信息生成模块和脚本与程序方法关联信息确定模块,其中:
日志文件生成模块,用于响应于基于预定脚本对业务执行相应操作,所述预定脚本调用相应的应用程序并生成日志文件,所述应用程序包括多个程序方法,所述预定脚本与业务关键要素具有关联信息;
业务关键要素与程序方法关联信息生成模块,用于对所述日志文件进行解析,并根据解析结果生成业务关键要素与程序方法的关联信息;
脚本与程序方法关联信息确定模块,用于根据所述预定脚本与业务关键要素的关联信息、业务关键要素与程序方法的关联信息确定所述预定脚本与程序方法的关联信息。
在一个实施例中,上述装置还包括:语法分析单元和插桩单元,其中:
语法分析单元,用于对应用程序进行语法分析,得到多个程序方法;
插桩单元,用于将可打印业务关键要素的日志代码,通过插桩技术插入各程序方法,以便于程序方法被调用时生成具有业务关键要素的日志文件。
在具体实施过程中,上述装置还包括:脚本与业务关键要素关联信息确定单元,该脚本与业务关键要素关联信息确定单元具体包括:第一确定模块和第二确定模块,其中:
第一确定模块,用于响应于所述业务关键要素包含在所述预定脚本中,直接确定预定脚本与业务关键要素的关联信息;
第二确定模块,用于响应于所述业务关键要素未包含在所述预定脚本中,该预定脚本根据业务信息获取与所述业务信息相应的业务关键要素,并根据获取的业务关键要素确定该预定脚本与业务关键要素的关联信息,所述业务信息包括如下至少之一:业务执行日期、业务执行方、业务涉及金额、币种。
上述各单元、各模块的具体执行过程,可以参见上述方法实施例中的描述,此处不再赘述。
在实际操作中,上述各单元、各模块可以组合设置、也可以单一设置,本发明不限于此。
为了更好地理解本发明,以下结合图3所示的示例系统来详细描述本发明实施例。
图3是根据本发明实施例的自动化测试数据处理装置的示例结构框图,如图3所示,该示例装置包括:被测程序方法获取单元1、被测程序插桩单元2、脚本和业务关键要素关联关系梳理单元3、脚本和被测程序方法关联关系建立单元4、精准测试单元5。以下分别描述各单元。
(1)被测程序方法获取单元1
被测程序方法获取单元1主要是通过语法树分析找出待测试的应用程序中所有可以被调用的程序方法,该应用程序主要指的是面向对象的类文件,每个类文件一般会有类名,类里面会有多个方法及其入参类型,按照类名、方法名、入参类型的维度,使用语法树分析工具梳理出被测程序方法清单。
(2)被测程序插桩单元2
被测程序插桩单元2是以被测程序方法获取单元1得到的被测程序方法清单为基础来进行处理,利用动态代理工具例如javassit工具编写java插桩程序,其处理流程如图4所示:
S201:汇总被测程序方法集合,按照类名、方法、入参类型的维度汇总被测程序方法集合(可用集合A表示);
S202:判断被测程序方法集合A中是否有包含了类名、方法、入参类型的记录,如果有则进行S203,否则结束;
S203:在被测程序方法集合中获取记录;
S204:进行插桩处理,在每个被测程序方法的代码中插入统一的log日志,该日志能体现被测程序方法被调用时的执行时间、线程id(标识)、类名、方法名、入参类型、业务关键要素等信息,其中业务关键要素可以从线程内部的存储类中获取。
最后将插桩程序打包为jar包和被测程序一并部署到测试环境,在项目工程的启动语句上加上javaagent jar包的启动参数。打印的日志格式,示例如下(格式可以以实际情况定义):
businessReferenceLog-reference1-2021.01.12_14:04:20:0543-ID234-com.icbc.xxxxx.method-int_string_map-end
说明:
BusinessReferenceLog:业务日志关键字,elasticsearch通过该字段检索该段日志;
Reference1:业务关键要素,能唯一代表一笔业务的关键要素信息;
2021.01.12_14:04:20:0543:程序运行时间戳;
ID234:线程id;
com.icbc.xxxxx.method:被调用程序的类名和方法名;
int_string_map:入参类型;
end:表示打印日志结束的标志,elasticsearch通过该字段检索该段日志。
(3)脚本和业务关键要素关联关系梳理单元3
脚本和业务关键要素关联关系梳理单元3,脚本和业务关键要素关联关系的建立可以分为两种情况:第一种情况是业务关键要素在脚本中已生成,测试被测程序时直接使用该业务关键要素,这种情况下,直接将脚本和业务关键要素登记到数据库中即可,比如跨境汇款的收报业务,其业务关键要素是业务编号,则可以在脚本中通过编写插入语句直接将业务关键要素和自动化脚本的关联关系进行登记;另外一种情况是业务关键要素不能在脚本中生成,比如跨境汇款的发报业务,业务关键要素是在被测程序被调用后才生成的,则可以通过脚本中的其它要素比如汇款日期、币种、金额、汇款人、收款人等业务信息查询数据库中的报文信息表,获取业务编号这个业务关键要素;最终建立脚本和业务关键要素的关联关系。
(4)脚本和被测程序方法关联关系建立单元4
脚本和被测程序方法关联关系建立单元4,通过被测程序插桩单元能让被测程序打印出统一标准规范的日志,在自动化脚本执行后会输出大量日志,对日志进行处理时采用如下步骤:
(1)配置并启动Logstash工具,该工具是一款开源的数据收集引擎,能实时获取各个服务器上的日志文件,并将采集到的标准化输出日志传输到Elasticsearch上,Elasticsearch收到数据后会自动建立索引,可以将Logstash工具部署到log日志所在的服务器上,示例配置如下所示:
(2)数据分析,该数据分析操作首先连接Elasticsearch,根据业务关键要素检索标准化输出的日志,获取到日志信息后进行解析,并将每一笔业务执行的日志登记到被调用方程序执行记录表中,之后用业务关键要素将脚本和被调用的程序方法关联起来,具体处理流程如图5所示:
S301:连接Elasticsearch并根据关键字BusinessReferenceLog从Elasticsearch获取到标准化的日志数据,将日志数据解析后登记到如下表1所示的被调用方程序执行记录表中:
表1
上述被调用方程序执行记录表,该表中登记的是被测程序执行时打印出的关键日志信息,表中的Reference1表示能代表一笔业务的关键要素,线程ID表示处理该笔业务时的线程,程序方法名和入参类型表示处理该笔业务的程序方法,执行时间是指处理业务打印日志的时间。
S302:获取脚本和业务关键要素关联关系的集合(也可用集合A表示,与步骤S201中的集合A不同),通过脚本和业务关键要素关联关系梳理单元3已经建立了脚本和业务关键要素关联关系,一个脚本对应着一个业务关键要素,比如脚本test1对应业务关键要素key1,脚本test2对应业务关键要素key2,多个脚本的这种关联关系就形成了脚本和业务关键要素关联关系的集合,这里用集合A代指所有脚本和业务关键要素关联关系的集合。
S303:判断集合A中是否有下一笔数据,有下一笔数据表示可以获取某个脚本和业务关键要素的关联关系,需要对该笔关联关系数据进行处理,此时则进行S304,否则结束。
S304:取出集合A中的当前记录,这里用记录a表示当前记录,并获取记录a中的业务关键要素,记录a表示该集合中的一条记录比如某个测试脚本和业务关键要素的关联关系。
S305:用业务关键要素作为查询条件查询被调用方程序执行记录表,得到查询结果集合B,并按照程序方法名和入参类型去重;参看被调用方程序执行记录表,该表中登记的是被测程序执行时打印出的关键日志信息,根据业务关键要素比如表1中的Reference1,可以在数据库中查询到多条记录,这些记录用集合B表示,集合B表示的是该业务关键要素对应的业务触发了哪些被测程序,被调用方程序执行记录表中的一条记录则代表该笔业务触发了该程序方法的执行。
S306:判断集合B中是否有下一笔数据,有则进行S307,否则返回S303获取集合A的下一笔记录。当集合B中有数据(用当前记录b表示)时,表示该业务关键要素触发了相应的程序执行,业务关键要素和相应的脚本已经建立了关联关系,则通过该业务关键要素,就可以建立脚本和被测程序的关联关系。
S307:取出集合B中的当前记录b,并登记到脚本和程序方法关联关系表中,返回S306继续处理。
在实际操作中,通过业务关键要素Reference1在被调用方程序执行记录表中会查询到两条记录,这两条记录属于集合B,表示Reference1的业务处理时执行了两个程序方法。
(5)精准测试单元5
图6是精准测试单元5的执行流程图,如图6所示,该流程包括:
S401:获取变更程序及其方法的清单,通过查询代码库的变动明细来获取程序方法的变动清单,并按照类名、方法、入参类型的维度汇总清单,比如在代码库变动明细中获取到程序programName的方法methodName本期版本有修改,则变更程序及其方法清单中会有一条程序名为programName,方法名为methodName的记录,如果本期代码修改的程序及其方法比较多,则会有多条变更程序及其方法的记录,这些记录的合集可以用清单A来表示。
S402:判断清单A中是否有下一笔记录,这里的下一笔记录是指变更程序清单A中的记录,主要是判断是否还存在未处理的变更程序方法,有则进行S403,否则进行S405。
S403:在清单A中获取变更程序的类名、方法、入参类型。
S404:在脚本和被测程序方法关联关系建立单元4中已经建立了所有脚本及其覆盖的程序方法的关联关系,根据S403获取的变更程序的类名、方法、入参类型作为查询条件,查询脚本和程序方法关联关系表就可以获取到对应的自动化脚本名称。
S405:汇总获取到的所有脚本名称,并通过jenkins作业执行这些脚本,对变更程序进行测试。
本发明实施例基于业务关键要素,通过测试输出的日志分析出脚本实际覆盖的程序,建立脚本和所覆盖的程序之间的关联关系,该关联关系的建立相比常规的基于程序覆盖率统计的方法可操作性更强,能够做到快速地建立脚本和程序之间的关联关系,有了关联关系就能在程序变更后进行精准的测试,能快速精准的对变更程序进行质量守护。
本实施例还提供一种电子设备,该电子设备可以是台式计算机、平板电脑及移动终端等,本实施例不限于此。在本实施例中,该电子设备可以参照上述方法实施例进行实施及自动化测试数据处理装置的实施例进行实施,其内容被合并于此,重复之处不再赘述。
图7为本发明实施例的电子设备600的系统构成的示意框图。如图7所示,该电子设备600可以包括中央处理器100和存储器140;存储器140耦合到中央处理器100。值得注意的是,该图是示例性的;还可以使用其他类型的结构,来补充或代替该结构,以实现电信功能或其他功能。
一实施例中,自动化测试数据处理功能可以被集成到中央处理器100中。其中,中央处理器100可以被配置为进行如下控制:
获取应用程序的更新信息,所述更新信息包括:程序方法信息;
根据所述程序方法信息,基于预先确定的脚本与程序方法关联信息确定相应的脚本,所述脚本与程序方法关联信息基于业务关键要素来确定;
基于确定的脚本,对更新的应用程序执行测试操作。
从上述描述可知,本申请实施例提供的电子设备,通过根据获取的应用程序的更新信息,并基于预先确定的脚本与程序方法关联信息确定相应的脚本,之后,根据该确定的脚本对更新的应用程序执行测试操作,相比于现有技术,由于预先确定了脚本与程序方法的关联信息,可以及时根据程序方法信息确定相应的脚本,从而提高了脚本对更新的应用程序的测试效率。
在另一个实施方式中,自动化测试数据处理装置可以与中央处理器100分开配置,例如可以将自动化测试数据处理装置配置为与中央处理器100连接的芯片,通过中央处理器的控制来实现自动化测试数据处理功能。
如图7所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理器130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图7中所示的所有部件;此外,电子设备600还可以包括图7中没有示出的部件,可以参考现有技术。
如图7所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。
输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。
存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现上述自动化测试数据处理方法的步骤。
综上所述,本发明实施例基于业务关键要素,通过测试输出的日志分析出脚本实际覆盖的程序,建立脚本和所覆盖的程序之间的关联关系,该关联关系的建立相比常规的基于程序覆盖率统计的方法可操作性更强,能够做到快速地建立脚本和程序之间的关联关系,有了关联关系就能在程序变更后进行精准地测试,能快速精准地对变更程序进行质量守护。
以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (6)
1.一种自动化测试数据的处理方法,其特征在于,所述方法包括:
获取应用程序的更新信息,所述更新信息包括:程序方法信息;
根据所述程序方法信息,基于预先确定的脚本与程序方法关联信息确定相应的脚本,所述脚本与程序方法关联信息基于业务关键要素来确定;
基于确定的脚本,对更新的应用程序执行测试操作;
其中,通过如下方式确定所述脚本与程序方法关联信息:
响应于基于预定脚本对业务执行相应操作,所述预定脚本调用相应的应用程序并生成日志文件,所述应用程序包括多个程序方法,所述预定脚本与业务关键要素具有关联信息;
对所述日志文件进行解析,并根据解析结果生成业务关键要素与程序方法的关联信息;
根据所述预定脚本与业务关键要素的关联信息、业务关键要素与程序方法的关联信息确定所述预定脚本与程序方法的关联信息;
通过如下方式之一确定预定脚本与业务关键要素的关联信息;
响应于所述业务关键要素包含在所述预定脚本中,直接确定预定脚本与业务关键要素的关联信息;
响应于所述业务关键要素未包含在所述预定脚本中,该预定脚本根据业务信息获取与所述业务信息相应的业务关键要素,并根据获取的业务关键要素确定该预定脚本与业务关键要素的关联信息,所述业务信息包括如下至少之一:业务执行日期、业务执行方、业务涉及金额、币种。
2.根据权利要求1所述的方法,其特征在于,在基于预定脚本对业务执行相应操作之前,所述方法还包括:
对应用程序进行语法分析,得到多个程序方法;
将可打印业务关键要素的日志代码,通过插桩技术插入各程序方法,以便于程序方法被调用时生成具有业务关键要素的日志文件。
3.一种自动化测试数据的处理装置,其特征在于,所述装置包括:
更新信息获取单元,用于获取应用程序的更新信息,所述更新信息包括:程序方法信息;
脚本确定单元,用于根据所述程序方法信息,基于预先确定的脚本与程序方法关联信息确定相应的脚本,所述脚本与程序方法关联信息基于业务关键要素来确定;
测试单元,用于基于确定的脚本,对更新的应用程序执行测试操作;
其中,所述装置还包括:脚本与程序方法关联信息确定单元,
所述脚本与程序方法关联信息确定单元包括:
日志文件生成模块,用于响应于基于预定脚本对业务执行相应操作,所述预定脚本调用相应的应用程序并生成日志文件,所述应用程序包括多个程序方法,所述预定脚本与业务关键要素具有关联信息;
业务关键要素与程序方法关联信息生成模块,用于对所述日志文件进行解析,并根据解析结果生成业务关键要素与程序方法的关联信息;
脚本与程序方法关联信息确定模块,用于根据所述预定脚本与业务关键要素的关联信息、业务关键要素与程序方法的关联信息确定所述预定脚本与程序方法的关联信息;
所述装置还包括:脚本与业务关键要素关联信息确定单元,
所述脚本与业务关键要素关联信息确定单元包括:
第一确定模块,用于响应于所述业务关键要素包含在所述预定脚本中,直接确定预定脚本与业务关键要素的关联信息;
第二确定模块,用于响应于所述业务关键要素未包含在所述预定脚本中,该预定脚本根据业务信息获取与所述业务信息相应的业务关键要素,并根据获取的业务关键要素确定该预定脚本与业务关键要素的关联信息,所述业务信息包括如下至少之一:业务执行日期、业务执行方、业务涉及金额、币种。
4.根据权利要求3所述的装置,其特征在于,所述装置还包括:
语法分析单元,用于对应用程序进行语法分析,得到多个程序方法;
插桩单元,用于将可打印业务关键要素的日志代码,通过插桩技术插入各程序方法,以便于程序方法被调用时生成具有业务关键要素的日志文件。
5.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1或2中任一项所述方法的步骤。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1或2中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110423203.1A CN113051176B (zh) | 2021-04-20 | 2021-04-20 | 自动化测试数据的处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110423203.1A CN113051176B (zh) | 2021-04-20 | 2021-04-20 | 自动化测试数据的处理方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113051176A CN113051176A (zh) | 2021-06-29 |
CN113051176B true CN113051176B (zh) | 2024-03-26 |
Family
ID=76519836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110423203.1A Active CN113051176B (zh) | 2021-04-20 | 2021-04-20 | 自动化测试数据的处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113051176B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726105A (zh) * | 2018-05-15 | 2019-05-07 | 平安普惠企业管理有限公司 | 测试数据构造方法、装置、设备及存储介质 |
CN111597243A (zh) * | 2020-05-15 | 2020-08-28 | 中国工商银行股份有限公司 | 基于数据仓库抽象数据加载的方法及系统 |
CN111930625A (zh) * | 2020-08-12 | 2020-11-13 | 中国工商银行股份有限公司 | 基于云服务平台的日志获取方法、装置及系统 |
CN112363932A (zh) * | 2020-11-11 | 2021-02-12 | 网易(杭州)网络有限公司 | 待测试业务对象的测试方法及装置、电子装置 |
-
2021
- 2021-04-20 CN CN202110423203.1A patent/CN113051176B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726105A (zh) * | 2018-05-15 | 2019-05-07 | 平安普惠企业管理有限公司 | 测试数据构造方法、装置、设备及存储介质 |
CN111597243A (zh) * | 2020-05-15 | 2020-08-28 | 中国工商银行股份有限公司 | 基于数据仓库抽象数据加载的方法及系统 |
CN111930625A (zh) * | 2020-08-12 | 2020-11-13 | 中国工商银行股份有限公司 | 基于云服务平台的日志获取方法、装置及系统 |
CN112363932A (zh) * | 2020-11-11 | 2021-02-12 | 网易(杭州)网络有限公司 | 待测试业务对象的测试方法及装置、电子装置 |
Also Published As
Publication number | Publication date |
---|---|
CN113051176A (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107122258B (zh) | 用于测试接口的状态码校验的方法及设备 | |
CN111026645B (zh) | 用户界面自动化测试方法、装置、存储介质及电子设备 | |
CN108984389B (zh) | 一种应用程序测试方法及终端设备 | |
CN104053051B (zh) | 一种实现手机音频、视频兼容性的自动化测试方法及装置 | |
CN109634841B (zh) | 电子装置、接口自动化测试方法及存储介质 | |
CN112988601B (zh) | 测试脚本开发方法及装置 | |
CN111158741A (zh) | 监控业务模块对第三方类库依赖关系变化的方法及装置 | |
CN112463634A (zh) | 微服务架构下的软件测试方法及装置 | |
CN113190401A (zh) | 快游戏的异常监控方法、电子设备、移动终端以及存储介质 | |
CN115104336A (zh) | 跟踪和公开用于生成分析的数据 | |
CN113553260B (zh) | 测试方法、测试装置、设备和介质 | |
CN106790380A (zh) | 数据上报方法及装置 | |
CN116719750B (zh) | 软件测试方法及装置、服务器设备和存储介质 | |
CN111930625B (zh) | 基于云服务平台的日志获取方法、装置及系统 | |
CN111897737B (zh) | 微服务系统程序测试的遗漏检测方法及装置 | |
CN113051176B (zh) | 自动化测试数据的处理方法、装置、电子设备及存储介质 | |
CN117499287A (zh) | Web测试方法、装置、存储介质及代理服务器 | |
CN112905460A (zh) | 自动化接口测试模拟三方回执的装置及方法 | |
KR20070104202A (ko) | 휴대폰 소프트웨어 검증을 위한 자동화 테스트 서비스시스템 및 그 방법 | |
CN110147313B (zh) | 一种日志输出方法及装置 | |
CN112241362A (zh) | 一种测试方法、装置、服务器及存储介质 | |
CN110134583B (zh) | 软件测试及数据处理方法及装置 | |
CN111352821A (zh) | 业务测试方法、装置、电子设备和计算机可读存储介质 | |
CN116150011A (zh) | 代码覆盖率数据处理方法、设备、介质和计算机程序产品 | |
CN113886221B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |