CN112363936A - 差异覆盖率测试方法、装置、计算机设备和存储介质 - Google Patents

差异覆盖率测试方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN112363936A
CN112363936A CN202011262104.1A CN202011262104A CN112363936A CN 112363936 A CN112363936 A CN 112363936A CN 202011262104 A CN202011262104 A CN 202011262104A CN 112363936 A CN112363936 A CN 112363936A
Authority
CN
China
Prior art keywords
code
tested
version
difference
detected
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.)
Granted
Application number
CN202011262104.1A
Other languages
English (en)
Other versions
CN112363936B (zh
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.)
Guangzhou Pinwei Software Co Ltd
Original Assignee
Guangzhou Pinwei Software Co Ltd
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 Guangzhou Pinwei Software Co Ltd filed Critical Guangzhou Pinwei Software Co Ltd
Priority to CN202011262104.1A priority Critical patent/CN112363936B/zh
Publication of CN112363936A publication Critical patent/CN112363936A/zh
Application granted granted Critical
Publication of CN112363936B publication Critical patent/CN112363936B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/3676Test management for coverage analysis
    • 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/3692Test management for test results analysis

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

差异覆盖率测试方法、装置、计算机设备和存储介质
技术领域
本申请涉及软件测试领域,特别是涉及一种差异覆盖率测试方法、装置、计算机设备和存储介质。
背景技术
随着网络的不断发展,软件的更新迭代速度越来越快。当软件需要发布新版本时需要对新版本的软件代码进行测试。
差异覆盖率测试(或称为差异代码覆盖率测试)和差异覆盖率,是软件测试过程中最重要的测试方法和测试效果衡量标准之一,差异覆盖率指的是测试过程中已覆盖的差异代码行数在总的差异代码行数中所占的比例,差异代码是新版本的软件代码相比以往版本的软件代码发生改变的代码。通过对差异覆盖率进行分析,可以快速定位到总的差异代码中哪些代码是没有运行的,从而可以构造相应的测试用例来覆盖这些代码,以发现软件设计中存在的缺陷和错误。
以往测试时会将所有的差异代码都进行测试,然而,差异代码中有些代码(比如,一些保护代码如try catch中的catch部分)重要程度不高,但是在测试时要实现覆盖却需要花费大量的时间精力,因此,对此类包含此类代码的差异代码进行测试会降低测试效率。
发明内容
本发明针对现有技术的缺点,提供了一种差异覆盖率测试方法、装置、计算机设备和存储介质,本发明实施例能够实现在测试差异代码之前将差异代码中的指定代码块进行过滤,提高差异覆盖率测试的测试效率。
本发明根据第一方面提供了一种差异覆盖率测试方法,在一个实施例中,该方法包括:
响应于测试指令,获取待测软件的待测版本代码和目标基线版本代码;
确定待测版本代码和目标基线版本代码之间的原始代码差异日志;
对待测版本代码进行指定代码块检测,根据检测得到的检测结果对原始代码差异日志进行修改,得到修改后的代码差异日志;
根据待测版本代码和修改后的代码差异日志进行差异覆盖率测试。
在一个实施例中,待测版本代码包括多个类文件的代码,该多个类文件中包括至少一个待检测类文件,待测类文件是指包含差异代码的类文件;
原始代码差异日志中包括至少一个键值对,任一个键值对包括键名信息和键值信息,原始代码差异日志中包括的键值对的数量与待测版本代码包括待检测类文件的数量相同。
在一个实施例中,对待测版本代码进行指定代码块检测,根据检测得到的检测结果对原始代码差异日志进行修改,得到修改后的代码差异日志的步骤,包括以下步骤:
获取待测版本代码中所有待测类文件的代码;
根据任一个待测类文件的代码对原始代码差异日志进行修改,包括:对任一个待测类文件的代码进行解析,得到该待测类文件对应的源码树,检测该待测类文件对应的源码树中是否包含指定代码块,若该源码树中包含指定代码块,确定出该源码树中包含的每个指定代码块在该待测类文件中的位置信息,根据每个指定代码块在该待测类文件中的位置信息对原始代码差异日志进行修改;
在根据所有待测类文件的代码对原始代码差异日志进行修改后,获得修改后的代码差异日志。
在一个实施例中,根据每个指定代码块在该待测类文件中的位置信息对原始代码差异日志进行修改的步骤,包括:
根据该待测类文件的文件名确定出原始代码差异日志中与该待测类文件对应的目标键值对;
根据每个指定代码块在该待测类文件中的位置信息对目标键值对的键值信息进行修改。
在一个实施例中,检测该待测类文件对应的源码树中是否包含指定代码块的步骤,包括:
遍历该待测类文件对应的源码树所包括的每个方法节点所对应的代码数据,依次检测每个方法节点对应的代码数据中是否包含预指定属性的代码数据;其中,预指定属性包括catch数据或statements属性;
若检测到任一个方法节点对应的代码数据中包含预指定属性的代码数据,则确定该待测类文件对应的源码树中包含指定代码块。
在一个实施例中,将待测版本代码和目标参照版本代码进行对比,以获得原始代码差异日志的步骤,包括:
将待测版本代码和目标参照版本代码进行对比,确定出待测版本代码中相比目标参照版本代码存在的所有差异代码,该所有差异代码包括至少一行差异代码;
确定每行差异代码在待测版本代码中对应的类名和行数信息;
以字典形式将待测版本代码中所有差异代码对应的类名和行数信息进行存储,得到原始代码差异日志。
在一个实施例中,根据待测版本代码和修改后的代码差异日志进行差异覆盖率测试的步骤,包括:
根据该修改后的代码差异日志文件为待测版本代码中的每行差异代码设置待测标识;
使用覆盖率测试工具对设置了待测标识的待测版本代码进行差异覆盖率测试;
优选地,根据待测版本代码和修改后的代码差异日志进行差异覆盖率测试的步骤之后,还包括:
根据进行差异覆盖率测试所得到的测试结果生成差异覆盖率报告。
本发明根据第二方面提供了一种差异覆盖率测试装置,在一个实施例中,该装置包括:
版本代码获取模块,用于响应于测试指令,获取待测软件的待测版本代码和目标基线版本代码;
第一差异日志获得模块,用于确定待测版本代码和目标基线版本代码之间的原始代码差异日志;
第二差异日志获得模块,用于对待测版本代码进行指定代码块检测,根据检测得到的检测结果对原始代码差异日志进行修改,得到修改后的代码差异日志;
测试模块,用于根据待测版本代码和修改后的代码差异日志进行差异覆盖率测试。
本发明根据第三方面提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一方法的实施例的步骤。
本发明根据第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一方法的实施例的步骤。
在本发明实施例中,当接收到测试指令时,获取待测软件的待测版本代码和目标基线版本代码;确定待测版本代码和目标基线版本代码之间的原始代码差异日志;对待测版本代码进行指定代码块检测,根据检测得到的检测结果对原始代码差异日志进行修改,得到修改后的代码差异日志;根据待测版本代码和修改后的代码差异日志进行差异覆盖率测试。本发明实施例能够实现在测试差异代码之前将差异代码中的指定代码块进行过滤,提高差异覆盖率测试的测试效率。
附图说明
图1为一个实施例中一种差异覆盖率测试方法的流程示意图;
图2为一个实施例中获得原始代码差异日志的流程示意图;
图3为一个实施例中获得修改后的代码差异日志的流程示意图;
图4为一个实施例中检测源码树中是否有指定代码块的流程图;
图5为一个实施例中一种差异覆盖率测试装置的结构框图;
图6为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本发明提供了一种差异覆盖率测试方法,在一个实施例中,差异覆盖率测试方法可以应用于本发明实施例提供的差异覆盖率测试装置,具体地,该差异覆盖率测试装置可以采用硬件或者软件的方式来实现。在一个实施方式中,该差异覆盖率测试装置可以是服务器(比如,测试服务器),进一步地,该服务器可以是集成了多个服务器(比如,中转服务器、网页web服务器以及研发管理RDM服务器等)功能的服务器,或者该服务器也可以是一个服务器系统,该服务器系统中可以包括:中转服务器、网页web服务器以及研发管理RDM服务器。
在一个实施例中,以本发明提供的差异覆盖率测试方法应用于测试服务器为例对该方法进行说明,如图1所示,该方法包括:
S110:响应于测试指令获取待测软件的待测版本代码和目标参照版本代码。
在本实施例中,测试服务器在接收到测试指令后,确定出获取与该测试指令对应的待测软件,然后获取与该待测软件的待测版本代码和目标参照版本代码。其中,测试指令可以来自测试人员的用户终端;待测软件是指要进行差异覆盖率测试的软件;待测版本代码可以是待测软件的最新版本的源代码,目标参照版本代码是待测软件的预设的基线版本的源代码,其中,基线版本可以是该最新版本的上一版本,当然,在其他应用场景中,基线版本也可以是该待测软件的非上一版本的其他一个或多个过往版本。
其中,待测版本代码和目标参照版本代码可以是开发人员编写好后上传到测试服务器中进行存储,从而当需要进行测试时,测试服务器可以快速从本地获得测试所需的待测版本代码和目标参照版本代码并进行后续的测试流程,提高测试效率。
S120:将待测版本代码和目标参照版本代码进行对比,以获得原始代码差异日志。
在本实施例中,通常,软件的新版本的源代码是基于该软件的过往版本的源代码来编写的,因此,新版本的源代码与过往版本的源代码相比,会同时存在相同的代码以及不相同的代码(即差异代码),比如,开发人员为某软件开发了第一版本的源代码,后续可以基于该第一版本的源代码来开发第二版本的源代码,再之后还可以基于该第二版本的源代码来开发第三版本的源代码,当然,在某些场景中,也可以是基于该第一版本的源代码来开发第三版本的源代码。
测试服务器在获得待测版本代码和目标参照版本代码之后,可以使用对比工具(如diff工具)来对比待测版本代码和目标参照版本代码,从而获得代码差异日志(可以是一个diff日志文件),即该原始代码差异日志。待测版本代码包括多个类文件的代码,该多个类文件中包括至少一个待检测类文件,待测类文件是指包含差异代码的类文件(其中,如何确定待测版本代码中哪些类文件属于待测类文件可以利用任一种现有技术来实现,本实施例对此不进行限制);原始代码差异日志中包括至少一个键值对,任一个键值对(即key-value)包括键名信息(即key)和键值信息(即value,value可能包括有一个或多个值),原始代码差异日志中包括的键值对的数量与待测版本代码包括待检测类文件的数量相同。具体地,通常待测版本代码和目标参照版本代码各自都包括多个类文件,在将两者进行对比时,会将待测版本代码包含的各个类文件和目标参照版本代码中与该类文件对应的类文件进行对比,从而可以对比出待测版本代码包含的各个类文件相比目标参照版本代码中的类文件有哪些差异代码以及各行差异代码所属的类文件以及在该类文件中所处的行数。比如,待测版本代码包含类文件A和类文件B,目标参照版本代码包含类文件A’和类文件B’,则在对比时,是将类文件A和类文件A’进行对比,以及将类文件B和类文件B’进行对比。
S130:对待测版本代码进行指定代码块检测,根据检测得到的检测结果对原始代码差异日志进行修改,得到修改后的代码差异日志。
在本实施例中,测试服务器在对待测版本代码中的差异代码进行测试之前,需要将其中的包含的类似重要程度不高,但是要在测试过程中实现覆盖却需要花费大量时间精力的代码(比如,一些保护代码如try catch中的catch部分,catch部分用于在出现极端情况时执行保护措施,但是在测试过程中很难模拟出极端情况,这使得在测试时需要花费很大时间精力才能执行到,即覆盖到try catch中的catch部分代码)进行过滤,从而在后续测试过程中不需要对这类代码进行测试,以提高整体的测试效率。
具体地,测试服务器对上一步骤获得的代码差异日志(即该原始代码差异日志)进行指定代码块检测,并根据检测得到的检测结果对该原始代码差异日志进行修改,得到修改后的代码差异日志。
S140:根据待测版本代码和修改后的代码差异日志进行差异覆盖率测试。
在本实施例中,测试服务器在执行上一步骤从而获得修改后的代码差异日志之后,根据待测版本代码和修改后的代码差异日志进行差异覆盖率测试。
在本发明实施例中,当测试服务器接收到测试指令时,获取待测软件的待测版本代码和目标参照版本代码;将待测版本代码和目标参照版本代码进行对比以获得原始代码差异日志,然后对原始代码差异日志进行指定代码块检测,并根据检测得到的检测结果对原始代码差异日志进行修改以得到修改后的代码差异日志,最后再根据待测版本代码和修改后的代码差异日志进行差异覆盖率测试,从而能够实现在测试差异代码之前将差异代码中的指定代码块进行过滤,提高差异覆盖率测试的测试效率。
更进一步地,根据待测版本代码和修改后的代码差异日志进行差异覆盖率测试的步骤之后,还包括:根据进行差异覆盖率测试所得到的测试结果生成差异覆盖率报告。
其中,测试服务器在进行差异覆盖率测试之后,可以根据进行差异覆盖率测试所得到的测试结果生成差异覆盖率报告。
在一个实施例中,上述实施例中提到的将待测版本代码和目标参照版本代码进行对比,以获得原始代码差异日志的步骤,在执行时可以具体包括如图2所示的步骤:
S121:将待测版本代码和目标参照版本代码进行对比,确定出待测版本代码相比目标参照版本代码存在的所有差异代码,该所有差异代码包括至少一行差异代码。
S122:确定每行差异代码在待测版本代码中对应的类名和行数信息。
S123:以字典形式将所有差异代码对应的类名和行数信息进行存储,得到原始代码差异日志。
在本实施例中,原始代码差异日志的存储结构可以采用字典数据结构。具体地,测试服务器可以通过diff工具来对比待测版本代码和目标参照版本代码,从而确定出待测版本代码相比目标参照版本代码存在的所有差异代码,之后提取每行差异代码在待测版本代码中对应的类名(即类文件的文件名)和行数信息(即代码行数值),并以字典的形式将所有差异代码对应的类名和行数信息进行存储得到原始代码差异日志。进一步地,根据实际场景需要可以将该原始代码差异日志等存储到本地或远程服务器。
在一种实施方式中,在存储时,可以根据包括有差异代码的类文件(即待测类文件)的文件名来设置键值对中的键(即key),将该类文件中包括的差异代码的代码行数值作为该键对应的值(即value)。字典中可以包括多个键值对(key-value),每个键值对中的值(value)可能包括一个或多个代码行数值,一个键值对中的一个代码行数值可以唯一地表示一行待测版本代码相比目标参照版本代码存在的差异代码。所以一个键值对可以表示待测版本代码中一个待测类文件中有哪些行的代码发生了改变,或者说,一个待测类文件中的哪几行代码属于差异代码。其中,差异代码是指待测版本代码中相比目标参照版本代码发生改变了的代码。比如,基于上述例子,假设待测版本代码中的类文件B和目标参照版本代码中的B’类文件内容一致,待测版本代码中的类文件A包括abcd四行代码,而目标参照版本代码中的类文件A’包括abef四行代码,此时可以将类文件A和类文件A’这两个类文件进行对比,对比后可以确定类文件A中存在c和d这两行差异代码,其在类文件A中的位置分别是第三行和第四行,此时可以根据类文件A的文件名“A”来设置键值对的键,并根据差异代码的代码行数值来设置该键对应的值,如将键设置为“pack_A”,将“三”和“四”这两个代码行数值作为“pack_A”这个键(key)对应的值(value),并将其记录到代码差异日志中,示例性地,该键值对的形式可以表示为{pack_A,“3,4”}。
在一个实施例中,上述实施例中的对待测版本代码进行指定代码块检测,根据检测得到的检测结果对原始代码差异日志进行修改,得到修改后的代码差异日志的步骤,在执行时可以具体包括如图3所示的步骤:
S131:获取待测版本代码中所有待测类文件的代码。
在本实施例中,待测版本代码可能存储在一个文件夹中的多个类文件中,可以找到该文件夹,然后从找到其中的待测类文件,并读取其中的代码。
S132:根据任一个待测类文件的代码对原始代码差异日志进行修改,在根据所有待测类文件的代码对原始代码差异日志进行修改后,获得修改后的代码差异日志。
在本实施例中,根据任一个待测类文件的代码对原始代码差异日志进行修改的步骤,包括:对任一个待测类文件的代码进行解析,得到该待测类文件对应的源码树,检测该待测类文件对应的源码树中是否包含指定代码块,若该源码树中包含指定代码块,确定出该源码树中包含的每个指定代码块在该待测类文件中的位置信息,根据每个指定代码块在该待测类文件中的位置信息对原始代码差异日志进行修改。
在一个实施方式中,上述检测该待测类文件对应的源码树中是否包含指定代码块的步骤,包括:
遍历该待测类文件对应的源码树所包括的每个方法节点所对应的代码数据,依次检测每个方法节点对应的代码数据中是否包含预指定属性的代码数据;其中,预指定属性包括catch数据或statements属性;
若检测到任一个方法节点对应的代码数据中包含预指定属性的代码数据,则确定该待测类文件对应的源码树中包含指定代码块。
具体地,测试服务器检测任一个待测类文件对应的源码树的流程可以如图4所示。测试服务器依次检测源码树中包含的方法节点的方法body代码数据,判断其中是否包含catch属性的代码数据,如果有包含catch属性的代码数据,则对该catch代码块即该catch属性的代码数据进行分析,并且确定出该catch代码块在待测类文件中的位置信息,即该catch代码块所包含的各行差异代码在待测类文件中所处的行数,之后再继续对下一方法节点进行检测;其中,如果方法节点的方法body代码数据中没有包含catch属性的代码数据,则依次检测该方法节点的子节点中是否包含statements属性的代码数据,如果有包含statements属性的代码数据,则对该catch代码块(指catch属性的代码数据和statements属性的代码数据)进行分析,并且确定出该catch代码块在待测类文件中的位置信息。
在一个实施方式中,上述根据每个指定代码块在该待测类文件中的位置信息对原始代码差异日志进行修改的步骤,包括:
根据该待测类文件的文件名确定出原始代码差异日志中与该待测类文件对应的目标键值对;
根据每个指定代码块在该待测类文件中的位置信息对目标键值对的键值信息进行修改。
具体地,由于原始代码差异日志中的键值对的键名信息是根据待测类文件的文件名来生成的,因此,这里可以按照预设拼装规则,基于待测类文件的文件名来拼装出相应的键(即key),然后根据每个指定代码块在该待测类文件中的位置信息对该键对应的键值信息进行修改。比如,假设目标键值对是{pack_A,“3,4,7,9”},而指定代码块对应的待测类文件是A,该指定代码块的位置信息“3”和“4”,此时可以生成键名信息“pack_A”,然后向存储该原始代码差异日志的数据库发送用于删除(或称为移除)与“pack_A”对应的键值信息(即value)中的“3”和“4”这两个值的指令,该指令生效之后,目标键值对即由{pack_A,“3,4,7,9”}变为{pack_A,“7,9”}。
在一个实施例中,上述实施例中的根据待测版本代码和修改后的代码差异日志进行差异覆盖率测试的步骤,包括:
根据所述修改后的代码差异日志文件为所述待测版本代码中的每行差异代码设置待测标识;
使用覆盖率测试工具对设置了待测标识的待测版本代码进行差异覆盖率测试。
具体地,测试服务器根据该修改后的代码差异日志给待测版本代码中的每行差异代码设置待测标识,待测标识用于表示设置有待测标识的该行代码需要进行差异覆盖率测试。待测标识可以由测试人员进行设置,比如可以设置为“*”、“++”等字符,本实施例对此不进行限制。
其中,测试服务器可以根据修改后的代码差异日志文件中包含的各个代码行数标识来给待测版本代码设置待测标识。其中,可以找到待测版本代码中与该代码差异日志包括的各个键值对对应的类文件,然后基于各个键值对中的代码行数标识来确定相应类文件中需要设置待测标识的代码行,并为其设置待测标识。示例性地,假如该修改后的代码差异文件包括{pack_A,“3,4”}、和{pack_B,“1,2”}这两个键值对,那么可以先找到第一个键值对所对应的类文件A,然后为类文件A中的第3行和第4行代码设置待测标识,同理可以找到第二个键值对所对应的类文件B,然后为类文件B中的第1行和第2行代码设置待测标识。
进一步地,测试服务器中可以集成代码覆盖率测试工具,比如,EMMA、JaCoCo(JavaCode Coverage),然后通过集成的代码覆盖率工具来对该设置了待测标识的待测版本代码进行差异覆盖率测试。
基于相同的发明构思,本发明还提供了一种差异覆盖率测试装置。在一个实施例中,如图5所示,该差异覆盖率测试装置包括以下模块:
版本代码获取模块110,用于响应于测试指令,获取待测软件的待测版本代码和目标基线版本代码;
第一差异日志获得模块120,用于确定待测版本代码和目标基线版本代码之间的原始代码差异日志;
第二差异日志获得模块130,用于对待测版本代码进行指定代码块检测,根据检测得到的检测结果对原始代码差异日志进行修改,得到修改后的代码差异日志;
测试模块140,用于根据待测版本代码和修改后的代码差异日志进行差异覆盖率测试。
在一个实施例中,待测版本代码包括多个类文件的代码,该多个类文件中包括至少一个待检测类文件,待测类文件是指包含差异代码的类文件;
原始代码差异日志中包括至少一个键值对,任一个键值对包括键名信息和键值信息,原始代码差异日志中包括的键值对的数量与待测版本代码包括待检测类文件的数量相同。
在一个实施例中,第二差异日志获得模块,包括:
待测类代码获取子模块,用于获取待测版本代码中所有待测类文件的代码;
第二差异日志获得子模块,用于根据任一个待测类文件的代码对原始代码差异日志进行修改,在根据所有待测类文件的代码对原始代码差异日志进行修改后,获得修改后的代码差异日志。具体地,该日志修改子模块在根据任一个待测类文件的代码对原始代码差异日志进行修改时,具体用于对任一个待测类文件的代码进行解析,得到该待测类文件对应的源码树,检测该待测类文件对应的源码树中是否包含指定代码块,若该源码树中包含指定代码块,确定出该源码树中包含的每个指定代码块在该待测类文件中的位置信息,根据每个指定代码块在该待测类文件中的位置信息对原始代码差异日志进行修改。
在一个实施例中,日志修改子模块,包括:
目标键值对确定单元,用于根据该待测类文件的文件名确定出原始代码差异日志中与该待测类文件对应的目标键值对;
键值信息修改单元,用于根据每个指定代码块在该待测类文件中的位置信息对目标键值对的键值信息进行修改。
在一个实施例中,日志修改子模块,包括:
遍历检测单元,用于遍历该待测类文件对应的源码树所包括的每个方法节点所对应的代码数据,依次检测每个方法节点对应的代码数据中是否包含预指定属性的代码数据;其中,预指定属性包括catch数据或statements属性;
指定代码块检测单元,用于在检测到任一个方法节点对应的代码数据中包含预指定属性的代码数据,则确定该待测类文件对应的源码树中包含指定代码块。
在一个实施例中,第一差异日志获得模块,包括:
版本代码对比子模块,用于将待测版本代码和目标参照版本代码进行对比,确定出待测版本代码中相比目标参照版本代码存在的所有差异代码,该所有差异代码包括至少一行差异代码;
差异代码相关信息确定子模块,用于确定每行差异代码在待测版本代码中对应的类名和行数信息;
第一差异日志获得子模块,用于以字典形式将待测版本代码中所有差异代码对应的类名和行数信息进行存储,得到原始代码差异日志。
在一个实施例中,测试模块,包括:
待测标识设置子模块,用于根据该修改后的代码差异日志文件为待测版本代码中的每行差异代码设置待测标识;
测试子模块,用于使用覆盖率测试工具对设置了待测标识的待测版本代码进行差异覆盖率测试;
在一个实施例中,该差异覆盖率测试装置还包括差异覆盖率报告生成模块。其中,该差异覆盖率报告生成模块,用于根据进行差异覆盖率测试所得到的测试结果生成差异覆盖率报告。
关于差异覆盖率测试装置的具体限定可以参见上文中对于差异覆盖率测试方法的限定,在此不再赘述。上述差异覆盖率测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,其内部结构图可以如图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储待测版本代码和目标参照版本代码、生成的代码差异日志以及差异覆盖率报告等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种差异覆盖率测试方法。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
响应于测试指令,获取待测软件的待测版本代码和目标基线版本代码;确定待测版本代码和目标基线版本代码之间的原始代码差异日志;对待测版本代码进行指定代码块检测,根据检测得到的检测结果对原始代码差异日志进行修改,得到修改后的代码差异日志;根据待测版本代码和修改后的代码差异日志进行差异覆盖率测试。
在一个实施例中,待测版本代码包括多个类文件的代码,该多个类文件中包括至少一个待检测类文件,待测类文件是指包含差异代码的类文件;原始代码差异日志中包括至少一个键值对,任一个键值对包括键名信息和键值信息,原始代码差异日志中包括的键值对的数量与待测版本代码包括待检测类文件的数量相同。
在一个实施例中,处理器执行计算机程序,实现对待测版本代码进行指定代码块检测,根据检测得到的检测结果对原始代码差异日志进行修改,得到修改后的代码差异日志时,还实现以下步骤:
获取待测版本代码中所有待测类文件的代码;根据任一个待测类文件的代码对原始代码差异日志进行修改,包括:对任一个待测类文件的代码进行解析,得到该待测类文件对应的源码树,检测该待测类文件对应的源码树中是否包含指定代码块,若该源码树中包含指定代码块,确定出该源码树中包含的每个指定代码块在该待测类文件中的位置信息,根据每个指定代码块在该待测类文件中的位置信息对原始代码差异日志进行修改;在根据所有待测类文件的代码对原始代码差异日志进行修改后,获得修改后的代码差异日志。
在一个实施例中,处理器执行计算机程序,实现根据每个指定代码块在该待测类文件中的位置信息对原始代码差异日志进行修改时,还实现以下步骤:
根据该待测类文件的文件名确定出原始代码差异日志中与该待测类文件对应的目标键值对;根据每个指定代码块在该待测类文件中的位置信息对目标键值对的键值信息进行修改。
在一个实施例中,处理器执行计算机程序,实现检测该待测类文件对应的源码树中是否包含指定代码块时,还实现以下步骤:
遍历该待测类文件对应的源码树所包括的每个方法节点所对应的代码数据,依次检测每个方法节点对应的代码数据中是否包含预指定属性的代码数据;其中,预指定属性包括catch数据或statements属性;若检测到任一个方法节点对应的代码数据中包含预指定属性的代码数据,则确定该待测类文件对应的源码树中包含指定代码块。
在一个实施例中,处理器执行计算机程序,实现将待测版本代码和目标参照版本代码进行对比,以获得原始代码差异日志时,还实现以下步骤:
将待测版本代码和目标参照版本代码进行对比,确定出待测版本代码中相比目标参照版本代码存在的所有差异代码,该所有差异代码包括至少一行差异代码;确定每行差异代码在待测版本代码中对应的类名和行数信息;以字典形式将待测版本代码中所有差异代码对应的类名和行数信息进行存储,得到原始代码差异日志。
在一个实施例中,处理器执行计算机程序时,实现根据待测版本代码和修改后的代码差异日志进行差异覆盖率测试时,还实现以下步骤:
根据该修改后的代码差异日志文件为待测版本代码中的每行差异代码设置待测标识;
使用覆盖率测试工具对设置了待测标识的待测版本代码进行差异覆盖率测试。
在一个实施例中,处理器执行计算机程序时,实现根据待测版本代码和修改后的代码差异日志进行差异覆盖率测试的步骤之后,还实现以下步骤:
根据进行差异覆盖率测试所得到的测试结果生成差异覆盖率报告。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
响应于测试指令,获取待测软件的待测版本代码和目标基线版本代码;确定待测版本代码和目标基线版本代码之间的原始代码差异日志;对待测版本代码进行指定代码块检测,根据检测得到的检测结果对原始代码差异日志进行修改,得到修改后的代码差异日志;根据待测版本代码和修改后的代码差异日志进行差异覆盖率测试。
在一个实施例中,待测版本代码包括多个类文件的代码,该多个类文件中包括至少一个待检测类文件,待测类文件是指包含差异代码的类文件;原始代码差异日志中包括至少一个键值对,任一个键值对包括键名信息和键值信息,原始代码差异日志中包括的键值对的数量与待测版本代码包括待检测类文件的数量相同。
在一个实施例中,计算机程序被处理器执行,对待测版本代码进行指定代码块检测,根据检测得到的检测结果对原始代码差异日志进行修改,得到修改后的代码差异日志时,还实现以下步骤:
获取待测版本代码中所有待测类文件的代码;根据任一个待测类文件的代码对原始代码差异日志进行修改,包括:对任一个待测类文件的代码进行解析,得到该待测类文件对应的源码树,检测该待测类文件对应的源码树中是否包含指定代码块,若该源码树中包含指定代码块,确定出该源码树中包含的每个指定代码块在该待测类文件中的位置信息,根据每个指定代码块在该待测类文件中的位置信息对原始代码差异日志进行修改;在根据所有待测类文件的代码对原始代码差异日志进行修改后,获得修改后的代码差异日志。
在一个实施例中,计算机程序被处理器执行,根据每个指定代码块在该待测类文件中的位置信息对原始代码差异日志进行修改时,还实现以下步骤:
根据该待测类文件的文件名确定出原始代码差异日志中与该待测类文件对应的目标键值对;根据每个指定代码块在该待测类文件中的位置信息对目标键值对的键值信息进行修改。
在一个实施例中,计算机程序被处理器执行,检测该待测类文件对应的源码树中是否包含指定代码块时,还实现以下步骤:
遍历该待测类文件对应的源码树所包括的每个方法节点所对应的代码数据,依次检测每个方法节点对应的代码数据中是否包含预指定属性的代码数据;其中,预指定属性包括catch数据或statements属性;若检测到任一个方法节点对应的代码数据中包含预指定属性的代码数据,则确定该待测类文件对应的源码树中包含指定代码块。
在一个实施例中,计算机程序被处理器执行,将待测版本代码和目标参照版本代码进行对比,以获得原始代码差异日志时,还实现以下步骤:
将待测版本代码和目标参照版本代码进行对比,确定出待测版本代码中相比目标参照版本代码存在的所有差异代码,该所有差异代码包括至少一行差异代码;确定每行差异代码在待测版本代码中对应的类名和行数信息;以字典形式将待测版本代码中所有差异代码对应的类名和行数信息进行存储,得到原始代码差异日志。
在一个实施例中,计算机程序被处理器执行,根据待测版本代码和修改后的代码差异日志进行差异覆盖率测试时,还实现以下步骤:
根据该修改后的代码差异日志文件为待测版本代码中的每行差异代码设置待测标识;
使用覆盖率测试工具对设置了待测标识的待测版本代码进行差异覆盖率测试。
在一个实施例中,计算机程序被处理器执行,根据待测版本代码和修改后的代码差异日志进行差异覆盖率测试的步骤之后,还实现以下步骤:
根据进行差异覆盖率测试所得到的测试结果生成差异覆盖率报告。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种差异覆盖率测试方法,其特征在于,所述方法包括:
响应于测试指令,获取待测软件的待测版本代码和目标基线版本代码;
确定所述待测版本代码和所述目标基线版本代码之间的原始代码差异日志;
对所述待测版本代码进行指定代码块检测,根据检测得到的检测结果对所述原始代码差异日志进行修改,得到修改后的代码差异日志;
根据所述待测版本代码和所述修改后的代码差异日志进行差异覆盖率测试。
2.如权利要求1所述的差异覆盖率测试方法,其特征在于,
所述待测版本代码包括多个类文件的代码,所述多个类文件中包括至少一个待检测类文件,所述待测类文件是指包含差异代码的类文件;
所述原始代码差异日志中包括至少一个键值对,任一个所述键值对包括键名信息和键值信息,所述原始代码差异日志中包括的键值对的数量与所述待测版本代码包括待检测类文件的数量相同。
3.如权利要求2所述的差异覆盖率测试方法,其特征在于,
所述对所述待测版本代码进行指定代码块检测,根据检测得到的检测结果对所述原始代码差异日志进行修改,得到修改后的代码差异日志的步骤,包括以下步骤:
获取所述待测版本代码中所有所述待测类文件的代码;
根据任一个所述待测类文件的代码对所述原始代码差异日志进行修改,包括:对任一个所述待测类文件的代码进行解析,得到该待测类文件对应的源码树,检测该待测类文件对应的源码树中是否包含指定代码块,若该源码树中包含指定代码块,确定出该源码树中包含的每个所述指定代码块在该待测类文件中的位置信息,根据每个所述指定代码块在该待测类文件中的位置信息对所述原始代码差异日志进行修改;
在根据所有所述待测类文件的代码对所述原始代码差异日志进行修改后,获得修改后的代码差异日志。
4.如权利要求3所述的差异覆盖率测试方法,其特征在于,
所述根据每个所述指定代码块在该待测类文件中的位置信息对所述原始代码差异日志进行修改的步骤,包括:
根据该待测类文件的文件名确定出所述原始代码差异日志中与该待测类文件对应的目标键值对;
根据每个所述指定代码块在该待测类文件中的位置信息,对所述目标键值对的键值信息进行修改。
5.如权利要求3所述的差异覆盖率测试方法,其特征在于,
所述检测该待测类文件对应的源码树中是否包含指定代码块的步骤,包括:
遍历该待测类文件对应的源码树所包括的每个方法节点所对应的代码数据,依次检测每个所述方法节点对应的代码数据中是否包含预指定属性的代码数据;其中,预指定属性包括catch数据或statements属性;
若检测到任一个所述方法节点对应的代码数据中包含预指定属性的代码数据,则确定该待测类文件对应的源码树中包含指定代码块。
6.如权利要求1所述的差异覆盖率测试方法,其特征在于,
所述将所述待测版本代码和所述目标参照版本代码进行对比,以获得原始代码差异日志的步骤,包括:
将所述待测版本代码和所述目标参照版本代码进行对比,确定出所述待测版本代码中相比所述目标参照版本代码存在的所有差异代码,所述所有差异代码包括至少一行差异代码;
确定每行差异代码在所述待测版本代码中对应的类名和行数信息;
以字典形式将所述待测版本代码中所有差异代码对应的类名和行数信息进行存储,得到原始代码差异日志。
7.如权利要求1-6任一项所述的差异覆盖率测试方法,其特征在于,
所述根据所述待测版本代码和所述修改后的代码差异日志进行差异覆盖率测试的步骤,包括:
根据所述修改后的代码差异日志文件为所述待测版本代码中的每行差异代码设置待测标识;
使用覆盖率测试工具对设置了待测标识的待测版本代码进行差异覆盖率测试;
优选地,所述根据所述待测版本代码和所述修改后的代码差异日志进行差异覆盖率测试的步骤之后,还包括:
根据进行所述差异覆盖率测试所得到的测试结果生成差异覆盖率报告。
8.一种差异覆盖率测试装置,其特征在于,包括:
版本代码获取模块,用于响应于测试指令,获取待测软件的待测版本代码和目标基线版本代码;
第一差异日志获得模块,用于确定所述待测版本代码和所述目标基线版本代码之间的原始代码差异日志;
第二差异日志获得模块,用于对所述待测版本代码进行指定代码块检测,根据检测得到的检测结果对所述原始代码差异日志进行修改,得到修改后的代码差异日志;
测试模块,用于根据所述待测版本代码和所述修改后的代码差异日志进行差异覆盖率测试。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202011262104.1A 2020-11-12 2020-11-12 差异覆盖率测试方法、装置、计算机设备和存储介质 Active CN112363936B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011262104.1A CN112363936B (zh) 2020-11-12 2020-11-12 差异覆盖率测试方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011262104.1A CN112363936B (zh) 2020-11-12 2020-11-12 差异覆盖率测试方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN112363936A true CN112363936A (zh) 2021-02-12
CN112363936B CN112363936B (zh) 2024-08-13

