WO2021196674A1 - 系统代码的测试方法、装置、计算机设备和存储介质 - Google Patents

系统代码的测试方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
WO2021196674A1
WO2021196674A1 PCT/CN2020/132594 CN2020132594W WO2021196674A1 WO 2021196674 A1 WO2021196674 A1 WO 2021196674A1 CN 2020132594 W CN2020132594 W CN 2020132594W WO 2021196674 A1 WO2021196674 A1 WO 2021196674A1
Authority
WO
WIPO (PCT)
Prior art keywords
code
test node
tested
test
function
Prior art date
Application number
PCT/CN2020/132594
Other languages
English (en)
French (fr)
Inventor
刘忠华
Original Assignee
平安科技(深圳)有限公司
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 平安科技(深圳)有限公司 filed Critical 平安科技(深圳)有限公司
Publication of WO2021196674A1 publication Critical patent/WO2021196674A1/zh

Links

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/362Software debugging
    • G06F11/3628Software debugging of optimised code
    • 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
    • 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

Abstract

一种系统代码的测试方法、装置、计算机设备和存储介质,其中方法在执行的时候,首选读取待测试系统的全部执行代码,得到各待测试功能对应的代码地址、接口信息和指定参数等数据,进而得到测试各待测功能的测试组件,并根据待测试系统的执行代码的运行逻辑对各测试组件进行拓扑关系的整理,然后根据对应的拓扑关系对待测试系统的执行代码进行测试。该方法可以一次性地完成整个待测试系统中的多个功能项的测试,大大提高了对待测试系统的执行代码的测试效率。

Description

