CN114860589A - 单元测试方法及装置、存储介质及电子设备 - Google Patents
单元测试方法及装置、存储介质及电子设备 Download PDFInfo
- Publication number
- CN114860589A CN114860589A CN202210460617.6A CN202210460617A CN114860589A CN 114860589 A CN114860589 A CN 114860589A CN 202210460617 A CN202210460617 A CN 202210460617A CN 114860589 A CN114860589 A CN 114860589A
- Authority
- CN
- China
- Prior art keywords
- node
- logic
- logical
- target
- determining
- 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
Links
Images
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/368—Test management for test version control, e.g. updating test cases to a new software version
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)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请公开了一种单元测试方法及装置、存储介质及电子设备,可应用于金融领域或其他领域。该方法包括:当需要对应用软件进行单元测试时,在预先设置的多个逻辑节点中,确定各个目标逻辑节点,并确定每个目标逻辑节点对应的节点关联关系和测试案例编号;判断应用软件的软件版本是否为初始版本,若是,则依据每个目标逻辑节点对应的测试案例编号,确定每个目标逻辑节点对应的测试案例;依据各个目标逻辑节点对应的节点关联关系,确定每个目标逻辑节点对应的测试案例的执行顺序;按照各个测试案例的执行顺序,依次执行各个测试案例,完成单元测试过程。应用本申请的方法,可实现自动化的单元测试,可减少人工处理过程,提高测试效率。
Description
技术领域
本发明涉及测试技术领域,特别是涉及一种单元测试方法及装置、存储介质及电子设备。
背景技术
软件测试是应用软件开发过程中的重要工作之一,单元测试是在软件开发测试过程中要进行的最低级别的测试活动。
单元测试是指对软件中的最小可测试单元进行检查和验证。而单元测试中的单元,通常是根据实际情况去判定其具体含义的,如C语言中单元指一个函数,Java里单元指一个类,图形化的软件中可以指一个窗口或一个菜单等。可以认为单元就是人为规定的最小的可测功能模块。
在实际的软件开发过程中,通常是由测试人员人工完成单元测试工作,例如人工进行测试分析,人工编写测试案例等等。人工处理过程耗时较长,测试效率较低。其次,容易遗漏测试点,出现测试颗粒度过大或是所测单元之间的颗粒度不一致等等问题,导致测试准确性较低。
发明内容
有鉴于此,本发明实施例提供了一种单元测试方法,以解决人工进行测试分析以进行单元测试,处理过程耗时长,效率低以及测试准确性较低的问题。
本发明实施例还提供了一种单元测试装置,用以保证上述方法实际中的实现及应用。
为实现上述目的,本发明实施例提供如下技术方案:
一种单元测试方法,包括:
当需要对应用软件进行单元测试时,在预设的节点数据库中预先设置的多个逻辑节点中,确定所述应用软件对应的各个目标逻辑节点,并确定每个所述目标逻辑节点对应的节点关联关系和每个所述目标逻辑节点对应的测试案例编号;
判断所述应用软件的软件版本是否为初始版本;
若所述应用软件的软件版本为初始版本,则依据每个所述目标逻辑节点对应的测试案例编号,确定每个所述目标逻辑节点对应的测试案例;
依据各个所述目标逻辑节点对应的节点关联关系,确定每个所述目标逻辑节点对应的测试案例的执行顺序;
按照各个所述目标逻辑节点对应的测试案例的执行顺序,依次执行各个所述目标逻辑节点对应的测试案例,完成所述应用软件的单元测试过程。
上述的方法,可选的,所述逻辑节点的设置过程,包括:
当接收到用户发送的新软件对应的节点导入指令时,确定每个待导入的逻辑节点对应的节点信息,每个所述待导入的逻辑节点对应的节点信息包括该待导入的逻辑节点对应的程序名称、逻辑节点名称、上层逻辑节点、下层逻辑节点以及测试案例编号;
依据各个所述待导入的逻辑节点对应的节点信息,确定每个所述待导入的逻辑节点对应的数字化编码信息;每个所述待导入的逻辑节点对应的数字化编码信息包括该待导入的逻辑节点对应的程序名称、逻辑节点名称、逻辑节点编号、上层逻辑节点编号、下层逻辑节点编号以及测试案例编号;
将各个所述待导入的逻辑节点对应的数字化编码信息导入所述节点数据库,以完成各个所述待导入的逻辑节点的设置过程。
上述的方法,可选的,所述逻辑节点的设置过程,包括:
当接收到用户发送的已有软件对应的节点导入指令时,确定每个新增的逻辑节点对应的节点信息,每个所述新增的逻辑节点对应的节点信息包括该新增的逻辑节点对应的程序名称、逻辑节点名称、上层逻辑节点编号、下层逻辑节点编号和测试案例编号;
依据每个所述新增的逻辑节点对应的节点信息,确定每个所述新增的逻辑节点对应的数据化编码信息;每个所述新增的逻辑节点对应的数字化编码信息包括该新增的逻辑节点对应的程序名称、逻辑节点名称、逻辑节点编号、上层逻辑节点编号、下层逻辑节点编号以及测试案例编号;
在所述节点数据库中确定每个所述新增的逻辑节点对应的关联逻辑节点,以及每个所述关联逻辑节点对应的数字化编码信息;
将各个所述新增的逻辑节点对应的数字化编码信息导入所述节点数据库,并依据每个所述新增的逻辑节点对应的数字化编码信息,对每个所述关联逻辑节点对应的数字化编码信息进行修改,以完成各个所述新增的逻辑节点的设置过程。
上述的方法,可选的,还包括:
若所述应用软件的软件版本并非为初始版本,则在所述各个目标逻辑节点中,确定各个变更逻辑节点;
依据每个所述变更逻辑节点对应的节点关联关系,在各个所述目标逻辑节点中,确定每个所述变更逻辑节点对应的相连逻辑节点;
将每个所述变更逻辑节点和每个所述变更逻辑节点对应的相连逻辑节点,确定为待测试逻辑节点;
依据每个所述待测试逻辑节点对应的测试案例编号,确定每个所述待测试逻辑节点对应的测试案例;
依据各个所述待测试逻辑节点对应的节点关联关系,确定每个所述待测试逻辑节点对应的测试案例的执行顺序;
按照各个所述待测试逻辑节点对应的测试案例的执行顺序,依次执行各个所述待测试逻辑节点对应的测试案例,完成所述应用软件的单元测试过程。
上述的方法,可选的,所述在所述各个目标逻辑节点中,确定各个变更逻辑节点,包括:
确定所述应用软件对应的当前批次版本和目标批次版本,所述目标批次版本为所述当前批次版本的上一批次版本;
获取所述当前批次版本对应的第一软件代码和所述目标批次版本对应的第二软件代码;
依据所述第一软件代码和所述第二软件代码,确定所述第一软件代码对应的各个变更标记;
在所述各个目标逻辑节点中,确定每个所述变更标记对应的目标逻辑节点,并将每个所述变更标记对应的目标逻辑节点确定为所述变更逻辑节点。
上述的方法,可选的,所述依据所述第一软件代码和所述第二软件代码,确定所述第一软件代码对应的各个变更标记,包括:
对所述第一软件代码进行扫描,获得所述第一软件代码对应的多个预设标记;
对所述第二软件代码进行扫描,获得所述第二软件代码对应的多个预设标记;
将所述第一软件代码对应的多个预设标记与所述第二软件代码对应的多个预设标记进行比对,获得所述第一软件代码对应的各个变更标记。
一种单元测试装置,包括:
第一确定单元,用于当需要对应用软件进行单元测试时,在预设的节点数据库中预先设置的多个逻辑节点中,确定所述应用软件对应的各个目标逻辑节点,并确定每个所述目标逻辑节点对应的节点关联关系和每个所述目标逻辑节点对应的测试案例编号;
判断单元,用于判断所述应用软件的软件版本是否为初始版本;
第二确定单元,用于若所述应用软件的软件版本为初始版本,则依据每个所述目标逻辑节点对应的测试案例编号,确定每个所述目标逻辑节点对应的测试案例;
第三确定单元,用于依据各个所述目标逻辑节点对应的节点关联关系,确定每个所述目标逻辑节点对应的测试案例的执行顺序;
第一测试单元,用于按照各个所述目标逻辑节点对应的测试案例的执行顺序,依次执行各个所述目标逻辑节点对应的测试案例,完成所述应用软件的单元测试过程。
上述的装置,可选的,还包括:
第四确定单元,用于若所述应用软件的软件版本并非为初始版本,则在所述各个目标逻辑节点中,确定各个变更逻辑节点;
第五确定单元,用于依据每个所述变更逻辑节点对应的节点关联关系,在各个所述目标逻辑节点中,确定每个所述变更逻辑节点对应的相连逻辑节点;
第六确定单元,用于将每个所述变更逻辑节点和每个所述变更逻辑节点对应的相连逻辑节点,确定为待测试逻辑节点;
第七确定单元,用于依据每个所述待测试逻辑节点对应的测试案例编号,确定每个所述待测试逻辑节点对应的测试案例;
第八确定单元,用于依据各个所述待测试逻辑节点对应的节点关联关系,确定每个所述待测试逻辑节点对应的测试案例的执行顺序;
第二测试单元,用于按照各个所述待测试逻辑节点对应的测试案例的执行顺序,依次执行各个所述待测试逻辑节点对应的测试案例,完成所述应用软件的单元测试过程。
一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如上述的单元测试方法。
一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如上述的单元测试方法。
基于上述本发明实施例提供的一种单元测试方法,当需要对应用软件进行单元测试时,在预设的节点数据库中预先设置的多个逻辑节点中,确定所述应用软件对应的各个目标逻辑节点,并确定每个所述目标逻辑节点对应的节点关联关系和每个所述目标逻辑节点对应的测试案例编号;判断所述应用软件的软件版本是否为初始版本;若所述应用软件的软件版本为初始版本,则依据每个所述目标逻辑节点对应的测试案例编号,确定每个所述目标逻辑节点对应的测试案例;依据各个所述目标逻辑节点对应的节点关联关系,确定每个所述目标逻辑节点对应的测试案例的执行顺序;按照各个所述目标逻辑节点对应的测试案例的执行顺序,依次执行各个所述目标逻辑节点对应的测试案例,完成所述应用软件的单元测试过程。应用本发明实施例提供的方法,开发人员可根据程序逻辑预先设置逻辑节点,在需要进行单元测试时,可以通过逻辑节点的匹配,确定当前测试的应用软件对应的各个目标逻辑节点及其对应的节点关联关系和测试案例编号,继而确定当前测试所需的测试案例和执行顺序,按照执行顺序执行测试案例,实现自动化的单元测试过程,无需测试人员进行测试分析,进行测试案例的编排等等工作,可减少人工处理过程,提高测试效率。另外,可避免遗漏测试点,测试颗粒度统一,可提高测试准确性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种单元测试方法的方法流程图;
图2为本发明实施例提供的一种单元测试方法的又一方法流程图;
图3为本发明实施例提供的一种单元测试方法的另一方法流程图;
图4为本发明实施例提供的一种单元测试装置的结构示意图;
图5为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
由背景技术可知,目前通常是由测试人员人工进行测试分析,人工完成单元测试工作。各项工作由人工完成,需要耗费大量的时间。其次,测试人员通常不是程序代码的编写者,对程序中的逻辑并不熟悉,在程序测试分析过程中对开发人员的依赖程度大,亦难免出现遗漏测试点等问题,导致测试不全面。
因此,本发明实施例提供了一种单元测试方法,基于程序逻辑设置逻辑节点,在测试过程中,通过应用软件对应的逻辑节点的相关信息,确定对应的测试案例和测试案例执行顺序,自动化完成单元测试。无需人工进行测试分析,可减少人工处理过程,提高测试效率。
本发明实施例提供了一种单元测试方法,所述方法可应用于测试平台,其执行主体可以为测试平台的服务器,所述方法的方法流程图如图1所示,包括:
S101:当需要对应用软件进行单元测试时,在预设的节点数据库中预先设置的多个逻辑节点中,确定所述应用软件对应的各个目标逻辑节点,并确定每个所述目标逻辑节点对应的节点关联关系和每个所述目标逻辑节点对应的测试案例编号;
本发明实施例提供的方法中,在开发人员对每个应用产品进行开发维护时,会对应设计每个应用产品的程序流程图,可以根据程序流程图的处理逻辑,预先确定每个应用产品的各个逻辑节点,在节点数据库中预先设置各个应用产品对应的各个逻辑节点,具体指的是在节点数据库中记录每个逻辑节点的节点信息,包括每个逻辑节点的节点关联关系和测试案例编号等等。
当需要对应用软件进行单元测试时,用户可以在前端发送对应的触发指令,当服务器接收到该触发指令时,可以根据当前需要测试的应用软件的软件标识,在预设的节点数据库中,找到与该应用软件相匹配的各个逻辑节点,作为各个目标逻辑节点,并在节点数据库中,读取每个目标逻辑节点对应的节点关联关系和测试案例编号。应用软件的软件标识可以为软件名称、软件编号或者是批次任务编号等等。
本发明实施例提供的方法中,应用软件对应的各个目标逻辑节点和每个目标逻辑节点对应的节点关联关系,与该应用软件的软件程序的处理逻辑相对应。目标逻辑节点对应的节点关联关系,指的是当前的目标逻辑节点与其他目标逻辑节点的上下级关系,例如当前的目标逻辑节点对应的上级逻辑节点为A,当前的目标逻辑节点对应的下级逻辑节点为B,目标逻辑节点对应的节点关联关系亦是根据应用软件的程序处理逻辑的处理顺序预先设置的。每个目标逻辑节点对应的测试案例编号,也可以预先根据业务需求进行配置。需要说明的是,每个目标逻辑节点或是每个逻辑节点,其对应的测试案例编号可以有一个,也可以有多个,不影响本发明实施例提供的方法实现功能。
S102:判断所述应用软件的软件版本是否为初始版本;
本发明实施例提供的方法中,可以获取当前需要测试的应用软件的软件版本号,根据软件版本号判断该应用软件的软件版本是否为初始版本,还是为更新版本,也就是判断该应用软件是不是一个新软件,还是已有软件进行版本更新后的软件。
S103:若所述应用软件的软件版本为初始版本,则依据每个所述目标逻辑节点对应的测试案例编号,确定每个所述目标逻辑节点对应的测试案例;
本发明实施例提供的方法中,如果应用软件的软件版本为初始版本,对于每个目标逻辑节点对应的测试案例编号,可在预先构建的测试案例,获取该测试案例编号对应的测试案例,作为该目标逻辑节点对应的测试案例。
需要说明的是,若是目标逻辑节点对应的多个测试案例编号,则获取每个测试案例编号对应的测试案例,将每个测试案例编号对应的测试案例均作为该目标逻辑节点对应的测试案例,即目标逻辑节点对应的测试案例可以有一个,也可以有多个。
S104:依据各个所述目标逻辑节点对应的节点关联关系,确定每个所述目标逻辑节点对应的测试案例的执行顺序;
本发明实施例提供的方法中,按照每个目标逻辑节点对应的节点关联关系中所表征的上下层级的关系,确定每个目标逻辑节点对应的测试案例的执行顺序。例如目标逻辑节点C1对应的节点关联关系包括C1对应的上层逻辑节点为目标逻辑节点C2,C1对应的下层逻辑节点为目标逻辑节点C3。相对应的,C1对应的测试案例的执行顺序在C2对应的测试案例的执行顺序之后,C3对应的测试案例的执行顺序在C1对应的测试案例的执行顺序之后,C1、C2和C3这三个目标逻辑节点对应的测试案例的执行顺序,依次为C2对应的测试案例、C1对应的测试案例和C3对应的测试案例。
需要说明的是,若是目标逻辑节点对应的测试案例有多个,该目标逻辑节点对应的多个测试案例之间的执行顺序,可以随机确定,也可以根据需求预设排序策略进行确定,不影响本发明实施例提供的方法实现功能。
S105:按照各个所述目标逻辑节点对应的测试案例的执行顺序,依次执行各个所述目标逻辑节点对应的测试案例,完成所述应用软件的单元测试过程。
本发明实施例提供的方法中,按照测试案例的执行顺序,依次执行每个测试案例,实现应用软件的单元测试。
基于本发明实施例提供的方法,当需要对应用软件进行单元测试时,在预设的节点数据库中预先设置的多个逻辑节点中,确定各个目标逻辑节点,并确定每个目标逻辑节点对应的节点关联关系和测试案例编号;判断应用软件的软件版本是否为初始版本;若应用软件的软件版本为初始版本,则依据每个目标逻辑节点对应的测试案例编号,确定每个目标逻辑节点对应的测试案例;依据各个目标逻辑节点对应的节点关联关系,确定每个目标逻辑节点对应的测试案例的执行顺序;按照各个目标逻辑节点对应的测试案例的执行顺序,依次执行各个目标逻辑节点对应的测试案例,完成应用软件的单元测试过程。应用本发明实施例提供的方法,在当前应用软件的测试过程中,可自动匹配当前应用软件对应的各个逻辑节点,根据各个逻辑节点的节点关联关系,确定各个逻辑节点对应的测试案例的执行顺序,依次执行各个测试案例,可实现自动化的单元测试。无需测试人员进行测试分析,进行测试案例的编排等等工作,可减少人工处理过程,提高测试效率。另外,可避免遗漏测试点,测试颗粒度统一,可提高测试准确性。
在图1所示方法的基础上,本发明实施例提供的方法中,步骤S101中提及的所述逻辑节点的设置过程,包括:
当接收到用户发送的新软件对应的节点导入指令时,确定每个待导入的逻辑节点对应的节点信息,每个所述待导入的逻辑节点对应的节点信息包括该待导入的逻辑节点对应的程序名称、逻辑节点名称、上层逻辑节点、下层逻辑节点以及测试案例编号;
本发明实施例提供的方法中,用户可以为新开发的软件产品设置其对应的逻辑节点,发送新软件对应的节点导入指令,用户可以通过导入表格等方式,输入每个待导入的逻辑节点的节点信息,包括其对应的程序名称,逻辑节点名称、上层逻辑节点、下层逻辑节点和测试案例编号,其中,上层逻辑节点和下层逻辑节点,具体可以由对应的逻辑节点名称表示。
依据各个所述待导入的逻辑节点对应的节点信息,确定每个所述待导入的逻辑节点对应的数字化编码信息;每个所述待导入的逻辑节点对应的数字化编码信息包括该待导入的逻辑节点对应的程序名称、逻辑节点名称、逻辑节点编号、上层逻辑节点编号、下层逻辑节点编号以及测试案例编号;
本发明实施例提供的方法中,可以为每个待导入的逻辑节点生成该逻辑节点的节点编号,并根据每个待导入的逻辑节点的节点信息,梳理出每个待导入的逻辑节点对应的数字化编码信息,包括其对应的程序名称、逻辑节点名称、逻辑节点编号、上层逻辑节点编号(即该逻辑节点对应的上层逻辑节点的逻辑节点编号)、下层逻辑节点编号(即该逻辑节点对应的下层逻辑节点的逻辑节点编号)和测试案例编号。
将各个所述待导入的逻辑节点对应的数字化编码信息导入所述节点数据库,以完成各个所述待导入的逻辑节点的设置过程。
本发明实施例提供的方法中,将每个待导入的逻辑节点对应的数字化编码信息导入节点数据库,按照预设的数据格式在节点数据库中存储每个待导入的逻辑节点对应的数字化编码信息,以在节点数据库中设置各个待导入的逻辑节点,完成各个待导入的逻辑节点的设置过程。
在图1所示方法的基础上,本发明实施例提供的方法中,步骤S101中提及的所述逻辑节点的设置过程,包括:
当接收到用户发送的已有软件对应的节点导入指令时,确定每个新增的逻辑节点对应的节点信息,每个所述新增的逻辑节点对应的节点信息包括该新增的逻辑节点对应的程序名称、逻辑节点名称、上层逻辑节点编号、下层逻辑节点编号和测试案例编号;
本发明实施例提供的方法中,当已有的软件产品的程序出现新的逻辑过程时,用户可以相对应的在节点数据库中新增对应的逻辑节点,发送已有软件的节点导入指令。在此场景下,新增的逻辑节点通常是在原有的逻辑节点的基础上新增的,而原有的逻辑节点以在节点数据库中存在配置,其有对应的逻辑节点编号。用户可以输入每个新增的逻辑节点对应的节点信息,包括该逻辑节点对应的程序名称,逻辑节点名称,其对应的上层逻辑节点的逻辑节点编号(即上层逻辑节点编号),其对应的下层逻辑节点的逻辑节点编号(即下层逻辑节点编号)和测试案例编号。
依据每个所述新增的逻辑节点对应的节点信息,确定每个所述新增的逻辑节点对应的数据化编码信息;每个所述新增的逻辑节点对应的数字化编码信息包括该新增的逻辑节点对应的程序名称、逻辑节点名称、逻辑节点编号、上层逻辑节点编号、下层逻辑节点编号以及测试案例编号;
本发明实施例提供的方法中,可以为每个新增的逻辑节点生成对应的逻辑节点编号,并依据其对应的节点信息,得到其对应的数字化编码信息。
在所述节点数据库中确定每个所述新增的逻辑节点对应的关联逻辑节点,以及每个所述关联逻辑节点对应的数字化编码信息;
本发明实施例提供的方法中,可以依据每个新增的逻辑节点的数字化编码信息,在节点数据库中确定该逻辑节点对应的关联逻辑节点和该关联逻辑节点对应的数字化编码信息,该逻辑节点对应的关联逻辑节点指的是数字化编码信息会受到该逻辑节点影响的逻辑节点,该逻辑节点对应的关联逻辑节点可以为该逻辑节点对应的上层逻辑节点,或是下层逻辑节点,该逻辑节点对应的关联逻辑节点可以有两个(如既有上层逻辑节点,又有下层逻辑节点),也可以仅有一个(如仅有上层逻辑节点或仅有下层逻辑节点),由具体的节点信息确定。
将各个所述新增的逻辑节点对应的数字化编码信息导入所述节点数据库,并依据每个所述新增的逻辑节点对应的数字化编码信息,对每个所述关联逻辑节点对应的数字化编码信息进行修改,以完成各个所述新增的逻辑节点的设置过程。
本发明实施例提供的方法中,可将各个新增的逻辑节点对应的数字化编码信息导入节点数据库。并对节点数据库中,每个新增的逻辑节点对应的关联逻辑节点对应的数字化编码信息进行修改,例如,新增的逻辑节点D1对应的上层逻辑节点为逻辑节点D2,新增的逻辑节点D1对应的下层逻辑节点为逻辑节点D3。D2对应的数字化编码信息中,其对应的下层逻辑节点为D3,而D3对应的数字化编码信息中,其对应的上层逻辑节点为D2。此时,D2和D3则为D1的关联逻辑节点,需将D2对应的数字化编码信息中,其对应的下层逻辑节点更改为D1,将D3对应的数字化编码信息中,其对应的上层逻辑节点更改为D1。
为了更好地说明本发明实施例提供的方法,本发明实施例提供了又一种单元测试方法,在图1所示方法的基础上,本发明实施例提供的方法中,还包括:
若所述应用软件的软件版本并非为初始版本,则在所述各个目标逻辑节点中,确定各个变更逻辑节点;
本发明实施例提供的方法中,如果应用软件的软件版本并非初始版本,也就是当前该应用软件是更新过的应用软件,那么则在各个目标逻辑节点中,确定出当前发生变动的各个变更逻辑节点,也就是在此前的测试过程中没有出现的各个逻辑节点。
依据每个所述变更逻辑节点对应的节点关联关系,在各个所述目标逻辑节点中,确定每个所述变更逻辑节点对应的相连逻辑节点;
本发明实施例提供的方法中,依据每个变更逻辑节点的节点关联关系,确定每个变更逻辑节点对应的相连逻辑节点,相连逻辑节点指的是该变更逻辑节点的上层逻辑节点或下层逻辑节点,也就是与其相连接的逻辑节点。变更逻辑节点对应的相连逻辑节点可以有两个(又有上层逻辑节点,也有下层逻辑节点),也可以仅有一个(仅有上层逻辑节点或仅有下层逻辑节点)。
将每个所述变更逻辑节点和每个所述变更逻辑节点对应的相连逻辑节点,确定为待测试逻辑节点;
本发明实施例提供的方法中,将每个变更逻辑节点和每个变更逻辑节点对应的每个相连逻辑节点,均作为待测试逻辑节点。
依据每个所述待测试逻辑节点对应的测试案例编号,确定每个所述待测试逻辑节点对应的测试案例;
本发明实施例提供的方法中,可根据待测试逻辑节点对应的测试案例编号,从测试案例库中,获取对应的测试案例,作为该待测试逻辑节点对应的测试案例。
依据各个所述待测试逻辑节点对应的节点关联关系,确定每个所述待测试逻辑节点对应的测试案例的执行顺序;
本发明实施例提供的方法中,可以根据待测试逻辑节点对应的节点关联关系,确定测试案例的执行顺序。其过程原理与步骤S104中确定每个目标逻辑节点对应的测试案例的执行顺序的原理相同,可参见上述说明,在此不再赘述。
按照各个所述待测试逻辑节点对应的测试案例的执行顺序,依次执行各个所述待测试逻辑节点对应的测试案例,完成所述应用软件的单元测试过程。
本发明实施例提供的方法中,可按照测试案例的执行顺序,依次执行测试案例,完成单元测试过程。
基于本发明实施例提供的方法,在应用软件的运维过程中,发生版本更新时,可以根据应用软件当前版本发生的变更,确定出需要进行测试的逻辑节点,获取这些逻辑节点对应的测试案例进行测试,可以进一步提高测试效率,有利于测试工作的快速开展。
在上述实施例提供的方法的基础上,本发明实施例提供的方法中,所述在所述各个目标逻辑节点中,确定各个变更逻辑节点,包括:
确定所述应用软件对应的当前批次版本和目标批次版本,所述目标批次版本为所述当前批次版本的上一批次版本;
本发明实施例提供的方法中,可以通过应用软件的软件信息,获取应用软件对应的当前批次版本和目标批次版本,当前批次版本即为应用软件的软件版本,目标批次版本是上一次发布的,也是上一版进行测试的应用软件的软件版本。
获取所述当前批次版本对应的第一软件代码和所述目标批次版本对应的第二软件代码;
本发明实施例提供的方法中,可以通过批次版本,读取对应的软件代码。获得当前批次版本对应的第一软件代码和目标批次版本对应的第二软件代码。也就是应用软件的当前版本的代码和上一版的代码。
依据所述第一软件代码和所述第二软件代码,确定所述第一软件代码对应的各个变更标记;
本发明实施例提供的方法中,可以预先在软件代码中进行打标,标记逻辑节点对应的位置。可以依据第一软件代码和第二软件代码,确定出表征发生变动的逻辑节点的各个变更标记。
在所述各个目标逻辑节点中,确定每个所述变更标记对应的目标逻辑节点,并将每个所述变更标记对应的目标逻辑节点确定为所述变更逻辑节点。
本发明实施例提供的方法中,可在各个目标逻辑节点中匹配出每个变更标记对应的目标逻辑节点,作为变更逻辑节点。
在上述实施例提供的方法的基础上,本发明实施例提供的方法中,所述依据所述第一软件代码和所述第二软件代码,确定所述第一软件代码对应的各个变更标记,包括:
对所述第一软件代码进行扫描,获得所述第一软件代码对应的多个预设标记;
对所述第二软件代码进行扫描,获得所述第二软件代码对应的多个预设标记;
将所述第一软件代码对应的多个预设标记与所述第二软件代码对应的多个预设标记进行比对,获得所述第一软件代码对应的各个变更标记。
本发明实施例提供的方法中,可以分别对第一软件代码和第二软件代码进行扫描,获得第一软件代码和第二软件代码中的各个预设标记。可将第一软件代码中的各个预设标记与第二软件代码中的各个预设标记进行比对,将两者之间存在差异的预设标记作为变更标记,例如可以将第一软件代码中存在的,但第二软件代码中不存在的预设标记,确定为变更标记。
为了更好地说明本发明实施例提供的方法,接下来结合具体的应用场景,本发明实施例提供了又一种单元测试方法。
本发明实施例提供的方法中,需要预先梳理现有软件程序逻辑关系,梳理程序中各逻辑分支所有的单元测试场景,并运用程序流程图的分析结果数字化各个逻辑分支节点,以此作为应用基础。
本发明实施例提供的方法中,实现单元测试的整体过程,包括:
根据程序处理逻辑梳理并绘制程序逻辑流程图;
根据绘制好的程序逻辑流程图,数字化程序所有逻辑节点,将这些节点信息及其数字化后的节点信息对应关系以数据表的形式存储下来,为后续构建程序逻辑数字化模型做准备;
数字化后的逻辑节点的基本数字编码规则如下所示:
表1
建立批次任务编号,为后续的逻辑节点维护变更或代码扫描做准备,对应的数据表结构可以如下所示:
表2
由于程序的新建和修改均依赖于批次任务,因此,与程序有关的程序逻辑节点数字化信息的新建和变更需要基于对应的批次任务驱动,因此,对应程序的逻辑流程图节点数字化信息的新增和变更均需要与相应的批次号关联完成。新增程序需要进行所有逻辑节点的导入工作,导入时选择建立好的批次任务编号,根据人工填具的逻辑节点导入清单导入所有新增的逻辑节点,导入的过程中,系统为每一逻辑节点生成逻辑节点数字化编码信息,导入表格的内容(不限于)可以如下所示:
表3
用结构化数据库表存储数字化后的程序逻辑节点,数据库结构可以如下所示:
表4
构建好数字化后程序逻辑流程模型后,当有新的开发批次任务时,系统扫描对比上一批次任务程序基线版本和本批次程序版本的代码,确定本批次变更的逻辑节点,再根据确定的逻辑节点读取数字化后的程序逻辑节点存储库,获取本节点和上一层节点、下一层节点的单元测试所需的案例编号,按逻辑节点层级关系依次输出本批次任务所有的测试案例编号。
调用自动测试模块,依次自动执行输出的所有案例,完成本批次任务的所有单元测试。
程序逻辑节点支持有关内容的修改和删除处理。
程序逻辑节点支持有关内容查询处理,查询支持单节点查询和全景查询,其中单节点查询仅展示该节点记录的信息,全景查询则支持全景展示该程序所有逻辑节点的逻辑流程全貌。
本发明实施例提供的方法可应用于测试平台,该测试平台是对于图1所示方法的一种实例化,所述测试平台可以包括以下模块:
预处理模块:该模块主要用于完成两项工作,一是梳理被测程序的逻辑流程图,该图在程序新增时的程序设计阶段已经建立,后续批次任务时可能有所调整或修改;再是梳理并建立各个逻辑节点的单元测试案例用例库。
导入准备模块:根据被测程序的逻辑流程图,按照上述表3的内容填具导入表格,该部分工作一般为新建程序或旧程序的新增逻辑节点时进行,后续如变动的量不多时可跳过这部分的工作。
联机模块,联机模块主要包括下列几个子模块:
批次任务维护子模块:批次任务维护子模块主要是批次任务信息的维护功能,程序的变更主要是由开发的批次任务驱动的,没有开发批次任务,任何人和组织都不能随意更改已经发布过的程序逻辑节点信息的内容。
批次任务信息的维护主要有增、改、删、查四个功能,每一项操作都必须经过主管的授权才可以生效。
逻辑节点新增子模块:该子模块主要是完成逻辑节点的新增工作,程序逻辑节点的新增有单笔新增和批量导入两种方式。单笔新增联机交易界面的主要栏位包括:程序名称、逻辑节点名称、逻辑节点说明(选输)、上层逻辑节点编号、下层逻辑节点编号、所需案例编号、批次任务编号,其中批次任务编号为系统自动根据新增之前所选的批次任务带入,上层逻辑节点编号、下层逻辑节点编号、所需案例编号栏位均为下拉菜单选择。批量导入支持按照一定的模板填写EXCEL导入表后,通过导入表加载一条或多条逻辑节点的功能。新增逻辑节点时,系统会根据经办员所录入的信息,进行上下层逻辑节点检查,检查通过后,系统才允许新增该逻辑节点。
逻辑节点数字化编码生成子模块:当用户输入或导入完成后,用户提交交易,系统根据用户提交的逻辑节点相关信息生成该录入或导入的逻辑节点数字化编码信息,并将之作为一项信息于后续的存储模块中存储在数据库中。
程序逻辑流程图生成子模块:根据程序逻辑节点表中的逻辑节点名称信息、数字化逻辑节点编码信息获取该记录的逻辑节点所有的上一级节点信息,计算所有上一级节点的位置信息,根据位置信息添加节点,生成程序逻辑流程图。
查询子模块:查询子模块主要支持单记录查询和全景查询,本发明实施例中的程序逻辑节点关系的展现方式有单记录级逻辑节点展现和全景级逻辑处理流程展现两种,其中全景级程序逻辑处理流程展现采用比较形象的思维导图模式展现,由于全景级展现的程序逻辑处理流程图比较复杂,生成耗时比较长,全景级查询优先查询图数据库中的程序逻辑处理流程图谱,该图数据库仅支持批次任务级的全景展现,每一批次任务完成后,系统会于批量后台处理期间通过批量加工生成截止该批次止(即包括变更批次任务小于等一本批次的所有数据项)的数据血缘关系图,并按批次任务号为记录单位存储于图数据库中。只有在图数据库中没有相关信息时才会联机生成程序逻辑处理流程图谱并予以实时展现。
删除子模块:与新增操作相反,删除操作则将从程序逻辑处理流程图谱中去掉该删除数据项的节点。
修改子模块:该子模块支持在逻辑节点列表查询中选择某一条逻辑节点列表进行修改。
上述增删改查维护交易中,除查询外,其他交易均需要授权才能完成整个联机交易流程。
存储模块:本平台的存储包括结构化数据存储和非结构化数据存储两个部分数据的存储,结构化数据的存储包括批次任务信息的存储和数字化后的程序逻辑节点信息的存储,主要使用结构化的关系型数据库存储,非结构化存储主要是存储各个批次任务的程序逻辑处理流程图谱,主要使用图数据库进行存储。
代码对比扫描模块:该模块主要是扫描对比上一批次任务程序基线版本和本批次程序版本的代码,确定本批次变更的逻辑节点,再根据确定的逻辑节点读取数字化后的程序逻辑节点存储库,获取本节点和上一层节点、下一层节点的单元测试所需的案例编号,按逻辑节点层级关系依次输出本批次任务所有的测试案例编号。
自动测试模块:主要是依次自动执行输出的所有案例,完成本批次任务的所有单元测试。
基于上述各个模块,进一步对本发明实施例提供的测试平台的应用过程中的部分流程进行进一步说明。
预处理:主要是在程序设计阶段绘制程序处理流程图,根据程序处理流程图中各个逻辑节点的前后关系确定各个逻辑节点的信息,确定各个逻辑节点的测试用例,建立各个逻辑节点的单元测试用例库。
设计数据表:主要根据设计逻辑节点数字化编码信息要素,设计逻辑节点存储表表结构,设计逻辑节点导入表结构,设计批次任务表表结构和用于存储逻辑处理流程图信息的非结构数据库表,设计逻辑节点单元测试用例库中的案例编号。
对应于某个逻辑节点单元测试案例编号规则可以如下表所示:
表5
本发明实施例提供的方法中,程序逻辑处理流程图生成子模块的工作过程,主要包括:根据程序逻辑节点表中的逻辑节点名称信息、数字化逻辑节点编码信息获取该记录的逻辑节点所有的上一级节点信息,计算所有上一级节点的位置信息,根据位置信息添加节点,生成程序逻辑流程图。
首先定义一个临时工作变量,然后对于非删除标志的逻辑节点,读入该逻辑节点的节点数字化编码信息,再根据其上下文位置关系,确定该逻辑节点的上一层节点和下一层节点,进而确定在何处添加该逻辑节点,最终生成程序逻辑处理流程图,相关的处理流程可以如图2所示,具体包括:
S201:初始化临时工作变量;
S202:读入逻辑节点的数字化节点信息;
S203:判断读入内容是否为空;
S204:若读入内容不为空,则判断当前读入的数字化节点信息是否为第一层级的信息;
S205:如果是第一层级的信息,则在报表第一层指定位置显示第一层节点的信息;
S206:判断当前逻辑节点是否有下一层逻辑节点;
S207:如果有下一层逻辑节点,则依次处理该逻辑节点的下一层逻辑节点;
S208:如果当前逻辑节点没有下一层逻辑节点,则继续读取信息;
S209:如果当前读入的数字化节点信息不是第一层级的信息,则计算该逻辑节点的位置,在报表对应的层级位置显示该节点的信息并与上一级逻辑节点连接;
S210:调整其后下一层逻辑节点的位置;
S211:读取下一级信息。
在上述测试平台的基础上,如图3所示流程图,本发明实施例提供的单元测试过程,具体包括:
S301:维护批次任务信息;
S302:读入批次任务信息;
S303:判断当前的批次任务是否为新批次任务;
S304:若是新批次任务,则判断当前的批次任务的被测程序是否为新增程序;
S305:如果不是新增程序,则导入新增或修改的逻辑节点;
S306:调整与其相关的逻辑节点位置和测试用例(即测试案例);
S307:读入上一批次版本代码;
S308:读入本批次版本代码;
S309:对比扫描,确定所有本次变更的逻辑节点;
S310:读入本次变更单元测试所需的案例编号;
S311:自动执行案例;
S312:如果当前批次任务的被测程序是新增程序,则导入该程序所有逻辑节点信息,获取所有逻辑节点的测试用例,自动执行案例。
本发明实施例提供的方法,基于被测程序自开始端到终止端的程序逻辑流程图,梳理被测程序的所有路径和逻辑节点,然后按照统一的编码规则对其每一个逻辑节点进行数字化编码,以标识每一个逻辑节点在程序逻辑中的位置和逻辑节点上下文关系,并将这些数字化后的逻辑节点在被测程序中打标,接着全面分析程序中各个逻辑节点的所有业务场景,为每个逻辑节点建立一套全景的测试案例库,为后续测试分析时测试案例的选择和复制做准备。测试分析时,通过对比上一批次软件版本,全景扫描被测程序当前版本的所有变更内容,通过所涉变更内容所属的逻辑节点确定被测的逻辑节点,最后根据被测逻辑节点所涉案例确定本次变更所涉及的测试案例,从而完成整个的单元测试分析工作。最后复制被选中的测试案例进行交易的自动发起,进而完成所有的单元测试工作。
基于本发明实施例提供的方法,在现有程序处理逻辑流程图基础上,设计一种能从源头系统开始端到端末端,能涵盖被测程序所有逻辑关系的方法,通过需求变更导致的程序代码变更内容的确立,确定被测程序单元测试所需的测试用例,以自动化发起测试用例的方式完成被测程序的单元测试任务,可提高单元测试的自动化水平和效率。
与图1所示的一种单元测试方法相对应的,本发明实施例还提供了一种单元测试装置,用于对图1中所示方法的具体实现,其结构示意图如图4所示,包括:
第一确定单元401,用于当需要对应用软件进行单元测试时,在预设的节点数据库中预先设置的多个逻辑节点中,确定所述应用软件对应的各个目标逻辑节点,并确定每个所述目标逻辑节点对应的节点关联关系和每个所述目标逻辑节点对应的测试案例编号;
判断单元402,用于判断所述应用软件的软件版本是否为初始版本;
第二确定单元403,用于若所述应用软件的软件版本为初始版本,则依据每个所述目标逻辑节点对应的测试案例编号,确定每个所述目标逻辑节点对应的测试案例;
第三确定单元404,用于依据各个所述目标逻辑节点对应的节点关联关系,确定每个所述目标逻辑节点对应的测试案例的执行顺序;
第一测试单元405,用于按照各个所述目标逻辑节点对应的测试案例的执行顺序,依次执行各个所述目标逻辑节点对应的测试案例,完成所述应用软件的单元测试过程。
基于本发明实施例提供的装置,当需要对应用软件进行单元测试时,在预设的节点数据库中预先设置的多个逻辑节点中,确定各个目标逻辑节点,并确定每个目标逻辑节点对应的节点关联关系和测试案例编号;判断应用软件的软件版本是否为初始版本;若应用软件的软件版本为初始版本,则依据每个目标逻辑节点对应的测试案例编号,确定每个目标逻辑节点对应的测试案例;依据各个目标逻辑节点对应的节点关联关系,确定每个目标逻辑节点对应的测试案例的执行顺序;按照各个目标逻辑节点对应的测试案例的执行顺序,依次执行各个目标逻辑节点对应的测试案例,完成应用软件的单元测试过程。应用本发明实施例提供的装置,在当前应用软件的测试过程中,可自动匹配当前应用软件对应的各个逻辑节点,根据各个逻辑节点的节点关联关系,确定各个逻辑节点对应的测试案例的执行顺序,依次执行各个测试案例,可实现自动化的单元测试。无需测试人员进行测试分析,进行测试案例的编排等等工作,可减少人工处理过程,提高测试效率。另外,可避免遗漏测试点,测试颗粒度统一,可提高测试准确性。
在上述实施例提供的装置的基础上,本发明实施例提供的装置中,还包括:
第四确定单元,用于若所述应用软件的软件版本并非为初始版本,则在所述各个目标逻辑节点中,确定各个变更逻辑节点;
第五确定单元,用于依据每个所述变更逻辑节点对应的节点关联关系,在各个所述目标逻辑节点中,确定每个所述变更逻辑节点对应的相连逻辑节点;
第六确定单元,用于将每个所述变更逻辑节点和每个所述变更逻辑节点对应的相连逻辑节点,确定为待测试逻辑节点;
第七确定单元,用于依据每个所述待测试逻辑节点对应的测试案例编号,确定每个所述待测试逻辑节点对应的测试案例;
第八确定单元,用于依据各个所述待测试逻辑节点对应的节点关联关系,确定每个所述待测试逻辑节点对应的测试案例的执行顺序;
第二测试单元,用于按照各个所述待测试逻辑节点对应的测试案例的执行顺序,依次执行各个所述待测试逻辑节点对应的测试案例,完成所述应用软件的单元测试过程。
在上述实施例提供的装置的基础上,本发明实施例提供的装置中,所述第四确定单元,包括:
第一确定子单元,用于确定所述应用软件对应的当前批次版本和目标批次版本,所述目标批次版本为所述当前批次版本的上一批次版本;
获取子单元,用于获取所述当前批次版本对应的第一软件代码和所述目标批次版本对应的第二软件代码;
第二确定子单元,用于依据所述第一软件代码和所述第二软件代码,确定所述第一软件代码对应的各个变更标记;
第三确定子单元,用于在所述各个目标逻辑节点中,确定每个所述变更标记对应的目标逻辑节点,并将每个所述变更标记对应的目标逻辑节点确定为所述变更逻辑节点。
在上述实施例提供的装置的基础上,本发明实施例提供的装置中,所述第二确定子单元,包括:
第一扫描子单元,用于对所述第一软件代码进行扫描,获得所述第一软件代码对应的多个预设标记;
第二扫描子单元,用于对所述第二软件代码进行扫描,获得所述第二软件代码对应的多个预设标记;
比对子单元,用于将所述第一软件代码对应的多个预设标记与所述第二软件代码对应的多个预设标记进行比对,获得所述第一软件代码对应的各个变更标记。
在上述实施例提供的装置的基础上,本发明实施例提供的装置中,还包括:
第九确定单元,用于当接收到用户发送的新软件对应的节点导入指令时,确定每个待导入的逻辑节点对应的节点信息,每个所述待导入的逻辑节点对应的节点信息包括该待导入的逻辑节点对应的程序名称、逻辑节点名称、上层逻辑节点、下层逻辑节点以及测试案例编号;
第十确定单元,用于依据各个所述待导入的逻辑节点对应的节点信息,确定每个所述待导入的逻辑节点对应的数字化编码信息;每个所述待导入的逻辑节点对应的数字化编码信息包括该待导入的逻辑节点对应的程序名称、逻辑节点名称、逻辑节点编号、上层逻辑节点编号、下层逻辑节点编号以及测试案例编号;
第一设置单元,用于将各个所述待导入的逻辑节点对应的数字化编码信息导入所述节点数据库,以完成各个所述待导入的逻辑节点的设置过程。
在上述实施例提供的装置的基础上,本发明实施例提供的装置中,还包括:
第十一确定单元,用于当接收到用户发送的已有软件对应的节点导入指令时,确定每个新增的逻辑节点对应的节点信息,每个所述新增的逻辑节点对应的节点信息包括该新增的逻辑节点对应的程序名称、逻辑节点名称、上层逻辑节点编号、下层逻辑节点编号和测试案例编号;
第十二确定单元,用于依据每个所述新增的逻辑节点对应的节点信息,确定每个所述新增的逻辑节点对应的数据化编码信息;每个所述新增的逻辑节点对应的数字化编码信息包括该新增的逻辑节点对应的程序名称、逻辑节点名称、逻辑节点编号、上层逻辑节点编号、下层逻辑节点编号以及测试案例编号;
第十三确定单元,用于在所述节点数据库中确定每个所述新增的逻辑节点对应的关联逻辑节点,以及每个所述关联逻辑节点对应的数字化编码信息;
第二设置单元,用于将各个所述新增的逻辑节点对应的数字化编码信息导入所述节点数据库,并依据每个所述新增的逻辑节点对应的数字化编码信息,对每个所述关联逻辑节点对应的数字化编码信息进行修改,以完成各个所述新增的逻辑节点的设置过程。
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如上述的单元测试方法。
本发明实施例还提供了一种电子设备,其结构示意图如图5所示,具体包括存储器501,以及一个或者一个以上的指令502,其中一个或者一个以上指令502存储于存储器501中,且经配置以由一个或者一个以上处理器503执行所述一个或者一个以上指令502进行以下操作:
当需要对应用软件进行单元测试时,在预设的节点数据库中预先设置的多个逻辑节点中,确定所述应用软件对应的各个目标逻辑节点,并确定每个所述目标逻辑节点对应的节点关联关系和每个所述目标逻辑节点对应的测试案例编号;
判断所述应用软件的软件版本是否为初始版本;
若所述应用软件的软件版本为初始版本,则依据每个所述目标逻辑节点对应的测试案例编号,确定每个所述目标逻辑节点对应的测试案例;
依据各个所述目标逻辑节点对应的节点关联关系,确定每个所述目标逻辑节点对应的测试案例的执行顺序;
按照各个所述目标逻辑节点对应的测试案例的执行顺序,依次执行各个所述目标逻辑节点对应的测试案例,完成所述应用软件的单元测试过程。
需要说明的是,本发明提供的单元测试方法及装置、存储介质及电子设备可用于金融领域或其他领域,例如,可用于金融领域中的业务系统的测试应用场景。其他领域为除金融领域之外的任意领域,例如,通信服务领域。上述仅为示例,并不对本发明提供的单元测试方法及装置、存储介质及电子设备的应用领域进行限定。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种单元测试方法,其特征在于,包括:
当需要对应用软件进行单元测试时,在预设的节点数据库中预先设置的多个逻辑节点中,确定所述应用软件对应的各个目标逻辑节点,并确定每个所述目标逻辑节点对应的节点关联关系和每个所述目标逻辑节点对应的测试案例编号;
判断所述应用软件的软件版本是否为初始版本;
若所述应用软件的软件版本为初始版本,则依据每个所述目标逻辑节点对应的测试案例编号,确定每个所述目标逻辑节点对应的测试案例;
依据各个所述目标逻辑节点对应的节点关联关系,确定每个所述目标逻辑节点对应的测试案例的执行顺序;
按照各个所述目标逻辑节点对应的测试案例的执行顺序,依次执行各个所述目标逻辑节点对应的测试案例,完成所述应用软件的单元测试过程。
2.根据权利要求1所述的方法,其特征在于,所述逻辑节点的设置过程,包括:
当接收到用户发送的新软件对应的节点导入指令时,确定每个待导入的逻辑节点对应的节点信息,每个所述待导入的逻辑节点对应的节点信息包括该待导入的逻辑节点对应的程序名称、逻辑节点名称、上层逻辑节点、下层逻辑节点以及测试案例编号;
依据各个所述待导入的逻辑节点对应的节点信息,确定每个所述待导入的逻辑节点对应的数字化编码信息;每个所述待导入的逻辑节点对应的数字化编码信息包括该待导入的逻辑节点对应的程序名称、逻辑节点名称、逻辑节点编号、上层逻辑节点编号、下层逻辑节点编号以及测试案例编号;
将各个所述待导入的逻辑节点对应的数字化编码信息导入所述节点数据库,以完成各个所述待导入的逻辑节点的设置过程。
3.根据权利要求1所述的方法,其特征在于,所述逻辑节点的设置过程,包括:
当接收到用户发送的已有软件对应的节点导入指令时,确定每个新增的逻辑节点对应的节点信息,每个所述新增的逻辑节点对应的节点信息包括该新增的逻辑节点对应的程序名称、逻辑节点名称、上层逻辑节点编号、下层逻辑节点编号和测试案例编号;
依据每个所述新增的逻辑节点对应的节点信息,确定每个所述新增的逻辑节点对应的数据化编码信息;每个所述新增的逻辑节点对应的数字化编码信息包括该新增的逻辑节点对应的程序名称、逻辑节点名称、逻辑节点编号、上层逻辑节点编号、下层逻辑节点编号以及测试案例编号;
在所述节点数据库中确定每个所述新增的逻辑节点对应的关联逻辑节点,以及每个所述关联逻辑节点对应的数字化编码信息;
将各个所述新增的逻辑节点对应的数字化编码信息导入所述节点数据库,并依据每个所述新增的逻辑节点对应的数字化编码信息,对每个所述关联逻辑节点对应的数字化编码信息进行修改,以完成各个所述新增的逻辑节点的设置过程。
4.根据权利要求1所述的方法,其特征在于,还包括:
若所述应用软件的软件版本并非为初始版本,则在所述各个目标逻辑节点中,确定各个变更逻辑节点;
依据每个所述变更逻辑节点对应的节点关联关系,在各个所述目标逻辑节点中,确定每个所述变更逻辑节点对应的相连逻辑节点;
将每个所述变更逻辑节点和每个所述变更逻辑节点对应的相连逻辑节点,确定为待测试逻辑节点;
依据每个所述待测试逻辑节点对应的测试案例编号,确定每个所述待测试逻辑节点对应的测试案例;
依据各个所述待测试逻辑节点对应的节点关联关系,确定每个所述待测试逻辑节点对应的测试案例的执行顺序;
按照各个所述待测试逻辑节点对应的测试案例的执行顺序,依次执行各个所述待测试逻辑节点对应的测试案例,完成所述应用软件的单元测试过程。
5.根据权利要求4所述的方法,其特征在于,所述在所述各个目标逻辑节点中,确定各个变更逻辑节点,包括:
确定所述应用软件对应的当前批次版本和目标批次版本,所述目标批次版本为所述当前批次版本的上一批次版本;
获取所述当前批次版本对应的第一软件代码和所述目标批次版本对应的第二软件代码;
依据所述第一软件代码和所述第二软件代码,确定所述第一软件代码对应的各个变更标记;
在所述各个目标逻辑节点中,确定每个所述变更标记对应的目标逻辑节点,并将每个所述变更标记对应的目标逻辑节点确定为所述变更逻辑节点。
6.根据权利要求5所述的方法,其特征在于,所述依据所述第一软件代码和所述第二软件代码,确定所述第一软件代码对应的各个变更标记,包括:
对所述第一软件代码进行扫描,获得所述第一软件代码对应的多个预设标记;
对所述第二软件代码进行扫描,获得所述第二软件代码对应的多个预设标记;
将所述第一软件代码对应的多个预设标记与所述第二软件代码对应的多个预设标记进行比对,获得所述第一软件代码对应的各个变更标记。
7.一种单元测试装置,其特征在于,包括:
第一确定单元,用于当需要对应用软件进行单元测试时,在预设的节点数据库中预先设置的多个逻辑节点中,确定所述应用软件对应的各个目标逻辑节点,并确定每个所述目标逻辑节点对应的节点关联关系和每个所述目标逻辑节点对应的测试案例编号;
判断单元,用于判断所述应用软件的软件版本是否为初始版本;
第二确定单元,用于若所述应用软件的软件版本为初始版本,则依据每个所述目标逻辑节点对应的测试案例编号,确定每个所述目标逻辑节点对应的测试案例;
第三确定单元,用于依据各个所述目标逻辑节点对应的节点关联关系,确定每个所述目标逻辑节点对应的测试案例的执行顺序;
第一测试单元,用于按照各个所述目标逻辑节点对应的测试案例的执行顺序,依次执行各个所述目标逻辑节点对应的测试案例,完成所述应用软件的单元测试过程。
8.根据权利要求7所述的装置,其特征在于,还包括:
第四确定单元,用于若所述应用软件的软件版本并非为初始版本,则在所述各个目标逻辑节点中,确定各个变更逻辑节点;
第五确定单元,用于依据每个所述变更逻辑节点对应的节点关联关系,在各个所述目标逻辑节点中,确定每个所述变更逻辑节点对应的相连逻辑节点;
第六确定单元,用于将每个所述变更逻辑节点和每个所述变更逻辑节点对应的相连逻辑节点,确定为待测试逻辑节点;
第七确定单元,用于依据每个所述待测试逻辑节点对应的测试案例编号,确定每个所述待测试逻辑节点对应的测试案例;
第八确定单元,用于依据各个所述待测试逻辑节点对应的节点关联关系,确定每个所述待测试逻辑节点对应的测试案例的执行顺序;
第二测试单元,用于按照各个所述待测试逻辑节点对应的测试案例的执行顺序,依次执行各个所述待测试逻辑节点对应的测试案例,完成所述应用软件的单元测试过程。
9.一种存储介质,其特征在于,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行如权利要求1~6任意一项所述的单元测试方法。
10.一种电子设备,其特征在于,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行如权利要求1~6任意一项所述的单元测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210460617.6A CN114860589A (zh) | 2022-04-28 | 2022-04-28 | 单元测试方法及装置、存储介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210460617.6A CN114860589A (zh) | 2022-04-28 | 2022-04-28 | 单元测试方法及装置、存储介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114860589A true CN114860589A (zh) | 2022-08-05 |
Family
ID=82634198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210460617.6A Pending CN114860589A (zh) | 2022-04-28 | 2022-04-28 | 单元测试方法及装置、存储介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114860589A (zh) |
-
2022
- 2022-04-28 CN CN202210460617.6A patent/CN114860589A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111061733B (zh) | 数据处理方法、装置、电子设备和计算机可读存储介质 | |
CN113672520B (zh) | 测试案例的生成方法、装置、电子设备及存储介质 | |
CN107341106A (zh) | 应用程序兼容性检测方法、开发终端及存储介质 | |
CN111984882A (zh) | 数据处理方法、系统及设备 | |
CN112905451A (zh) | 应用程序的自动化测试方法及装置 | |
JP2003114813A (ja) | 分析サーバ、プログラム分析ネットワークシステム、およびプログラム分析方法 | |
CN114116801A (zh) | 数据清单核查方法及装置 | |
CN113688134A (zh) | 基于多维数据的可视化变量管理方法、系统及设备 | |
CN108008977A (zh) | 一种面向函数外包的软件开发服务平台 | |
CN116955193A (zh) | 接口测试方法、装置、设备及存储介质 | |
CN114860589A (zh) | 单元测试方法及装置、存储介质及电子设备 | |
CN115422059A (zh) | 一种测试用例自动生成系统、方法、设备及存储介质 | |
CN113656022B (zh) | 软件开发方法、装置、计算机设备和存储介质 | |
CN113515452B (zh) | 应用的自动测试方法、系统、电子设备及存储介质 | |
CN114579470A (zh) | 一种单元测试方法、装置、电子设备及存储介质 | |
CN112363700A (zh) | 智能合约的协同创建方法、装置、计算机设备和存储介质 | |
CN113031835A (zh) | 一种菜单数据处理方法及装置 | |
CN110058845A (zh) | 一种模型构件文件的管理方法、设备和系统 | |
CN116521572B (zh) | 网页脚本可视化验证方法、系统、终端设备和存储介质 | |
CN118170686B (zh) | 一种ui自动化测试脚本的生成方法、设备及介质 | |
CN117785698B (zh) | 一种软件测试用例方法、装置、电子设备和存储介质 | |
CN113111353B (zh) | 基于依赖关系的容器镜像库安全评估系统及方法 | |
Gray | A Demo Modelling Tool that Facilitates Semi-Automatic Demo-to-BPMN Transformations | |
CN115599810A (zh) | 在线考试科目选择控制方法、设备及可读存储介质 | |
Putra | COMPARISON BETWEEN TRIAL ERROR METHOD AND INTEGRATION TESTING METHOD ON THE SERVICE MENU AT PT. HARTONO ISTANA TEKNOLOGI |
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 |