Family

ID=74515411

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011262104.1A Active CN112363936B (zh) 2020-11-12 2020-11-12 差异覆盖率测试方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN112363936B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114416545A (zh) * 2022-01-06 2022-04-29 马上消费金融股份有限公司 确定测试代码覆盖率的方法、装置和电子设备
CN114706749A (zh) * 2022-03-03 2022-07-05 网宿科技股份有限公司 代码覆盖率的确定方法、装置、电子设备及存储介质
CN114706785A (zh) * 2022-04-22 2022-07-05 山东云海国创云计算装备产业创新中心有限公司 一种覆盖率过滤文件生成方法、装置、设备及介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294503A1 (en) * 2005-06-24 2006-12-28 Microsoft Corporation Code coverage analysis
US20130212564A1 (en) * 2012-02-14 2013-08-15 Alibaba Group Holding Limited Code coverage rate determination method and system
CN106681725A (zh) * 2016-12-29 2017-05-17 广州华多网络科技有限公司 代码量统计方法及装置
CN106681912A (zh) * 2016-12-08 2017-05-17 武汉斗鱼网络科技有限公司 用于Android系统的代码覆盖率的自动化测试方法及装置
CN107870849A (zh) * 2016-09-28 2018-04-03 平安科技(深圳)有限公司 测试日志的处理方法和装置
CN107957956A (zh) * 2017-12-26 2018-04-24 广州品唯软件有限公司 软件差异覆盖率的测试方法、装置及可读存储介质
CN109857631A (zh) * 2018-11-02 2019-06-07 平安科技(深圳)有限公司 基于人工智能的代码覆盖率统计方法、装置、设备及存储介质
CN110888811A (zh) * 2019-11-21 2020-03-17 望海康信(北京)科技股份公司 代码覆盖率信息处理方法、装置、电子设备及介质
CN111522708A (zh) * 2020-04-10 2020-08-11 星环信息科技(上海)有限公司 一种日志记录方法、计算机设备及存储介质
CN112363937A (zh) * 2020-11-12 2021-02-12 广州品唯软件有限公司 差异覆盖率测试方法、装置、计算机设备和存储介质

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060294503A1 (en) * 2005-06-24 2006-12-28 Microsoft Corporation Code coverage analysis
US20130212564A1 (en) * 2012-02-14 2013-08-15 Alibaba Group Holding Limited Code coverage rate determination method and system
CN107870849A (zh) * 2016-09-28 2018-04-03 平安科技(深圳)有限公司 测试日志的处理方法和装置
CN106681912A (zh) * 2016-12-08 2017-05-17 武汉斗鱼网络科技有限公司 用于Android系统的代码覆盖率的自动化测试方法及装置
CN106681725A (zh) * 2016-12-29 2017-05-17 广州华多网络科技有限公司 代码量统计方法及装置
CN107957956A (zh) * 2017-12-26 2018-04-24 广州品唯软件有限公司 软件差异覆盖率的测试方法、装置及可读存储介质
CN109857631A (zh) * 2018-11-02 2019-06-07 平安科技(深圳)有限公司 基于人工智能的代码覆盖率统计方法、装置、设备及存储介质
CN110888811A (zh) * 2019-11-21 2020-03-17 望海康信(北京)科技股份公司 代码覆盖率信息处理方法、装置、电子设备及介质
CN111522708A (zh) * 2020-04-10 2020-08-11 星环信息科技(上海)有限公司 一种日志记录方法、计算机设备及存储介质
CN112363937A (zh) * 2020-11-12 2021-02-12 广州品唯软件有限公司 差异覆盖率测试方法、装置、计算机设备和存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
孟浩等: "基于测试内容及覆盖率的嵌入式软件单元测试工具比对分析", 电脑编程技巧与维护, no. 10, 18 May 2017 (2017-05-18), pages 32 - 34 *
张娜等: "基于多种群进化算法的测试用例优先级排序研究", 浙江理工大学学报(自然科学版), no. 02, 12 December 2017 (2017-12-12), pages 97 - 102 *
李树芳;安金霞;郑鹏飞;王猛;: "面向大型实时软件的测试覆盖率快速分析方法", 西南科技大学学报, no. 03 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114416545A (zh) * 2022-01-06 2022-04-29 马上消费金融股份有限公司 确定测试代码覆盖率的方法、装置和电子设备
CN114706749A (zh) * 2022-03-03 2022-07-05 网宿科技股份有限公司 代码覆盖率的确定方法、装置、电子设备及存储介质
CN114706785A (zh) * 2022-04-22 2022-07-05 山东云海国创云计算装备产业创新中心有限公司 一种覆盖率过滤文件生成方法、装置、设备及介质
CN114706785B (zh) * 2022-04-22 2024-03-26 山东云海国创云计算装备产业创新中心有限公司 一种覆盖率过滤文件生成方法、装置、设备及介质