系统代码的测试方法、装置、计算机设备和存储介质
本申请要求于2020年3月30日提交中国专利局、申请号为2020102387230,发明名称为“系统代码的测试方法、装置、计算机设备和存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及到人工智能,尤其涉及逻辑程序设计的代码测试领域,具体涉及到一种系统代码的测试方法、装置、计算机设备和存储介质。
背景技术
在软件开发生命周期里,测试是一个非常必要的过程,因为测试是保证系统上线后功能可用,易用,不发生生产问题的重要一环,因此如何保证测试的准确和高效性就显得尤为重要。
目前提升测试效率和准确性的方法,一般有两种方法,一是通过采集重放操作来完成,即通过录制操作的方法,将网页上点击测试时需要做的操作记录下来,下次可通过重放来完成自动化操作,省去人工的时间;二是通过编写测试脚本或程序的方式,实现对接口的调用,校验返回值与预定义值是否相同,如果相同则认为该项测试通过。发明人发现,上述两种方式,对于简单的页面测试或者接口测试可以适用,但对于复杂的系统就力不从心了。上述两种方式,基本都只能针对单点测试,不能完成整个功能项的测试。所以,提供一种可以完成整个功能项的测试方法是亟需解决的问题。
技术问题
本申请的主要目的为提供一种系统代码的测试方法、装置、计算机设备和存储介质,旨在解决现有技术中无法实现一次性自动完成对整个系统中各功能的测试问题。
技术解决方案
为了实现上述发明目的,本申请提出一种系统代码的测试方法,包括:
扫描待测试系统的执行代码,读取各待测试功能对应的代码地址、接口信息和指定参数;
根据各待测试功能对应的代码地址、接口信息和指定参数,获取对应各待测功能的测试节点组件;
获取所述执行代码的运行逻辑,并根据所述执行代码的运行逻辑,组建各所述测试节点组件的拓扑关系;
依据所述拓扑关系,执行各所述测试节点组件,完成对所述待测试系统的测试。
本申请还提供一种系统代码的测试装置,包括:
扫描读取单元,用于扫描待测试系统的执行代码,读取各待测试功能对应的代码地址、接口信息和指定参数;
获取组件单元,用于根据各待测试功能对应的代码地址、接口信息和指定参数,获取对应各待测功能的测试节点组件;
组建拓扑单元,用于获取所述执行代码的运行逻辑,并根据所述执行代码的运行逻辑,组建各所述测试节点组件的拓扑关系;
执行测试单元,用于依据所述拓扑关系,执行各所述测试节点组件,完成对所述待测试系统的测试。
本申请还提供一种一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现一种系统代码的测试方法,所述方法包括:
扫描待测试系统的执行代码,读取各待测试功能对应的代码地址、接口信息和指定参数;
根据各待测试功能对应的代码地址、接口信息和指定参数,获取对应各待测功能的测试节点组件;
获取所述执行代码的运行逻辑,并根据所述执行代码的运行逻辑,组建各所述测试节点组件的拓扑关系;
依据所述拓扑关系,执行各所述测试节点组件,完成对所述待测试系统的测试。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现一种系统代码的测试方法,所述方法包括:
扫描待测试系统的执行代码,读取各待测试功能对应的代码地址、接口信息和指定参数;
根据各待测试功能对应的代码地址、接口信息和指定参数,获取对应各待测功能的测试节点组件;
获取所述执行代码的运行逻辑,并根据所述执行代码的运行逻辑,组建各所述测试节点组件的拓扑关系;
依据所述拓扑关系,执行各所述测试节点组件,完成对所述待测试系统的测试。
有益效果
本申请的系统代码的测试方法、装置、计算机设备和存储介质,首选读取待测试系统的全部执行代码,得到各待测试功能对应的代码地址、接口信息和指定参数等数据,进而得到测试各待测功能的测试组件,并根据待测试系统的执行代码的运行逻辑对个测试组件进行拓扑关系的整理,然后根据对应的拓扑关系对待测试系统的执行代码进行测试。本申请可以一次性的完成整个待测试系统中的多个功能项的测试,大大提高了对待测试系统的执行代码的测试效率。
附图说明
图1 为本申请一实施例的系统代码的测试方法的流程示意图;
图2 为本申请一实施例的系统代码的测试装置的结构示意框图;
图3 为申请一实施例的计算机设备的结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
本发明的最佳实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例提供一种系统代码的测试方法,包括步骤:
S1、扫描待测试系统的执行代码,读取各待测试功能对应的代码地址、接口信息和指定参数;
S2、根据各待测试功能对应的代码地址、接口信息和指定参数,获取对应各待测功能的测试节点组件;
S3、获取所述执行代码的运行逻辑,并根据所述执行代码的运行逻辑,组建各所述测试节点组件的拓扑关系;
S4、依据所述拓扑关系,执行各所述测试节点组件,完成对所述待测试系统的测试。
在本实施例中,上述执行代码是开发者开发测试系统时所写的代码,会根据不同的要求或运行系统写成不同格式的代码,比如,安卓系统和苹果系统,其执行代码所对应的功能相同,但是其编写执行代码的语言不同。一套执行代码中会包括多个功能对应的不同代码,不同的代码具有对应的代码地址等。上述代码地址是指某功能对应的代码的地址,根据该地址可以查找到其对应的代码,然后对其进行测试;接口信息是指测试上述代码所需要调用的接口信息;指定参数是指测试上述代码需要的入参类型和入参的值等。
在得到代码地址、接口信息和指定参数后,既可以根据预先写好的节点组件生成脚本,自动生成测试节点组件,或者到指定的数据库中调用对应的测试节点组件等。每一个测试节点组件即为测试上述待测试系统中的一个功能的脚本组件。脚本组件是指对数据和方法的简单封装。
具体地,根据预先写好的节点组件生成脚本,自动生成测试节点组件,上述预先写好的节点组件是开发者预先写好并封装成组件的代码,该代码中留有需要填写的填空,而这些填空即为用于填写上述的代码地址、接口信息和指定参数,当把这些代码地址、接口信息和指定参数插入到对应的填空中后,即形成可以对某功能进行测试的测试节点组件。比如,上述某个待测试功能是点击第一界面上某个坐标处的按钮而打开第二界面,获取该功能对应的执行代码,从而获取到该段执行代码的代码地址、接口信息和指定参数等,具体地,代码地址即为该功能对应的执行代码待测试系统的执行代码中的地址信息,接口信息为该功能对应的需要调用的接口信息,指定参数是该按钮在第一界面的坐标信息等。将这些信息对应插入到预先写好的节点组件的填空中,使节点组件形成可以运行的脚本组件,当运行该脚本组件的时候,既可以对上述“点击第一界面上某个坐标处的按钮而打开第二界面”进行测试。上述预先写好的节点组件是一个通用的测试框架,当在框架中的填空中填入对应的内容既可以形成可以运行的脚本组件。
在到指定的数据库中调用对应的测试节点组件中,数据库是用户存储数据的存储空间,其中存储有大量的开发者预先编写好的测试节点组件。每一个预先编写的测试节点组件中都包含上述的代码地址、接口信息和指定参数,所以可以通过步骤S1中获取到的代码地址、接口信息和指定参数,通过关键字检索的方式到数据库中反向查找到对应的测试节点组件。
当所有的测试节点组件全部获取完成后,则将各测试节点组件进行关联,关联的依据则是各功能在实际使用过程中的运行顺序,或者预先设定的依赖关系等,然后根据关联关系组建各测试节点组件的拓扑关系,然后根据拓扑关系执行,依次启动各测试节点组件以完成对待测试系统的测试。
在一个实施例中,上述根据各待测试功能对应的代码地址、接口信息和指定参数,获取对应各待测功能的测试节点组件的步骤S2,包括:
S21、到预设的测试节点组件库中查找对应所述各待测试功能对应的代码地址、接口信息和指定参数的预设的第一测试节点组件;
S22、调用查找到的各所述第一测试节点组件,以及根据未查找到所述第一测试节点组件的剩余的其它代码地址、接口信息和指定参数生成对应的多个第二测试节点组件,其中,所述第一测试节点组件和个第二测试节点组件均为所述测试节点组件。
在本实施例中,上述测试节点组件库是一个存储有不同测试功能的测试节点组件的数据库,是开发者等研发人员提前整理好的数据库,一般设置有一个信息表格和多个不同测试功能的测试节点组件,信息表格中列有对应测试节点组件的代码地址、接口信息和指定参数的映射信息,相应的,每一个映射信息关联一个与其相应的测试节点组件。本实施例中,先到测试节点组件库中查找是否存在与读取到的代码地址、接口信息和指定参数对应的第一测试节点组件,如果有读取到的,则直接调用,如果有未读取到的,则根据未读取到第一测试节点的代码地址、接口信息和指定参数的映射信息生成对应的多个第二测试节点组件。即,先到测试节点组件库中查找得到一部分对应执行代码的测试节点组件,如果剩余有未查找到的对应代码地址、接口信息和指定参数应的测试节点组件,则根据预先写好的节点组件生成脚本自动生成对应的测试节点组件。这样可以节约测试时的运行资源,以及提高各测试节点组件的获取速度。
进一步地,上述根据未查找到所述第一测试节点组件的剩余的其它代码地址、接口信息和指定参数生成对应的多个第二测试节点组件的步骤S22之后,包括:
S23、将所述第二测试节点组件存储到所述测试节点组件库中。
在本实施例中,可以不断的丰富测试节点组件库中的测试节点组件,使测试节点组件得到复用的机会,为之后测试其他系统提供便利。具体地,上述测试节点组件库中最开始可以一个测试节点组件都没有,也可以是预先设置有开发者事先写好的一些测试节点组件。不同的待测试系统可能需要测试的功能不同,所以其需要的测试节点组件也不相同,显然,开发者预先写好的测试节点组件的数量很难覆盖到全部的测试功能。所以在不断地测试过程中,会根据未查找到所述第一测试节点组件的剩余的其它代码地址、接口信息和指定参数生成对应的多个第二测试节点组件(如上述的根据预先写好的节点组件生成脚本,自动生成测试节点组件),那么这些自动写好的第二测试节点组件不是用过之后就删除掉,而是将其存储到所述测试节点组件库中,这样就使其成为了可以直接调用的上述第一测试节点组件,进而使这些自动生成的测试节点组件可以被复用。需要注意的是,在将第二测试节点组件存储到所述测试节点组件库中的时候,将其对应的测试功能以及代码地址、接口信息和指定参数的映射信息等写入到上述的信息表格中。
在一个实施例中,上述依据所述拓扑关系,执行各所述测试节点组件,完成对所述待测试系统的测试的步骤S5之后,还包括:
S6、生成与所述拓扑关系对应的可视化拓扑图;
S7、在所述可视化拓扑图的各节点上显示各节点的测试结果。
在本实施例中,即生成可视化的测试报告,在此之前,需要在执行各测试节点组件的时候,同时记录各测试节点组件测试时的测试结果。在测试完成后,首先生成一个对应所述拓扑关系的可视化拓扑图,然后将各测试节点组件对应的测试结果对应的添加到可视化拓扑图的各节点上。在一个具体的实施例中,测试结果可以通过颜色表述,如测试通过为绿色,未通过为红色等。进一步地,点击可视化拓扑图傻瓜的红色,可以显示该测试节点未测试通过的原因等信息。
在一个实施例中,上述扫描待测试系统的执行代码,读取各待测试功能对应的代码地址、接口信息和指定参数的步骤S1,包括:
S11、在所述执行代码中查找预设的标记符,其中,所述标记符为开发者开发执行代码时写入的标记符;
S12、提取所述标记符对应的信息,其中,所述信息为所述代码地址、接口信息和指定参数。
在本实施例中,为了实现后期的自动获取到测试节点组件,需要能够自动的读取到各待测试功能对应的代码地址、接口信息和指定参数,所以开发者会在编写代码的时候,添加对应的标记符,以便于在执行代码中读取到对应的代码地址、接口信息和指定参数。即识别到标记符,就可以得到需要读取的信息,该信息即为代码地址、接口信息和指定参数等。
进一步地,上述提取所述标记符对应的信息的步骤S12,包括:
S121、判断所述标记符的类型,所述类型包括对应所述代码地址的地址标记符、对应所述接口信息的接口标记符、以及对应所述指定参数的参数标记符;
S121、根据所述标记符的类型,调用对应的提取规则,读取得到所述标记符对应的信息。
在本实施例中,因为代码地址、接口信息和指定参数的格式或者表现形式不同,所以提取的规则也不同,为了便于正确的提取到需要的信息,所以开发者将标记符进行区分,分别为对应所述代码地址的地址标记符、对应所述接口信息的接口标记符、以及对应所述指定参数的参数标记符,不同类型的标记符对应的提取规则不同,具体的提取规则是根据代码地址、接口信息和指定参数的表现形式等确定的,开发者可以很容易通过脚本实现,如读取标记符后的多少位字符、前多少位字符等,在此不做阐述。
在一个实施例中,上述获取所述执行代码的运行逻辑,并根据所述执行代码的运行逻辑,组建各所述测试节点组件的拓扑关系的步骤S3,包括:
S31、读取所述执行代码中各功能对应的代码序号,以及代码序号指向的次级代码序号,其中,所述代码序号和次级代码序号为开发者开发所述执行代码时写入的序号,所述次级代码序号是代码序号对应的功能测试完毕后,下一个或多个待测试功能对应的的代码的代码序号,所述次级代码序号的数量包括一个或多个;
S32、根据所述代码序号和所述次级代码序号确定所述执行代码的运行逻辑;
S33、根据所述运行逻辑组建各所述测试节点组件的拓扑关系。
在本实施例中,上述代码序号与次级代码序号仅是一种称呼,在不同的图谱关系中,代码序号可能变成次级代码序号,而次级代码序号可能变成次级代码序号,比如,待测试系统有三个测试节点,其序号分别为A、A1、A2,其执行顺序为A-A1-A2,那么A和A1之间的关系是,A是代码序号,A1是次级代码序号,而在A1和A2之间的关系是,A1是代码序号,A2是次级代码序号等。当获取到代码序号以及次级代码序号之后,既可以确定执行代码的运行逻辑,进而可以确定测试节点组件的拓扑关系。
本申请实施例的系统代码的测试方法,首选读取待测试系统的全部执行代码,得到各待测试功能对应的代码地址、接口信息和指定参数等数据,然后得到测试各待测功能的测试组件,并根据待测试系统的执行代码的运行逻辑对个测试组件进行拓扑关系的整理,最后根据对应的拓扑关系对待测试系统的执行代码进行测试。本申请可以一次性的完成整个待测试系统中的多个功能项的测试,大大提高了对待测试系统的执行代码的测试效率。
参照图2,本申请实施例还提供一种系统代码的测试装置,包括:
扫描读取单元10,用于扫描待测试系统的执行代码,读取各待测试功能对应的代码地址、接口信息和指定参数;
获取组件单元20,用于根据各待测试功能对应的代码地址、接口信息和指定参数,获取对应各待测功能的测试节点组件;
组建拓扑单元30,用于获取所述执行代码的运行逻辑,并根据所述执行代码的运行逻辑,组建各所述测试节点组件的拓扑关系;
执行测试单元40,用于依据所述拓扑关系,执行各所述测试节点组件,完成对所述待测试系统的测试。
在一个实施例中,上述获取组件单元20,包括:
查找模块,用于到预设的测试节点组件库中查找对应所述各待测试功能对应的代码地址、接口信息和指定参数的预设的第一测试节点组件;
调用生成模块,用于调用查找到的各所述第一测试节点组件,以及根据未查找到所述第一测试节点组件的剩余的其它代码地址、接口信息和指定参数生成对应的多个第二测试节点组件,其中,所述第一测试节点组件和个第二测试节点组件均为所述测试节点组件。
在一个实施例中,上述获取组件单元20,还包括:
存储模块,用于将所述第二测试节点组件存储到所述测试节点组件库中。
在一个实施例中,上述系统代码的测试装置,还包括:
生成单元,用于生成与所述拓扑关系对应的可视化拓扑图;
显示单元,用于在所述可视化拓扑图的各节点上显示各节点的测试结果。
在一个实施例中,上述扫描读取单元10,包括:
标记查找模块,用于在所述执行代码中查找预设的标记符,其中,所述标记符为开发者开发执行代码时写入的标记符;
提取信息模块,用于提取所述标记符对应的信息,其中,所述信息为所述代码地址、接口信息和指定参数。
在一个实施例中,上述提取信息模块,包括:
判断子模块,用于判断所述标记符的类型,所述类型包括对应所述代码地址的地址标记符、对应所述接口信息的接口标记符、以及对应所述指定参数的参数标记符;
提取子模块,用于根据所述标记符的类型,调用对应的提取规则,读取得到所述标记符对应的信息。
在一个实施例中,上述组建拓扑单元30,包括:
读取模块,用于读取所述执行代码中各功能对应的代码序号,以及代码序号指向的次级代码序号,其中,所述代码序号和次级代码序号为开发者开发所述执行代码时写入的序号,所述次级代码序号是代码序号对应的功能测试完毕后,下一个或多个待测试功能对应的的代码的代码序号,所述次级代码序号的数量包括一个或多个;
确定模块,用于根据所述代码序号和所述次级代码序号确定所述执行代码的运行逻辑;
组建模块,用于根据所述运行逻辑组建各所述测试节点组件的拓扑关系。
上述各单元、模块、子模块等均是执行上述系统代码的测试方法的装置,因此,不在展开一一说明。
参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是上述的管理服务器,或者管理节点对应的服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储各种脚本数据和组件等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种系统代码的测试方法。
上述处理器执行上述系统代码的测试方法,包括:
扫描待测试系统的执行代码,读取各待测试功能对应的代码地址、接口信息和指定参数;
根据各待测试功能对应的代码地址、接口信息和指定参数,获取对应各待测功能的测试节点组件;
获取所述执行代码的运行逻辑,并根据所述执行代码的运行逻辑,组建各所述测试节点组件的拓扑关系;
依据所述拓扑关系,执行各所述测试节点组件,完成对所述待测试系统的测试。
在一个实施例中,所述根据各待测试功能对应的代码地址、接口信息和指定参数,获取对应各待测功能的测试节点组件的步骤,包括:
到预设的测试节点组件库中查找对应所述各待测试功能对应的代码地址、接口信息和指定参数的预设的第一测试节点组件;
调用查找到的各所述第一测试节点组件,以及根据未查找到所述第一测试节点组件的剩余的其它代码地址、接口信息和指定参数生成对应的多个第二测试节点组件,其中,所述第一测试节点组件和个第二测试节点组件均为所述测试节点组件。
在一个实施例中,所述根据未查找到所述第一测试节点组件的剩余的其它代码地址、接口信息和指定参数生成对应的多个第二测试节点组件的步骤之后,包括:
将所述第二测试节点组件存储到所述测试节点组件库中。
在一个实施例中,所述依据所述拓扑关系,执行各所述测试节点组件,完成对所述待测试系统的测试的步骤之后,还包括:
生成与所述拓扑关系对应的可视化拓扑图;
在所述可视化拓扑图的各节点上显示各节点的测试结果。
在一个实施例中,所述扫描待测试系统的执行代码,读取各待测试功能对应的代码地址、接口信息和指定参数的步骤,包括:
在所述执行代码中查找预设的标记符,其中,所述标记符为开发者开发执行代码时写入的标记符;
提取所述标记符对应的信息,其中,所述信息为所述代码地址、接口信息和指定参数。
在一个实施例中,所述提取所述标记符对应的信息的步骤,包括:
判断所述标记符的类型,所述类型包括对应所述代码地址的地址标记符、对应所述接口信息的接口标记符、以及对应所述指定参数的参数标记符;
根据所述标记符的类型,调用对应的提取规则,读取得到所述标记符对应的信息。
在一个实施例中,所述获取所述执行代码的运行逻辑,并根据所述执行代码的运行逻辑,组建各所述测试节点组件的拓扑关系的步骤,包括:
读取所述执行代码中各功能对应的代码序号,以及代码序号指向的次级代码序号,其中,所述代码序号和次级代码序号为开发者开发所述执行代码时写入的序号,所述次级代码序号是代码序号对应的功能测试完毕后,下一个或多个待测试功能对应的的代码的代码序号,所述次级代码序号的数量包括一个或多个;
根据所述代码序号和所述次级代码序号确定所述执行代码的运行逻辑;
根据所述运行逻辑组建各所述测试节点组件的拓扑关系。
本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定。
本申请实施例的计算机设备,处理器在执行上述系统代码的测试方法时,首选读取待测试系统的全部执行代码,得到各待测试功能对应的代码地址、接口信息和指定参数等数据,进而得到测试各待测功能的测试组件,并根据待测试系统的执行代码的运行逻辑对个测试组件进行拓扑关系的整理,然后根据对应的拓扑关系对待测试系统的执行代码进行测试。本申请可以一次性的完成整个待测试系统中的多个功能项的测试,大大提高了对待测试系统的执行代码的测试效率。
本申请一实施例还提供一种计算机可读存储介质,所述计算机存储介质可以是非易失性,也可以是易失性,其上存储有计算机程序,计算机程序被处理器执行时实现一种系统代码的测试方法,包括:
扫描待测试系统的执行代码,读取各待测试功能对应的代码地址、接口信息和指定参数;
根据各待测试功能对应的代码地址、接口信息和指定参数,获取对应各待测功能的测试节点组件;
获取所述执行代码的运行逻辑,并根据所述执行代码的运行逻辑,组建各所述测试节点组件的拓扑关系;
依据所述拓扑关系,执行各所述测试节点组件,完成对所述待测试系统的测试。
处理器在执行上述系统代码的测试方法时,首选读取待测试系统的全部执行代码,得到各待测试功能对应的代码地址、接口信息和指定参数等数据,进而得到测试各待测功能的测试组件,并根据待测试系统的执行代码的运行逻辑对个测试组件进行拓扑关系的整理,然后根据对应的拓扑关系对待测试系统的执行代码进行测试。本申请可以一次性的完成整个待测试系统中的多个功能项的测试,大大提高了对待测试系统的执行代码的测试效率。
在一个实施例中,所述根据各待测试功能对应的代码地址、接口信息和指定参数,获取对应各待测功能的测试节点组件的步骤,包括:
到预设的测试节点组件库中查找对应所述各待测试功能对应的代码地址、接口信息和指定参数的预设的第一测试节点组件;
调用查找到的各所述第一测试节点组件,以及根据未查找到所述第一测试节点组件的剩余的其它代码地址、接口信息和指定参数生成对应的多个第二测试节点组件,其中,所述第一测试节点组件和个第二测试节点组件均为所述测试节点组件。
在一个实施例中,所述根据未查找到所述第一测试节点组件的剩余的其它代码地址、接口信息和指定参数生成对应的多个第二测试节点组件的步骤之后,包括:
将所述第二测试节点组件存储到所述测试节点组件库中。
在一个实施例中,所述依据所述拓扑关系,执行各所述测试节点组件,完成对所述待测试系统的测试的步骤之后,还包括:
生成与所述拓扑关系对应的可视化拓扑图;
在所述可视化拓扑图的各节点上显示各节点的测试结果。
在一个实施例中,所述扫描待测试系统的执行代码,读取各待测试功能对应的代码地址、接口信息和指定参数的步骤,包括:
在所述执行代码中查找预设的标记符,其中,所述标记符为开发者开发执行代码时写入的标记符;
提取所述标记符对应的信息,其中,所述信息为所述代码地址、接口信息和指定参数。
在一个实施例中,所述提取所述标记符对应的信息的步骤,包括:
判断所述标记符的类型,所述类型包括对应所述代码地址的地址标记符、对应所述接口信息的接口标记符、以及对应所述指定参数的参数标记符;
根据所述标记符的类型,调用对应的提取规则,读取得到所述标记符对应的信息。
在一个实施例中,所述获取所述执行代码的运行逻辑,并根据所述执行代码的运行逻辑,组建各所述测试节点组件的拓扑关系的步骤,包括:
读取所述执行代码中各功能对应的代码序号,以及代码序号指向的次级代码序号,其中,所述代码序号和次级代码序号为开发者开发所述执行代码时写入的序号,所述次级代码序号是代码序号对应的功能测试完毕后,下一个或多个待测试功能对应的的代码的代码序号,所述次级代码序号的数量包括一个或多个;
根据所述代码序号和所述次级代码序号确定所述执行代码的运行逻辑;
根据所述运行逻辑组建各所述测试节点组件的拓扑关系。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (20)

  1. 一种系统代码的测试方法,其中,包括:
    扫描待测试系统的执行代码,读取各待测试功能对应的代码地址、接口信息和指定参数;
    根据各待测试功能对应的代码地址、接口信息和指定参数,获取对应各待测功能的测试节点组件;
    获取所述执行代码的运行逻辑,并根据所述执行代码的运行逻辑,组建各所述测试节点组件的拓扑关系;
    依据所述拓扑关系,执行各所述测试节点组件,完成对所述待测试系统的测试。
  2. 根据权利要求1所述的系统代码的测试方法,其中,所述根据各待测试功能对应的代码地址、接口信息和指定参数,获取对应各待测功能的测试节点组件的步骤,包括:
    到预设的测试节点组件库中查找对应所述各待测试功能对应的代码地址、接口信息和指定参数的预设的第一测试节点组件;
    调用查找到的各所述第一测试节点组件,以及根据未查找到所述第一测试节点组件的剩余的其它代码地址、接口信息和指定参数生成对应的多个第二测试节点组件,其中,所述第一测试节点组件和个第二测试节点组件均为所述测试节点组件。
  3. 根据权利要求2所述的系统代码的测试方法,其中,所述根据未查找到所述第一测试节点组件的剩余的其它代码地址、接口信息和指定参数生成对应的多个第二测试节点组件的步骤之后,包括:
    将所述第二测试节点组件存储到所述测试节点组件库中。
  4. 根据权利要求1所述的系统代码的测试方法,其中,所述依据所述拓扑关系,执行各所述测试节点组件,完成对所述待测试系统的测试的步骤之后,还包括:
    生成与所述拓扑关系对应的可视化拓扑图;
    在所述可视化拓扑图的各节点上显示各节点的测试结果。
  5. 根据权利要求1所述的系统代码的测试方法,其中,所述扫描待测试系统的执行代码,读取各待测试功能对应的代码地址、接口信息和指定参数的步骤,包括:
    在所述执行代码中查找预设的标记符,其中,所述标记符为开发者开发执行代码时写入的标记符;
    提取所述标记符对应的信息,其中,所述信息为所述代码地址、接口信息和指定参数。
  6. 根据权利要求5所述的系统代码的测试方法,其中,所述提取所述标记符对应的信息的步骤,包括:
    判断所述标记符的类型,所述类型包括对应所述代码地址的地址标记符、对应所述接口信息的接口标记符、以及对应所述指定参数的参数标记符;
    根据所述标记符的类型,调用对应的提取规则,读取得到所述标记符对应的信息。
  7. 根据权利要求1所述的系统代码的测试方法,其中,所述获取所述执行代码的运行逻辑,并根据所述执行代码的运行逻辑,组建各所述测试节点组件的拓扑关系的步骤,包括:
    读取所述执行代码中各功能对应的代码序号,以及代码序号指向的次级代码序号,其中,所述代码序号和次级代码序号为开发者开发所述执行代码时写入的序号,所述次级代码序号是代码序号对应的功能测试完毕后,下一个或多个待测试功能对应的的代码的代码序号,所述次级代码序号的数量包括一个或多个;
    根据所述代码序号和所述次级代码序号确定所述执行代码的运行逻辑;
    根据所述运行逻辑组建各所述测试节点组件的拓扑关系。
  8. 一种系统代码的测试装置,其中,包括:
    扫描读取单元,用于扫描待测试系统的执行代码,读取各待测试功能对应的代码地址、接口信息和指定参数;
    获取组件单元,用于根据各待测试功能对应的代码地址、接口信息和指定参数,获取对应各待测功能的测试节点组件;
    组建拓扑单元,用于获取所述执行代码的运行逻辑,并根据所述执行代码的运行逻辑,组建各所述测试节点组件的拓扑关系;
    执行测试单元,用于依据所述拓扑关系,执行各所述测试节点组件,完成对所述待测试系统的测试。
  9. 一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其中,所述处理器执行所述计算机程序时实现一种系统代码的测试方法,所述方法包括:
    扫描待测试系统的执行代码,读取各待测试功能对应的代码地址、接口信息和指定参数;
    根据各待测试功能对应的代码地址、接口信息和指定参数,获取对应各待测功能的测试节点组件;
    获取所述执行代码的运行逻辑,并根据所述执行代码的运行逻辑,组建各所述测试节点组件的拓扑关系;
    依据所述拓扑关系,执行各所述测试节点组件,完成对所述待测试系统的测试。
  10. 根据权利要求9所述的计算机设备,其中,所述根据各待测试功能对应的代码地址、接口信息和指定参数,获取对应各待测功能的测试节点组件的步骤,包括:
    到预设的测试节点组件库中查找对应所述各待测试功能对应的代码地址、接口信息和指定参数的预设的第一测试节点组件;
    调用查找到的各所述第一测试节点组件,以及根据未查找到所述第一测试节点组件的剩余的其它代码地址、接口信息和指定参数生成对应的多个第二测试节点组件,其中,所述第一测试节点组件和个第二测试节点组件均为所述测试节点组件。
  11. 根据权利要求10所述的计算机设备,其中,所述根据未查找到所述第一测试节点组件的剩余的其它代码地址、接口信息和指定参数生成对应的多个第二测试节点组件的步骤之后,包括:
    将所述第二测试节点组件存储到所述测试节点组件库中。
  12. 根据权利要求9所述的计算机设备,其中,所述依据所述拓扑关系,执行各所述测试节点组件,完成对所述待测试系统的测试的步骤之后,还包括:
    生成与所述拓扑关系对应的可视化拓扑图;
    在所述可视化拓扑图的各节点上显示各节点的测试结果。
  13. 根据权利要求9所述的计算机设备,其中,所述扫描待测试系统的执行代码,读取各待测试功能对应的代码地址、接口信息和指定参数的步骤,包括:
    在所述执行代码中查找预设的标记符,其中,所述标记符为开发者开发执行代码时写入的标记符;
    提取所述标记符对应的信息,其中,所述信息为所述代码地址、接口信息和指定参数。
  14. 根据权利要求13所述的计算机设备,其中,所述提取所述标记符对应的信息的步骤,包括:
    判断所述标记符的类型,所述类型包括对应所述代码地址的地址标记符、对应所述接口信息的接口标记符、以及对应所述指定参数的参数标记符;
    根据所述标记符的类型,调用对应的提取规则,读取得到所述标记符对应的信息。
  15. 根据权利要求9所述的计算机设备,其中,所述获取所述执行代码的运行逻辑,并根据所述执行代码的运行逻辑,组建各所述测试节点组件的拓扑关系的步骤,包括:
    读取所述执行代码中各功能对应的代码序号,以及代码序号指向的次级代码序号,其中,所述代码序号和次级代码序号为开发者开发所述执行代码时写入的序号,所述次级代码序号是代码序号对应的功能测试完毕后,下一个或多个待测试功能对应的的代码的代码序号,所述次级代码序号的数量包括一个或多个;
    根据所述代码序号和所述次级代码序号确定所述执行代码的运行逻辑;
    根据所述运行逻辑组建各所述测试节点组件的拓扑关系。
  16. 一种计算机可读存储介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现一种系统代码的测试方法,所述方法包括:
    扫描待测试系统的执行代码,读取各待测试功能对应的代码地址、接口信息和指定参数;
    根据各待测试功能对应的代码地址、接口信息和指定参数,获取对应各待测功能的测试节点组件;
    获取所述执行代码的运行逻辑,并根据所述执行代码的运行逻辑,组建各所述测试节点组件的拓扑关系;
    依据所述拓扑关系,执行各所述测试节点组件,完成对所述待测试系统的测试。
  17. 根据权利要求16所述的计算机可读存储介质,其中,所述根据各待测试功能对应的代码地址、接口信息和指定参数,获取对应各待测功能的测试节点组件的步骤,包括:
    到预设的测试节点组件库中查找对应所述各待测试功能对应的代码地址、接口信息和指定参数的预设的第一测试节点组件;
    调用查找到的各所述第一测试节点组件,以及根据未查找到所述第一测试节点组件的剩余的其它代码地址、接口信息和指定参数生成对应的多个第二测试节点组件,其中,所述第一测试节点组件和个第二测试节点组件均为所述测试节点组件。
  18. 根据权利要求17所述的计算机可读存储介质,其中,所述根据未查找到所述第一测试节点组件的剩余的其它代码地址、接口信息和指定参数生成对应的多个第二测试节点组件的步骤之后,包括:
    将所述第二测试节点组件存储到所述测试节点组件库中。
  19. 根据权利要求16所述的计算机可读存储介质,其中,所述依据所述拓扑关系,执行各所述测试节点组件,完成对所述待测试系统的测试的步骤之后,还包括:
    生成与所述拓扑关系对应的可视化拓扑图;
    在所述可视化拓扑图的各节点上显示各节点的测试结果。
  20. 根据权利要求16所述的计算机可读存储介质,其中,所述扫描待测试系统的执行代码,读取各待测试功能对应的代码地址、接口信息和指定参数的步骤,包括:
    在所述执行代码中查找预设的标记符,其中,所述标记符为开发者开发执行代码时写入的标记符;
    提取所述标记符对应的信息,其中,所述信息为所述代码地址、接口信息和指定参数。
