CN116185818A - 一种代码测试方法、装置、电子设备及存储介质 - Google Patents
一种代码测试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116185818A CN116185818A CN202211538468.7A CN202211538468A CN116185818A CN 116185818 A CN116185818 A CN 116185818A CN 202211538468 A CN202211538468 A CN 202211538468A CN 116185818 A CN116185818 A CN 116185818A
- Authority
- CN
- China
- Prior art keywords
- code
- tested
- test
- time
- weight
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 562
- 238000000034 method Methods 0.000 claims abstract description 69
- 238000001514 detection method Methods 0.000 claims abstract description 41
- 230000004044 response Effects 0.000 claims description 27
- 238000009434 installation Methods 0.000 claims description 22
- 238000012163 sequencing technique Methods 0.000 claims description 12
- 230000008569 process Effects 0.000 description 33
- 238000010586 diagram Methods 0.000 description 20
- 238000007726 management method Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000006399 behavior Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000003111 delayed effect Effects 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013524 data verification Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000011056 performance test Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/3684—Test management for test design, e.g. generating new test cases
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Testing Or Calibration Of Command Recording Devices (AREA)
Abstract
本申请提供了一种代码测试方法、装置、电子设备及存储介质;所述方法包括:获取待测试代码的相关信息;所述相关信息包括:所述待测试代码的优先级参数;对所述待测试代码进行分支检测;响应于所述待测试代码通过所述分支检测,基于所述优先级参数,测试所述待测试代码。如此,能够智能地进行代码测试,简化了代码测试的流程和提高了代码测试的效率。
Description
技术领域
本申请涉及测试技术,尤其涉及一种代码测试方法、装置、电子设备及存储介质。
背景技术
随着测试技术的快速发展和广泛使用,人们使用测试技术进行代码测试成为测试技术应用的主流。但是代码测试的过程中,现有的代码测试方法是通过人工检测代码的准入门槛,现有的代码测试方法需要人工记录代码测试的延期情况,且人工整理测试日志,导致代码测试的流程复杂,人们更希望能够简化代码测试的流程,提高代码测试的效率。
因此,如何智能地进行代码测试,以简化代码测试的流程和提高代码测试的效率是一直追求的目标。
发明内容
本申请实施例提供了一种代码测试方法、装置、电子设备及存储介质。
根据本申请的第一方面,提供了一种代码测试方法,该方法包括:获取待测试代码的相关信息;所述相关信息包括:所述待测试代码的优先级参数;对所述待测试代码进行分支检测;响应于所述待测试代码通过所述分支检测,基于所述优先级参数,测试所述待测试代码。
根据本申请一实施方式,所述对所述待测试代码进行分支检测,包括:确定所述待测试代码对应的至少一个测试需求;按照所述至少一个测试需求对所述待测试代码进行测试,检测每个所述测试需求是否均通过测试;响应于每个所述测试需求均通过所述测试,则确定所述待测试代码通过所述分支检测。
根据本申请一实施方式,所述按照所述至少一个测试需求对所述待测试代码进行测试,包括:检测是否存在所述待测试代码的相关的版本安装包;检测所述相关的版本安装包是否已经与所述待测试代码合并。
根据本申请一实施方式,所述基于所述相关信息和待测试代码的测试优先级,测试所述待测试代码之前,所述方法还包括:基于所述优先级参数确定所述待测试代码的权重;按照所述待测试代码的权重由大到小的顺序对全部所述待测试代码进行排序,得到测试优先级序列。
根据本申请一实施方式,所述基于所述优先级参数确定所述待测试代码的权重,包括:所述待测试代码的优先级参数包括:所述待测试代码的预设测试时刻、所述待测试代码的测试类型和所述待测试代码的关联性中的至少一项;若所述优先级参数包括所述待测试代码的预设测试时刻,则确定所述待测试代码的预设测试时刻对应的时间权重;若所述优先级参数包括所述待测试代码的测试类型,则确定所述待测试代码的测试类型对应的类型权重;若所述优先级参数包括所述待测试代码的关联性,则确定所述待测试代码的关联性对应的关联性权重;基于所确定的所述优先级参数对应的权重确定所述待测试代码的权重。
根据本申请一实施方式,所述确定所述待测试代码的预设测试时刻对应的时间权重,包括:响应于所述预设测试时刻早于当前时刻,确定所述待测试代码的预设测试时刻为第一时刻的情况下的时间权重,大于所述待测试代码的预设测试时刻为第二时刻的情况下的时间权重;其中,所述第一时刻早于所述第二时刻;响应于所述预设测试时刻晚于所述当前时刻,确定所述待测试代码的预设测试时刻为第三时刻的情况下的时间权重,大于所述待测试代码的预设测试时刻为第四时刻的情况下的时间权重;其中,所述第三时刻早于所述第四时刻;确定所述待测试代码的所述预设测试时刻早于所述当前时刻的情况下的时间权重,大于所述待测试代码的所述预设测试时刻晚于所述当前时刻的情况下的时间权重。
根据本申请一实施方式,所述确定所述待测试代码的关联性对应的关联性权重,包括:所述待测试代码对应的关联性权重与依赖所述待测试代码的测试结果的代码数量有关;确定依赖所述待测试代码的测试结果的代码数量为第一值的情况下所述关联性权重,大于所述待测试代码的测试结果的代码数量为第二值的情况下所述关联性权重;其中,所述第一值大于所述第二值。
根据本申请一实施方式,所述基于所述优先级参数,测试所述待测试代码,包括:所述相关信息还包括:所述待测试代码的测试地址、所述待测试代码对应的代码数据库的接口信息和所述待测试代码的测试账号信息中的至少一项;基于所述测试优先级序列,对所述代码数据库包括的所述待测试代码之间进行合并或部署;按照所述测试优先级序列,依次将所述待测试代码发送至所述测试地址;调用所述测试地址对应的测试软件,对所述待测试代码进行测试,得到所述待测试代码的测试日志和测试结果;将所述测试日志和所述测试结果存储至结果数据库。
根据本申请一实施方式,所述基于所述优先级参数,测试所述待测试代码,还包括:确定所述测试账号信息对应的用户端;接收所述用户端发送的控制指令;基于所述控制指令,控制所述测试软件对所述待测试代码进行测试。
根据本申请的第二方面,提供了一种代码测试装置,该代码测试装置包括:获取模块,用于获取待测试代码的相关信息;所述相关信息包括:所述待测试代码的优先级参数;分支检测模块,用于对所述待测试代码进行分支检测;测试模块,用于响应于所述待测试代码通过所述分支检测,基于所述优先级参数,测试所述待测试代码。
根据本申请一实施方式,所述分支检测模块用于:确定所述待测试代码对应的至少一个测试需求;按照所述至少一个测试需求对所述待测试代码进行测试,检测每个所述测试需求是否均通过测试;响应于每个所述测试需求均通过所述测试,则确定所述待测试代码通过所述分支检测。
根据本申请一实施方式,所述分支检测模块用于:检测是否存在所述待测试代码的相关的版本安装包;检测所述相关的版本安装包是否已经与所述待测试代码合并。
根据本申请一实施方式,所述代码测试装置还包括优先级确定模块,所述优先级确定模块用于:基于所述优先级参数确定所述待测试代码的权重;按照所述待测试代码的权重由大到小的顺序对全部所述待测试代码进行排序,得到测试优先级序列。
根据本申请一实施方式,所述待测试代码的优先级参数包括:所述待测试代码的预设测试时刻、所述待测试代码的测试类型和所述待测试代码的关联性中的至少一项,所述优先级确定模块用于:若所述优先级参数包括所述待测试代码的预设测试时刻,则确定所述待测试代码的预设测试时刻对应的时间权重;若所述优先级参数包括所述待测试代码的测试类型,则确定所述待测试代码的测试类型对应的类型权重;若所述优先级参数包括所述待测试代码的关联性,则确定所述待测试代码的关联性对应的关联性权重;基于所确定的所述优先级参数对应的权重确定所述待测试代码的权重。
根据本申请一实施方式,所述优先级确定模块用于:响应于所述预设测试时刻早于当前时刻,确定所述待测试代码的预设测试时刻为第一时刻的情况下的时间权重,大于所述待测试代码的预设测试时刻为第二时刻的情况下的时间权重;其中,所述第一时刻早于所述第二时刻;响应于所述预设测试时刻晚于所述当前时刻,确定所述待测试代码的预设测试时刻为第三时刻的情况下的时间权重,大于所述待测试代码的预设测试时刻为第四时刻的情况下的时间权重;其中,所述第三时刻早于所述第四时刻;确定所述待测试代码的所述预设测试时刻早于所述当前时刻的情况下的时间权重,大于所述待测试代码的所述预设测试时刻晚于所述当前时刻的情况下的时间权重。
根据本申请一实施方式,所述待测试代码对应的关联性权重与依赖所述待测试代码的测试结果的代码数量有关,所述优先级确定模块用于:确定依赖所述待测试代码的测试结果的代码数量为第一值的情况下所述关联性权重,大于所述待测试代码的测试结果的代码数量为第二值的情况下所述关联性权重;其中,所述第一值大于所述第二值。
根据本申请一实施方式,所述相关信息还包括:所述待测试代码的测试地址、所述待测试代码对应的代码数据库的接口信息和所述待测试代码的测试账号信息中的至少一项,所述测试模块用于:基于所述测试优先级序列,对所述代码数据库包括的所述待测试代码之间进行合并或部署;按照所述测试优先级序列,依次将所述待测试代码发送至所述测试地址;调用所述测试地址对应的测试软件,对所述待测试代码进行测试,得到所述待测试代码的测试日志和测试结果;将所述测试日志和所述测试结果存储至结果数据库。
根据本申请一实施方式,所述测试模块还用于:确定所述测试账号信息对应的用户端;接收所述用户端发送的控制指令;基于所述控制指令,控制所述测试软件对所述待测试代码进行测试。
根据本申请的第三方面,提供了一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请所述的方法。
根据本申请的第四方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行本申请所述的方法。
本申请实施例的方法,获取待测试代码的相关信息;所述相关信息包括:所述待测试代码的优先级参数;对所述待测试代码进行分支检测;响应于所述待测试代码通过所述分支检测,基于所述优先级参数,测试所述待测试代码。如此,能够智能地进行代码测试,简化了代码测试的流程和提高了代码测试的效率。
需要理解的是,本申请的教导并不需要实现上面所述的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本申请的其他实施方式还能够实现上面未提到的有益效果。
附图说明
通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,其中:
在附图中,相同或对应的标号表示相同或对应的部分。
图1示出了本申请实施例提供的代码测试方法的处理流程示意图一;
图2示出了本申请实施例提供的代码测试方法的处理流程示意图二;
图3示出了本申请实施例提供的代码测试方法的处理流程示意图三;
图4示出了本申请实施例提供的代码测试方法的处理流程示意图四;
图5示出了本申请实施例提供的代码测试方法的处理流程示意图五;
图6示出了本申请实施例提供的代码测试方法的处理流程示意图六;
图7示出了本申请实施例提供的代码测试方法的处理流程示意图七;
图8示出了本申请实施例提供的代码测试方法的一种应用场景图;
图9示出了本申请实施例提供的代码测试装置的一种可选示意图;
图10示出了本申请实施例提供的电子设备的组成结构示意图。
具体实施方式
为使本申请的目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二”仅仅是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
相关技术中,已知的代码测试的技术方案,由于通过人工检测代码的准入门槛,需要人工记录代码测试的延期情况,且人工整理测试日志。导致相关技术在代码测试过程中需要的测试时间较长,且整理的测试日志无法用于后续统计,进而出现代码测试的流程复杂,且代码测试的效率较低的问题。
针对相关技术提供的上述代码测试方法,在代码测试过程中需要的测试时间较长,且整理的测试日志无法用于后续统计,进而出现代码测试的流程复杂,且代码测试的效率较低的问题,本申请实施例的方法,获取待测试代码的相关信息;相关信息包括:待测试代码的优先级参数;对待测试代码进行分支检测;响应于待测试代码通过分支检测,基于优先级参数,测试待测试代码。如此,能够智能地进行代码测试,自动通过流程化工具检测代码的准入门槛,自动记录代码测试的延期情况,控制延期的代码测试的进度,自动整理代码测试的测试日志,无需人工记录,测试日志可以用于代码测试流程的复盘改进,简化了代码测试的流程,减少了代码测试的工时,进而提高了代码测试的效率。因此,与相关技术中代码测试方法需要的测试时间较长,代码测试的流程复杂,且代码测试的效率较低相比,本申请的代码测试方法能够简化代码测试的流程,提高了代码测试的效率。
对本申请实施例提供的代码测试方法中的处理流程进行说明。参见图1,图1是本申请实施例提供的代码测试方法的处理流程示意图一,将结合图1示出的步骤S101-S103进行说明。
步骤S101,获取待测试代码的相关信息,相关信息包括:待测试代码的优先级参数。
在一些实施例中,相关信息可以包括:待测试代码的优先级参数、待测试代码的测试地址、待测试代码对应的代码数据库的接口信息和待测试代码的测试账号信息中的至少一项。其中,待测试代码的优先级参数可以包括:待测试代码的预设测试时刻、待测试代码的测试类型和待测试代码的关联性中的至少一项。
在一些实施例中,获取待测试代码的相关信息可以包括:向用户提供测试代码输入界面,采集从测试代码输入界面中输入的相关信息。
步骤S102,对待测试代码进行分支检测。
在一些实施例中,步骤S102可以包括:确定待测试代码对应的至少一个测试需求;按照至少一个测试需求对待测试代码进行测试,检测每个测试需求是否均通过测试;响应于每个测试需求均通过测试,则确定待测试代码通过分支检测。其中,测试需求可以包括:是否存在待测试代码的相关的版本安装包。测试需求还可以包括:相关的版本安装包是否已经与待测试代码合并。测试需求还可以包括其他测试需求,本申请实施例不作限定。
作为示例,确定待测试代码对应的测试需求包括:是否存在待测试代码的相关的版本安装包和相关的版本安装包是否已经与待测试代码合并。检测是否存在待测试代码的相关的版本安装包;检测相关的版本安装包是否已经与待测试代码合并。响应于存在待测试代码的相关的版本安装包,且相关的版本安装包已经与待测试代码合并,则确定待测试代码通过分支检测。
步骤S103,响应于待测试代码通过所述分支检测,基于优先级参数,测试待测试代码。
在一些实施例中,步骤S103之前,代码测试方法还可以包括:基于优先级参数,确定待测试代码的测试优先级。在具体实施时,基于优先级参数,确定待测试代码的测试优先级可以包括:基于优先级参数确定待测试代码的权重;按照待测试代码的权重由大到小的顺序对全部待测试代码进行排序,得到测试优先级序列。
针对基于优先级参数确定待测试代码的权重,在具体实施时,若优先级参数包括待测试代码的预设测试时刻,则确定待测试代码的预设测试时刻对应的时间权重;若优先级参数包括待测试代码的测试类型,则确定待测试代码的测试类型对应的类型权重;若优先级参数包括待测试代码的关联性,则确定待测试代码的关联性对应的关联性权重;基于所确定的优先级参数对应的权重确定待测试代码的权重。
针对时间权重,时间权重可以包括:待检测代码预先设定的测试时刻对应的权重。响应于预设测试时刻早于当前时刻,确定待测试代码的预设测试时刻为第一时刻的情况下的时间权重,大于待测试代码的预设测试时刻为第二时刻的情况下的时间权重,其中,第一时刻早于第二时刻;响应于预设测试时刻晚于当前时刻,确定待测试代码的预设测试时刻为第三时刻的情况下的时间权重,大于待测试代码的预设测试时刻为第四时刻的情况下的时间权重,其中,第三时刻早于第四时刻;确定待测试代码的预设测试时刻早于当前时刻的情况下的时间权重,大于待测试代码的预设测试时刻晚于当前时刻的情况下的时间权重。本申请实施例不限定第一时刻和第二时刻的具体时刻。
作为示例,当前时刻为2022年10月25日15:39:41,待检测代码1的预设测试时刻为2022年10月25日14:39:41,待检测代码2的预设测试时刻为2022年10月25日16:39:41,待检测代码1的预设测试时刻早于当前时刻,待检测代码2的预设测试时刻晚于当前时刻,确定待检测代码1的时间权重大于待检测代码2的时间权重。
针对类型权重,类型权重可以包括:需要优先检测的待检测代码的权重、需要次优先检测的待检测代码的权重和需要最后检测的待检测代码权重。在具体实施时,可以将待检测代码的类型权重划分为两种或两种以上,还可以划分为其他种数,本申请实施例不限定待检测代码的类型权重划分种数。若优先级参数包括待检测代码的测试类型,且测试类型为需要优先检测的待检测代码,则确定该待检测代码的类型权重最高;若优先级参数包括待检测代码的测试类型,且测试类型为需要次优先检测的待检测代码,则确定该待检测代码的类型权重次高;若优先级参数包括待检测代码的测试类型,且测试类型为需要最后检测的待检测代码,则确定该待检测代码的类型权重最低。
作为示例,待检测代码3的测试类型为需要优先检测的待检测代码,待检测代码4的测试类型为需要次优先检测的待检测代码,待检测代码5的测试类型为需要最后测试的待检测代码,则待检测代码3的类型权重为5.1,待检测代码4的类型权重为2.1,待检测代码5的类型权重为0.7。
针对关联性权重,关联性权重可以包括:待测试代码对应的关联性权重与依赖待测试代码的测试结果的代码数量有关。依赖待检测代码的测试结果的代码数量,可以包括:其他代码的数量,其中,其他代码的测试依赖于待检测代码的测试结果。确定其他代码的数量为第一值的情况下的关联性权重,大于其他代码的数量为第二值的情况下的关联性权重;其中,第一值大于第二值,其他代码的测试依赖于待检测代码的测试结果,本申请实施例中,第一值和第二值为正整数,本申请实施例不限定第一值和第二值的具体数值。
作为示例,测试代码A和测试代码B的测试依赖于待检测代码6的测试结果,测试代码C、测试代码D和测试代码E的测试依赖于待检测代码7的测试结果,则确定待检测代码6的关联性权重为3.0,确定待检测代码7的关联性权重为5.0,待检测代码7的关联性权重大于待检测代码6的关联性权重。
针对基于所确定的优先级参数对应的权重确定待测试代码的权重,所确定的优先级参数对应的权重可以包括:类型权重、关联性权重和时间权重中的至少一项。若所确定的优先级参数对应的权重为类型权重、关联性权重和时间权重中的一项,则确定待检测代码的权重为所确定的一项优先级参数对应的权重。若所确定的优先级参数对应的权重为类型权重、关联性权重和时间权重,则确定待检测代码的权重为类型权重、关联性权重和时间权重的加和。基于所确定的优先级参数对应的权重确定待检测代码的权重,还可以包括:若所确定的优先级参数对应的权重为类型权重、关联性权重和时间权重中的两项,则确定待检测代码的权重为所确定的两项优先级参数对应的权重加和。
在具体实施时,待检测代码的测试类型对应类型权重,待检测代码的关联性对应关联性权重,待检测代码的预设测试时刻对应时间权重;类型权重、关联性权重和时间权重对待检测代码的测试优先级的影响不同。作为示例,可以是类型权重对待检测代码的测试优先级的影响最大,关联性权重对待检测代码的测试优先级的影响次之,时间权重对待检测代码的测试优先级的影响最小。根据各项权重对待检测代码的测试优先级的影响不同,在加和类型权重、关联性权重和时间权重时需要先分别乘以各项权重对待检测代码的测试优先级影响的占比,再进行加和各项权重。
作为示例,若待检测代码的权重为1,则类型权重占比0.5,关联性权重占比0.3,时间权重占比0.2。待检测代码8所确定的类型权重为4.1,关联性权重为2.1及时间权重为5.6,待检测代码8的权重J=0.5*4.1+0.3*2.1+0.2*5.6=3.8,则确定待检测代码8的权重J为3.8。
针对按照待测试代码的权重由大到小的顺序对全部待测试代码进行排序,得到测试优先级序列,在具体实施时,待检测代码的权重越大,对应的待检测代码的测试优先级越大。在具体实施时,按照待检测代码的权重由大到小的顺序对代码数据库中全部待检测代码进行排序,得到测试优先级序列,其中,测试优先级序列中的待检测代码按照测试优先级由大到小的顺序排列。
在一些实施例中,步骤S103可以包括:基于测试优先级序列,对代码数据库包括的待测试代码之间进行合并或部署;按照测试优先级序列,依次将待测试代码发送至测试地址;调用测试地址对应的测试软件,对待测试代码进行测试,得到待测试代码的测试日志和测试结果;将测试日志和测试结果存储至结果数据库。其中,待测试代码之间进行合并可以包括:按照测试优先级序列,响应于至少两个待测试代码需要同时进行测试时,则将至少两个待测试代码进行合并。待测试代码之间进行关联可以包括:按照测试优先级序列,至少一个待测试代码的测试需要待测试代码H的测试结果,则将待测试代码H与至少一个待测试代码关联。其中,待测试代码H为任一待测试代码。测试地址可以包括:待测试代码对应的测试服务器的地址信息。测试日志可以包括:按时间或按行为记录的测试行为。测试行为可以包括测试进度、错误报告和测试过程中与测试人员的交互信息。测试行为还可以包括其他测试行为,本申请实施例不作限定。测试结果可以包括:代码程序无法运行、代码程序正常运行、测试资源消耗和代码程序的性能。测试结果还可以包括其他测试结果,本申请实施例不作限定。
在一些实施例中,步骤S103还可以包括:确定测试账号信息对应的用户端;接收用户端发送的控制指令;基于控制指令,控制测试软件对待测试代码进行测试。其中,测试账号信息可以包括:提交待测试代码的用户端的账号信息和审批待测试代码的用户端的账号信息。测试账号信息还可以包括其他用户端的账号信息,本申请实施例不作限定。控制指令可以包括:请求对待测试代码进行修改的指令、请求对待测试代码进行停止测试的指令和请求对待测试代码进行暂停测试的指令,控制指令还可以包括其他测试软件对应的控制指令,本申请实施例不作限定。
在一些实施例中,对所述代码测试方法的处理流程示意图二,如图2所示,包括:
步骤S201,确定待测试代码对应的至少一个测试需求。
步骤S202,检测是否存在待测试代码的相关的版本安装包。
步骤S203,检测相关的版本安装包是否已经与待测试代码合并。
步骤S204,响应于存在待测试代码的相关的版本安装包,且相关的版本安装包已经与待测试代码合并,则确定待测试代码通过分支检测。
针对步骤S201-S204的每个步骤的具体说明,与上述步骤S102相同,这里不再赘述。
在一些实施例中,对所述代码测试方法的处理流程示意图三,如图3所示,包括:
步骤S301,基于优先级参数确定待测试代码的权重。
步骤S302,按照待测试代码的权重由大到小的顺序对全部待测试代码进行排序,得到测试优先级序列。
在一些实施例中,以优先级参数中只包括待测试代码的测试类型为例,优先级参数中只包括一项的情况下测试优先级序列确定过程如下:
获取代码数据库中待测试代码的优先级参数,优先级参数包括待测试代码的测试类型。确定待测试代码的测试类型对应的类型权重;
基于所确定的类型权重确定待测试代码的权重,确定待测试代码的权重为所确定的类型权重乘以类型权重在待测试代码的权重中的占比;按照待测试代码的权重由大到小的顺序对代码数据库中全部待测试代码进行排序,得到测试优先级序列。
优先级参数中只包括待测试代码的关联性和只包括待测试代码的预设测试时刻的情况下测试优先级序列确定过程与上述过程类似,在此不做赘述。
在一些实施例中,以优先级参数中包括:待测试代码的测试类型和待测试代码的预设测试时刻为例,优先级参数中包括两项的情况下测试优先级序列确定如下:
获取代码数据库中待测试代码的优先级参数,优先级参数包括待测试代码的测试类型和待测试代码的预设测试时刻。确定待测试代码的测试类型对应的类型权重和待测试代码的预设测试时刻对应的时间权重。
基于所确定的类型权重和时间权重确定待测试代码的权重,先将类型权重乘以类型权重分别在待测试代码的权重中的占比,将时间权重乘以时间权重在待测试代码的权重中的占比,再将乘以占比后的类型权重和乘以占比后的时间权重加和;按照待测试代码的权重由大到小的顺序对代码数据库中全部待测试代码进行排序,得到测试优先级序列。
优先级参数中包括待测试代码的测试类型和待测试代码的关联性及包括待测试代码的关联性和待测试代码的预设测试时刻两项的情况下代码测试过程与上述过程类似,在此不做赘述。
在一些实施例中,以优先级参数中包括:待测试代码的测试类型、待测试代码的关联性和待测试代码的预设测试时刻为例,优先级参数中包括三项的情况下代码测试过程如下:
获取代码数据库中待测试代码的优先级参数,优先级参数包括待测试代码的测试类型、待测试代码的关联性和待测试代码的预设测试时刻。确定待测试代码的类型对应的类型权重、待测试代码的关联性对应的关联性权重和待测试代码的预设测试时刻对应的时间权重。
基于所确定的类型权重、关联性权重和时间权重确定待测试代码的权重,先将类型权重乘以类型权重分别在待测试代码的权重中的占比,将关联性权重乘以关联性权重分别在待测试代码的权重中的占比,将时间权重乘以时间权重在待测试代码的权重中的占比,再将乘以占比后的类型权重、乘以占比后的关联性权重和乘以占比后的时间权重加和,确定待测试代码的权重为类型权重、关联性权重和时间权重加和;按照待测试代码的权重由大到小的顺序对代码数据库中全部待测试代码进行排序,得到测试优先级序列。
在一些实施例中,对所述代码测试方法的处理流程示意图四,如图4所示,包括:
步骤S400,确定待测试代码对应的优先级参数。
在一些实施例中,待测试代码对应的优先级参数可以包括:待测试代码的预设测试时刻、待测试代码的测试类型和待测试代码的关联性中的一种或多种。作为示例,优先级参数可以只包括待测试代码的预设测试时刻;优先级参数也可以包括:待测试代码的测试类型和待测试代码的预设测试时刻;优先级参数还可以包括:待测试代码的测试类型、待测试代码的关联性和待测试代码的预设测试时刻。
步骤S401,若优先级参数包括待测试代码的预设测试时刻,则确定待测试代码的预设测试时刻对应的时间权重。
作为示例,针对步骤S401,在具体实施时,当前时刻为2022年10月25日15:39:41,待检测代码a的预设测试时刻为2022年10月25日12:39:41,待检测代码b的预设测试时刻为2022年10月25日14:39:41,待检测代码a的预设测试时刻和待检测代码b的预设测试时刻均早于当前时刻,待检测代码a的预设测试时刻早于待检测代码b的预设测试时刻,确定待检测代码a的时间权重大于待检测代码b的时间权重。
步骤S402,若优先级参数包括待测试代码的测试类型,则确定待测试代码的测试类型对应的类型权重。
步骤S403,若优先级参数包括待测试代码的关联性,则确定待测试代码的关联性对应的关联性权重。
步骤S404,基于所确定的优先级参数对应的权重确定待测试代码的权重。
针对步骤S401-S404的每个步骤的具体说明,与上述步骤S103相同,这里不再赘述。
在一些实施例中,对所述代码测试方法的处理流程示意图五,如图5所示,包括:
步骤S501,响应于预设测试时刻早于当前时刻,确定待测试代码的预设测试时刻为第一时刻的情况下的时间权重,大于待测试代码的预设测试时刻为第二时刻的情况下的时间权重;其中,第一时刻早于第二时刻。
步骤S502,响应于预设测试时刻晚于当前时刻,确定待测试代码的预设测试时刻为第三时刻的情况下的时间权重,大于待测试代码的预设测试时刻为第四时刻的情况下的时间权重;其中,第三时刻早于第四时刻。
作为示例,针对步骤S502,在具体实施时,当前时刻为2022年10月25日11:39:41,待检测代码c的预设测试时刻为2022年10月25日12:39:41,待检测代码d的预设测试时刻为2022年10月25日14:39:41,待检测代码c的预设测试时刻和待检测代码d的预设测试时刻均晚于当前时刻,待检测代码c的预设测试时刻早于待检测代码d的预设测试时刻,确定待检测代码c的时间权重大于待检测代码d的时间权重。
步骤S503,确定待测试代码的预设测试时刻早于当前时刻的情况下的时间权重,大于待测试代码的预设测试时刻晚于当前时刻的情况下的时间权重。
针对步骤S501-S503的每个步骤的具体说明,与上述步骤S103相同,这里不再赘述。
在一些实施例中,对所述代码测试方法的处理流程示意图六,如图6所示,包括:
步骤S601,基于测试优先级序列,对代码数据库包括的待测试代码之间进行合并或部署。
步骤S602,按照测试优先级序列,依次将待测试代码发送至测试地址。
步骤S603,调用测试地址对应的测试软件,对待测试代码进行测试,得到待测试代码的测试日志和测试结果。
在一些实施例中,测试软件可以包括:测试管理工具、性能测试工具、代码扫描工具和网络测试工具。测试软件还可以包括其他测试软件和其他测试工具,本申请实施例不作限定。
步骤S604,将测试日志和测试结果存储至结果数据库。
针对步骤S601-S604的每个步骤的具体说明,与上述步骤S103相同,这里不再赘述。
在一些实施例中,对所述代码测试方法的处理流程示意图七,如图7所示,包括:
步骤S701,确定测试账号信息对应的用户端。
步骤S702,接收用户端发送的控制指令。
步骤S703,基于控制指令,控制测试软件对待测试代码进行测试。
作为示例,针对步骤S701-S703,在具体实施时,根据审批待测试代码的用户端的账号信息,确定待测试代码的审批用户端。接收审批用户端请求对待测试代码进行停止测试的指令。根据停止测试的指令,控制测试软件停止对待测试代码的测试。
图8示出了本申请实施例提供的代码测试方法的一种应用场景图。
参考图8,本申请实施例提供的代码测试方法的一种应用场景,应用于代码测试管理系统。代码测试管理系统的底层架构可以包括:业务层、服务层、数据层和数据库。其中,业务层可以包括:用户组、用户角色、用户信息、提测单管理、项目管理、报告管理、环境管理和节点管理。服务层可以包括:数据校验、中间件、服务配置和日志管理。数据层可以包括:数据模型、连接管理和表操作。数据库可以包括:MySQL(关系型数据库管理系统)和非关系型数据库。本申请实施例不限定具体的数据库。
可以理解,图8的代码测试方法的应用场景只是本申请实施例中的部分示例性的实施方式,本申请实施例中代码测试方法的应用场景包括但不限于图8所示的代码测试方法的应用场景。
本申请实施例的方法,确定待测试代码对应的至少一个测试需求;按照至少一个测试需求对待测试代码进行测试,检测每个测试需求是否均通过测试;响应于每个测试需求均通过测试,则确定待测试代码通过分支检测。如此,能够自动通过流程化工具检测代码的准入门槛,提高了准入门槛检测效率,简化了代码测试的流程,减少了代码测试的工时,进而提高了代码测试的效率。本申请实施例的方法,基于优先级参数确定待测试代码的权重;按照待测试代码的权重由大到小的顺序对全部待测试代码进行排序,得到测试优先级序列。如此,能够自动记录代码测试的延期情况,控制延期的代码测试的进度,按照测试代码的测试优先级对测试代码进行测试,能够减少资源的浪费,降低了代码测试的成本,简化了代码测试的流程,提高了代码测试的效率。本申请实施例的方法,若优先级参数包括待测试代码的预设测试时刻,则确定待测试代码的预设测试时刻对应的时间权重;若优先级参数包括待测试代码的测试类型,则确定待测试代码的测试类型对应的类型权重;若优先级参数包括待测试代码的关联性,则确定待测试代码的关联性对应的关联性权重;基于所确定的优先级参数对应的权重确定待测试代码的权重。如此,能够将重要的待测试代码优先进行测试,自动控制延期的代码测试的进度,按照测试代码的测试优先级对测试代码进行测试,能够减少资源的浪费,降低了代码测试的成本,简化了代码测试的流程,提高了代码测试的效率。本申请实施例的方法,基于测试优先级序列,对代码数据库包括的待测试代码之间进行合并或部署;按照测试优先级序列,依次将待测试代码发送至测试地址;调用测试地址对应的测试软件,对待测试代码进行测试,得到待测试代码的测试日志和测试结果;将测试日志和测试结果存储至结果数据库。如此,能够自动整理代码测试的测试日志,无需人工记录,测试日志可以用于代码测试流程的复盘改进,简化了代码测试的流程,减少了代码测试的工时,进而提高了代码测试的效率。本申请实施例的方法,确定测试账号信息对应的用户端;接收用户端发送的控制指令;基于控制指令,控制测试软件对待测试代码进行测试。如此,能够对测试代码的测试流程进行管理,包括对提测单、人员权限、测试环境、测试日报和测试报告等的管理,同时自动回归现有功能接口,简化了代码测试的流程,提高了代码测试的效率。
因此,与相关技术中代码测试方法需要的测试时间较长,代码测试的流程复杂,且代码测试的效率较低相比,本申请的代码测试方法能够简化代码测试的流程,提高了代码测试的效率。
下面继续说明本申请实施例提供的代码测试装置90的实施为软件模块的示例性结构,在一些实施例中,如图9所示,代码测试装置90中的软件模块可以包括:获取模块901,用于获取待测试代码的相关信息;相关信息包括:待测试代码的优先级参数;分支检测模块902,用于对待测试代码进行分支检测;测试模块903,用于响应于待测试代码通过分支检测,基于优先级参数,测试待测试代码。
在一些实施例中,分支检测模块902可以用于:确定待测试代码对应的至少一个测试需求;按照至少一个测试需求对待测试代码进行测试,检测每个测试需求是否均通过测试;响应于每个测试需求均通过测试,则确定待测试代码通过分支检测。
在一些实施例中,分支检测模块902可以用于:检测是否存在待测试代码的相关的版本安装包;检测相关的版本安装包是否已经与待测试代码合并。
在一些实施例中,代码测试装置90还可以包括优先级确定模块904,优先级确定模块904可以用于:基于优先级参数确定待测试代码的权重;按照待测试代码的权重由大到小的顺序对全部待测试代码进行排序,得到测试优先级序列。
在一些实施例中,待测试代码的优先级参数包括:待测试代码的预设测试时刻、待测试代码的测试类型和待测试代码的关联性中的至少一项,优先级确定模块904可以用于:若优先级参数包括待测试代码的预设测试时刻,则确定待测试代码的预设测试时刻对应的时间权重;若优先级参数包括待测试代码的测试类型,则确定待测试代码的测试类型对应的类型权重;若优先级参数包括待测试代码的关联性,则确定待测试代码的关联性对应的关联性权重;基于所确定的优先级参数对应的权重确定待测试代码的权重。
在一些实施例中,优先级确定模块904可以用于:响应于预设测试时刻早于当前时刻,确定待测试代码的预设测试时刻为第一时刻的情况下的时间权重,大于待测试代码的预设测试时刻为第二时刻的情况下的时间权重;其中,第一时刻早于第二时刻;响应于预设测试时刻晚于当前时刻,确定待测试代码的预设测试时刻为第三时刻的情况下的时间权重,大于待测试代码的预设测试时刻为第四时刻的情况下的时间权重;其中,第三时刻早于第四时刻;确定待测试代码的预设测试时刻早于当前时刻的情况下的时间权重,大于待测试代码的预设测试时刻晚于当前时刻的情况下的时间权重。
在一些实施例中,待测试代码对应的关联性权重与依赖待测试代码的测试结果的代码数量有关,优先级确定模块904可以用于:确定依赖待测试代码的测试结果的代码数量为第一值的情况下关联性权重,大于待测试代码的测试结果的代码数量为第二值的情况下关联性权重;其中,第一值大于第二值。
在一些实施例中,相关信息还可以包括:待测试代码的测试地址、待测试代码对应的代码数据库的接口信息和待测试代码的测试账号信息中的至少一项,测试模块903可以用于:基于测试优先级序列,对代码数据库包括的待测试代码之间进行合并或部署;按照测试优先级序列,依次将待测试代码发送至测试地址;调用测试地址对应的测试软件,对待测试代码进行测试,得到待测试代码的测试日志和测试结果;将测试日志和测试结果存储至结果数据库。
在一些实施例中,测试模块903还可以用于:确定测试账号信息对应的用户端;接收用户端发送的控制指令;基于控制指令,控制测试软件对待测试代码进行测试。
需要说明的是,本申请实施例装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。对于本申请实施例提供的代码测试装置中未尽的技术细节,可以根据图1至图9中任一附图的说明而理解。
根据本申请的实施例,本申请还提供了一种电子设备和一种非瞬时计算机可读存储介质。
图10示出了可以用来实施本申请的实施例的示例电子设备800的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图10所示,电子设备800包括计算单元801,其可以根据存储在只读存储器(ROM)802中的计算机程序或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序,来执行各种适当的动作和处理。在RAM 803中,还可存储电子设备800操作所需的各种程序和数据。计算单元801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
电子设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许电子设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元801可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元801的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元801执行上文所描述的各个方法和处理,例如代码测试方法。例如,在一些实施例中,代码测试方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到电子设备800上。当计算机程序加载到RAM 803并由计算单元801执行时,可以执行上文描述的代码测试方法的一个或多个步骤。备选地,在其他实施例中,计算单元801可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行代码测试方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,也可以为分布式系统的服务器,或者是结合了区块链的服务器。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (20)
1.一种代码测试方法,其特征在于,所述代码测试方法包括:
获取待测试代码的相关信息;所述相关信息包括:所述待测试代码的优先级参数;
对所述待测试代码进行分支检测;
响应于所述待测试代码通过所述分支检测,基于所述优先级参数,测试所述待测试代码。
2.根据权利要求1所述的方法,其特征在于,所述对所述待测试代码进行分支检测,包括:
确定所述待测试代码对应的至少一个测试需求;
按照所述至少一个测试需求对所述待测试代码进行测试,检测每个所述测试需求是否均通过测试;
响应于每个所述测试需求均通过所述测试,则确定所述待测试代码通过所述分支检测。
3.根据权利要求2所述的方法,其特征在于,所述按照所述至少一个测试需求对所述待测试代码进行测试,包括:
检测是否存在所述待测试代码的相关的版本安装包;
检测所述相关的版本安装包是否已经与所述待测试代码合并。
4.根据权利要求1所述的方法,其特征在于,所述基于所述相关信息和待测试代码的测试优先级,测试所述待测试代码之前,所述方法还包括:
基于所述优先级参数确定所述待测试代码的权重;
按照所述待测试代码的权重由大到小的顺序对全部所述待测试代码进行排序,得到测试优先级序列。
5.根据权利要求4所述的方法,其特征在于,所述基于所述优先级参数确定所述待测试代码的权重,包括:
所述待测试代码的优先级参数包括:所述待测试代码的预设测试时刻、所述待测试代码的测试类型和所述待测试代码的关联性中的至少一项;
若所述优先级参数包括所述待测试代码的预设测试时刻,则确定所述待测试代码的预设测试时刻对应的时间权重;
若所述优先级参数包括所述待测试代码的测试类型,则确定所述待测试代码的测试类型对应的类型权重;
若所述优先级参数包括所述待测试代码的关联性,则确定所述待测试代码的关联性对应的关联性权重;
基于所确定的所述优先级参数对应的权重确定所述待测试代码的权重。
6.根据权利要求5所述的方法,其特征在于,所述确定所述待测试代码的预设测试时刻对应的时间权重,包括:
响应于所述预设测试时刻早于当前时刻,确定所述待测试代码的预设测试时刻为第一时刻的情况下的时间权重,大于所述待测试代码的预设测试时刻为第二时刻的情况下的时间权重;其中,所述第一时刻早于所述第二时刻;
响应于所述预设测试时刻晚于所述当前时刻,确定所述待测试代码的预设测试时刻为第三时刻的情况下的时间权重,大于所述待测试代码的预设测试时刻为第四时刻的情况下的时间权重;其中,所述第三时刻早于所述第四时刻;
确定所述待测试代码的所述预设测试时刻早于所述当前时刻的情况下的时间权重,大于所述待测试代码的所述预设测试时刻晚于所述当前时刻的情况下的时间权重。
7.根据权利要求5所述的方法,其特征在于,所述确定所述待测试代码的关联性对应的关联性权重,包括:
所述待测试代码对应的关联性权重与依赖所述待测试代码的测试结果的代码数量有关;
确定依赖所述待测试代码的测试结果的代码数量为第一值的情况下所述关联性权重,大于所述待测试代码的测试结果的代码数量为第二值的情况下所述关联性权重;其中,所述第一值大于所述第二值。
8.根据权利要求4所述的方法,其特征在于,所述基于所述优先级参数,测试所述待测试代码,包括:
所述相关信息还包括:所述待测试代码的测试地址、所述待测试代码对应的代码数据库的接口信息和所述待测试代码的测试账号信息中的至少一项;
基于所述测试优先级序列,对所述代码数据库包括的所述待测试代码之间进行合并或部署;
按照所述测试优先级序列,依次将所述待测试代码发送至所述测试地址;
调用所述测试地址对应的测试软件,对所述待测试代码进行测试,得到所述待测试代码的测试日志和测试结果;
将所述测试日志和所述测试结果存储至结果数据库。
9.根据权利要求8所述的方法,其特征在于,所述基于所述优先级参数,测试所述待测试代码,还包括:
确定所述测试账号信息对应的用户端;
接收所述用户端发送的控制指令;
基于所述控制指令,控制所述测试软件对所述待测试代码进行测试。
10.一种代码测试装置,其特征在于,所述代码测试装置包括:
获取模块,用于获取待测试代码的相关信息;所述相关信息包括:所述待测试代码的优先级参数;
分支检测模块,用于对所述待测试代码进行分支检测;
测试模块,用于响应于所述待测试代码通过所述分支检测,基于所述优先级参数,测试所述待测试代码。
11.根据权利要求10所述的装置,其特征在于,所述分支检测模块用于:
确定所述待测试代码对应的至少一个测试需求;
按照所述至少一个测试需求对所述待测试代码进行测试,检测每个所述测试需求是否均通过测试;
响应于每个所述测试需求均通过所述测试,则确定所述待测试代码通过所述分支检测。
12.根据权利要求10所述的装置,其特征在于,所述分支检测模块用于:
检测是否存在所述待测试代码的相关的版本安装包;
检测所述相关的版本安装包是否已经与所述待测试代码合并。
13.根据权利要求10所述的装置,其特征在于,所述代码测试装置还包括优先级确定模块,所述优先级确定模块用于:
基于所述优先级参数确定所述待测试代码的权重;
按照所述待测试代码的权重由大到小的顺序对全部所述待测试代码进行排序,得到测试优先级序列。
14.根据权利要求13所述的装置,其特征在于,所述待测试代码的优先级参数包括:所述待测试代码的预设测试时刻、所述待测试代码的测试类型和所述待测试代码的关联性中的至少一项,所述优先级确定模块用于:
若所述优先级参数包括所述待测试代码的预设测试时刻,则确定所述待测试代码的预设测试时刻对应的时间权重;
若所述优先级参数包括所述待测试代码的测试类型,则确定所述待测试代码的测试类型对应的类型权重;
若所述优先级参数包括所述待测试代码的关联性,则确定所述待测试代码的关联性对应的关联性权重;
基于所确定的所述优先级参数对应的权重确定所述待测试代码的权重。
15.根据权利要求14所述的装置,其特征在于,所述优先级确定模块用于:
响应于所述预设测试时刻早于当前时刻,确定所述待测试代码的预设测试时刻为第一时刻的情况下的时间权重,大于所述待测试代码的预设测试时刻为第二时刻的情况下的时间权重;其中,所述第一时刻早于所述第二时刻;
响应于所述预设测试时刻晚于所述当前时刻,确定所述待测试代码的预设测试时刻为第三时刻的情况下的时间权重,大于所述待测试代码的预设测试时刻为第四时刻的情况下的时间权重;其中,所述第三时刻早于所述第四时刻;
确定所述待测试代码的所述预设测试时刻早于所述当前时刻的情况下的时间权重,大于所述待测试代码的所述预设测试时刻晚于所述当前时刻的情况下的时间权重。
16.根据权利要求14所述的装置,其特征在于,所述待测试代码对应的关联性权重与依赖所述待测试代码的测试结果的代码数量有关,所述优先级确定模块用于:
确定依赖所述待测试代码的测试结果的代码数量为第一值的情况下所述关联性权重,大于所述待测试代码的测试结果的代码数量为第二值的情况下所述关联性权重;其中,所述第一值大于所述第二值。
17.根据权利要求13所述的装置,其特征在于,所述相关信息还包括:所述待测试代码的测试地址、所述待测试代码对应的代码数据库的接口信息和所述待测试代码的测试账号信息中的至少一项,所述测试模块用于:
基于所述测试优先级序列,对所述代码数据库包括的所述待测试代码之间进行合并或部署;
按照所述测试优先级序列,依次将所述待测试代码发送至所述测试地址;
调用所述测试地址对应的测试软件,对所述待测试代码进行测试,得到所述待测试代码的测试日志和测试结果;
将所述测试日志和所述测试结果存储至结果数据库。
18.根据权利要求17所述的装置,其特征在于,所述测试模块还用于:
确定所述测试账号信息对应的用户端;
接收所述用户端发送的控制指令;
基于所述控制指令,控制所述测试软件对所述待测试代码进行测试。
19.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的方法。
20.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使计算机执行根据权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211538468.7A CN116185818A (zh) | 2022-12-02 | 2022-12-02 | 一种代码测试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211538468.7A CN116185818A (zh) | 2022-12-02 | 2022-12-02 | 一种代码测试方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116185818A true CN116185818A (zh) | 2023-05-30 |
Family
ID=86437205
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211538468.7A Pending CN116185818A (zh) | 2022-12-02 | 2022-12-02 | 一种代码测试方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116185818A (zh) |
-
2022
- 2022-12-02 CN CN202211538468.7A patent/CN116185818A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10819603B2 (en) | Performance evaluation method, apparatus for performance evaluation, and non-transitory computer-readable storage medium for storing program | |
CN113037594B (zh) | 基于云服务的压力测试方法和装置 | |
CN114116288A (zh) | 故障处理方法、装置及计算机程序产品 | |
CN113495825A (zh) | 线路告警的处理方法、装置、电子设备及可读存储介质 | |
CN116541224A (zh) | 性能测试方法、装置、电子设备与可读存储介质 | |
CN115190010B (zh) | 基于软件服务依赖关系的分布推荐方法和装置 | |
CN115481594B (zh) | 计分板实现方法、计分板、电子设备及存储介质 | |
CN116185818A (zh) | 一种代码测试方法、装置、电子设备及存储介质 | |
CN115576827A (zh) | 业务流程软件的性能测试方法、装置、设备及存储介质 | |
CN113495841B (zh) | 一种兼容性检测方法、装置、设备、存储介质及程序产品 | |
CN114693116A (zh) | 代码评审有效性的检测方法及装置、电子设备 | |
CN114546799A (zh) | 埋点日志校验方法、装置、电子设备、存储介质及产品 | |
CN114416357A (zh) | 容器组的创建方法、装置、电子设备和介质 | |
CN115203158A (zh) | 一种数据比对方法、装置、设备以及存储介质 | |
CN114978944A (zh) | 压力测试方法、装置及计算机程序产品 | |
CN113342634A (zh) | 软件质量评估的方法和装置 | |
CN115190008B (zh) | 故障处理方法、故障处理装置、电子设备及存储介质 | |
CN116302661B (zh) | 一种异常预测方法、装置、电子设备及存储介质 | |
CN113434378B (zh) | 网页稳定性的检测方法、装置、电子设备及可读存储介质 | |
CN115328745A (zh) | 部署效果评估方法、装置、电子设备及可读存储介质 | |
CN115604091A (zh) | 数据处理方法、装置、基板控制管理系统及电子设备 | |
CN116225390A (zh) | 一种软件开发文件的入库方法、装置、设备及介质 | |
CN117632734A (zh) | 一种数据库的性能测试方法、电子设备和存储介质 | |
CN116340174A (zh) | 图形页面测试方法、训练方法和装置 | |
CN117520195A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20240411 Address after: Room 2101, Block B, Platinum Plaza, 5-15 Wenling Road, Laoshan District, Qingdao, Shandong 266000 Applicant after: Shandong Energy Chain Holding Co.,Ltd. Country or region after: China Address before: Unit 3805-3815, 38th Floor, Building 8, No. 91 Jianguo Road, Chaoyang District, Beijing, 100123 Applicant before: CHEZHUBANG (BEIJING) TECHNOLOGY Co.,Ltd. Country or region before: China |
|
TA01 | Transfer of patent application right |