Also Published As

Publication number Publication date
CN112363936B (zh) 2024-08-13

Similar Documents

Publication Publication Date Title
CN112363936B (zh) 差异覆盖率测试方法、装置、计算机设备和存储介质
CN112363937B (zh) 差异覆盖率测试方法、装置、计算机设备和存储介质
US8397104B2 (en) Creation of test plans
CN108459954B (zh) 应用程序漏洞检测方法和装置
CN112560045A (zh) 应用程序漏洞检测方法、装置、计算机设备和存储介质
CN109359045B (zh) 一种测试方法、装置、设备和存储介质
CN108694320B (zh) 一种多安全环境下敏感应用动态度量的方法及系统
CN112559365A (zh) 一种测试用例筛选方法、装置、计算机设备和存储介质
CN110134595B (zh) Svn资源库测试前的分析方法、装置、计算机设备
CN110737892B (zh) 一种针对apc注入的检测方法和相关装置
CN111884876A (zh) 一种网络协议的协议类型检测方法、装置、设备及介质
CN111221721B (zh) 一种单元测试案例自动化录制和执行方法及装置
CN108399125B (zh) 自动化测试方法、装置、计算机设备和存储介质
CN109657475A (zh) 代码漏洞排查方法、装置、设备及存储介质
CN116383833A (zh) 软件程序代码的测试方法及其装置、电子设备、存储介质
CN112559343B (zh) 测试路径生成方法及相关设备
CN111240987A (zh) 移植程序检测方法、装置、电子设备及计算机可读存储介质
CN112579440B (zh) 一种虚拟测试依赖对象的确定方法及装置
CN112346981A (zh) 联调测试覆盖率检测方法及系统
CN109189673B (zh) 一种软件的测试方案、测试用例的确定方法及装置
CN116610575A (zh) 一种软件测试的方法、装置及电子设备
CN113031995B (zh) 一种更新规则的方法、装置、存储介质以及电子设备
CN113656318A (zh) 软件版本测试方法、装置及计算机设备
CN113672514A (zh) 测试方法、装置、服务器及存储介质
CN110795142B (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