PCT/CN2020/132594 2020-03-30 2020-11-30 系统代码的测试方法、装置、计算机设备和存储介质 WO2021196674A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202010238723.0 2020-03-30
CN202010238723.0A CN111581076A (zh) 2020-03-30 2020-03-30 系统代码的测试方法、装置、计算机设备和存储介质

Publications (1)

Publication Number Publication Date
WO2021196674A1 true WO2021196674A1 (zh) 2021-10-07

Family

ID=72126113

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/132594 WO2021196674A1 (zh) 2020-03-30 2020-11-30 系统代码的测试方法、装置、计算机设备和存储介质

Country Status (2)

Country Link
CN (1) CN111581076A (zh)
WO (1) WO2021196674A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116860630A (zh) * 2023-07-05 2023-10-10 珠海视熙科技有限公司 设备测试方法、装置、存储介质及计算机设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111581076A (zh) * 2020-03-30 2020-08-25 平安科技(深圳)有限公司 系统代码的测试方法、装置、计算机设备和存储介质
CN112131127B (zh) * 2020-09-28 2024-04-16 北京同邦卓益科技有限公司 接口测试方法、装置、系统及电子设备
CN113626326B (zh) * 2021-08-09 2022-02-11 三峡高科信息技术有限责任公司 一种基于图像识别的拖拽式的零代码前端自动化测试系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107908542A (zh) * 2017-07-26 2018-04-13 平安壹钱包电子商务有限公司 测试用例创建方法、装置、计算机设备及存储介质
CN110389896A (zh) * 2019-06-18 2019-10-29 中国平安人寿保险股份有限公司 代码自动化分析和测试方法、装置及计算机可读存储介质
CN110442370A (zh) * 2019-07-30 2019-11-12 北京奇艺世纪科技有限公司 一种测试用例查询方法及装置
CN110704303A (zh) * 2019-09-05 2020-01-17 深圳开源互联网安全技术有限公司 一种测试覆盖度信息的获取方法及装置
CN111581076A (zh) * 2020-03-30 2020-08-25 平安科技(深圳)有限公司 系统代码的测试方法、装置、计算机设备和存储介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582563B (zh) * 2018-10-26 2024-04-05 平安科技(深圳)有限公司 测试案例的测试方法、装置、计算机设备及存储介质
CN110232014A (zh) * 2019-02-25 2019-09-13 上海蔚来汽车有限公司 业务流程自动化测试方法、装置、控制器及介质
CN110543301B (zh) * 2019-09-06 2023-04-25 中国工商银行股份有限公司 jenkins代码文件的生成方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107908542A (zh) * 2017-07-26 2018-04-13 平安壹钱包电子商务有限公司 测试用例创建方法、装置、计算机设备及存储介质
CN110389896A (zh) * 2019-06-18 2019-10-29 中国平安人寿保险股份有限公司 代码自动化分析和测试方法、装置及计算机可读存储介质
CN110442370A (zh) * 2019-07-30 2019-11-12 北京奇艺世纪科技有限公司 一种测试用例查询方法及装置
CN110704303A (zh) * 2019-09-05 2020-01-17 深圳开源互联网安全技术有限公司 一种测试覆盖度信息的获取方法及装置
CN111581076A (zh) * 2020-03-30 2020-08-25 平安科技(深圳)有限公司 系统代码的测试方法、装置、计算机设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116860630A (zh) * 2023-07-05 2023-10-10 珠海视熙科技有限公司 设备测试方法、装置、存储介质及计算机设备

Also Published As

Publication number Publication date
CN111581076A (zh) 2020-08-25

Similar Documents

Publication Publication Date Title
WO2021196674A1 (zh) 系统代码的测试方法、装置、计算机设备和存储介质
US8745641B1 (en) Automatic verification and anomaly detection in a representational state transfer (REST) application programming interface
CN109800258B (zh) 数据文件部署方法、装置、计算机设备及存储介质
US9836440B2 (en) Semantic stack trace
CN112148509A (zh) 数据处理方法、装置、服务器及计算机可读存储介质
CN110908895A (zh) 页面自动化测试方法、装置、计算机设备及存储介质
CN108845940A (zh) 一种企业级信息系统自动化功能测试方法和系统
CN109408372A (zh) 公共组件测试方法、装置、计算机设备和存储介质
CN109657475A (zh) 代码漏洞排查方法、装置、设备及存储介质
CN112052172A (zh) 第三方通道的快速测试方法、装置和电子设备
CN112187713B (zh) 报文转换的方法、装置、计算机设备和存储介质
CN116955097A (zh) 测试流程的展示方法、装置和测试流程展示系统
CN114003451B (zh) 一种接口测试方法、装置、系统及介质
EP2096536A2 (en) Graphical user interface application comparator
CN106990974B (zh) 一种app应用更新方法、装置及电子设备
CN109656817A (zh) 一种自动化接口测试装置和设备
CN106547658A (zh) 一种自动化测试方法及装置
CN109474822B (zh) 一种安卓电视多国语言自动化测试的方法及装置
WO2017076244A1 (zh) 一种动态修复应用程序的方法、装置及相关系统
CN109815127B (zh) 自动化脚本转换方法、装置、计算机设备和存储介质
CN115033481A (zh) 基于浏览器访问的自动化测试代码生成的方法、装置以及计算机设备
TW201721434A (zh) 用於自動化生成軟體測試資料之電腦程式產品及其方法
CN115470152A (zh) 测试代码生成方法、测试代码生成装置以及存储介质
CN113886216A (zh) 接口测试和工具配置方法、装置、电子设备和存储介质
CN115470127B (zh) 页面兼容性处理方法、装置、计算机设备和存储介质

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20929261

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20929261

Country of ref document: EP

Kind code of ref document: A1