CN117009237A - 代码处理方法、装置及电子设备 - Google Patents

代码处理方法、装置及电子设备 Download PDF

Info

Publication number
CN117009237A
CN117009237A CN202311003006.XA CN202311003006A CN117009237A CN 117009237 A CN117009237 A CN 117009237A CN 202311003006 A CN202311003006 A CN 202311003006A CN 117009237 A CN117009237 A CN 117009237A
Authority
CN
China
Prior art keywords
test
code
field
case
coverage rate
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
Application number
CN202311003006.XA
Other languages
English (en)
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.)
Ping An Bank Co Ltd
Original Assignee
Ping An Bank 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 Ping An Bank Co Ltd filed Critical Ping An Bank Co Ltd
Priority to CN202311003006.XA priority Critical patent/CN117009237A/zh
Publication of CN117009237A publication Critical patent/CN117009237A/zh
Pending legal-status Critical Current

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/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/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/3684Test management for test design, e.g. generating new test cases

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

代码处理方法、装置及电子设备
技术领域
本申请涉及金融技术领域,尤其是涉及一种代码处理方法、装置及电子设备。
背景技术
在金融领域,包括很多需要构建测试案例的场景,比如:交易系统测试、风险管理系统测试、支付系统测试、数据分析和报告系统测试、安全和合规性测试等。而针对不同测试场景,传统的测试方案通常需要手动编写和执行测试用例,这种方式存在以下不足:时间成本高、人为因素干扰大、测试效率低以及测试结果分析困难。
发明内容
本申请的目的在于提供一种代码处理方法、装置及电子设备,能够对开发人员上传的业务逻辑代码,自动构建测试案例并进行测试及代码覆盖率检测,生成测试报告,提高测试效率和准确性。
第一方面,本申请提供一种代码处理方法,方法包括:接收开发人员上传的业务逻辑代码;基于业务逻辑代码,构建对应的测试案例;执行测试案例,得到测试结果;对测试案例进行代码覆盖率检测,得到代码覆盖率;基于测试结果和代码覆盖率生成测试报告。
在本申请较佳的实施方式中,上述基于业务逻辑代码,构建对应的测试案例的步骤,包括:根据业务逻辑代码对应的分支号,确定业务逻辑代码中的新增代码;识别新增代码中的字段参数信息;根据识别出的字段参数信息确定字段对应逻辑;基于字段对应逻辑生成自动化测试案例。
在本申请较佳的实施方式中,上述字段参数信息包括:至少一个字段及字段对应的类型要求及数值要求;根据识别出的字段参数信息确定字段对应逻辑的步骤,包括:针对每个识别出的字段,根据字段对应的类型要求及数值要求,生成字段对应的多个测试逻辑。
在本申请较佳的实施方式中,上述基于字段对应逻辑生成自动化测试案例的步骤,包括:针对每个字段对应的多个测试逻辑,生成多个测试逻辑分别对应的测试案例;或者还包括:将多个字段对应的多个测试案例进行排列组合,生成多个自动化测试案例。
在本申请较佳的实施方式中,上述接收开发人员上传的业务逻辑代码的步骤之前,还包括:响应针对代码仓库中Jacoco插件的添加操作,以完成代码中插件配置;响应针对CI/CD工具的案例构建步骤配置操作,以完成案例构建配置;响应针对CI/CD工具中Jacoco插件的配置操作,以完成工具中插件配置。
在本申请较佳的实施方式中,上述针对CI/CD工具的案例构建步骤配置操作包括:Git仓库的URL和分支信息的配置操作、清除工作空间配置操作、Maven命令配置操作、覆盖率报告的路径和格式配置操作。
在本申请较佳的实施方式中,上述基于测试结果和代码覆盖率生成测试报告的步骤,包括:按照预设的报告类型和报告格式,生成包括测试结果和代码覆盖率的测试报告;基于测试结果和代码覆盖率生成测试报告的步骤之后,还包括:获取提交业务逻辑代码的开发人员的通信信息;根据通信信息向开发人员对应终端发送测试报告。
第二方面,本申请还提供一种代码处理装置,装置包括:代码接收模块,用于接收开发人员上传的业务逻辑代码;案例构建模块,用于基于业务逻辑代码,构建对应的测试案例;案例执行模块,用于执行测试案例,得到测试结果;覆盖率检测模块,用于对测试案例进行代码覆盖率检测,得到代码覆盖率;报告生成模块,用于基于测试结果和代码覆盖率生成测试报告。
第三方面,本申请还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现上述第一方面所述的方法。
第四方面,本申请还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现上述第一方面所述的方法。
本申请提供的代码处理方法、装置及电子设备中,接收开发人员上传的业务逻辑代码;基于业务逻辑代码,构建对应的测试案例;执行测试案例,得到测试结果;对测试案例进行代码覆盖率检测,得到代码覆盖率;基于测试结果和代码覆盖率生成测试报告。该方案中,能够对开发人员上传的业务逻辑代码,自动构建测试案例并进行测试及代码覆盖率检测,生成测试报告,提高测试效率。
附图说明
为了更清楚地说明本申请具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种代码处理方法的流程图;
图2为本申请实施例提供的一种代码处理方法中案例构建过程的流程图;
图3为本申请实施例提供的一种整体流程示意图;
图4为本申请实施例提供的一种代码处理装置的结构框图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合实施例对本申请的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
传统的测试方案通常需要手动编写和执行测试用例,这种方式存在以下不足:
1.时间成本高:手动编写和执行测试用例需要消耗大量的时间和精力,尤其是对于大型的项目,测试用例的编写和执行需要耗费大量的时间和人力资源。
2.人为因素干扰:手动编写和执行测试用例容易受到测试人员的主观因素的影响,例如测试人员可能会遗漏某些测试场景或者数据。
3.测试效率低:手动执行测试用例的效率较低,且往往需要测试人员进行反复测试和调试,增加了测试用例的执行成本和周期。
4、测试结果分析困难:手动执行测试用例的结果通常需要手动整理和分析,而且容易出现误差,难以准确评估测试质量。
基于此,本申请实施例提供一种代码处理方法、装置及电子设备,能够对开发人员上传的业务逻辑代码,自动构建测试案例并进行测试及代码覆盖率检测,生成测试报告,提高测试效率和准确性。
为便于对本实施例进行理解,首先对本申请实施例所公开的一种代码处理方法进行详细介绍。
图1为本申请实施例提供的一种代码处理方法的流程图,该方法具体包括以下步骤:
步骤S102,接收开发人员上传的业务逻辑代码。
实际应用中,开发人员通常会将自己写的业务逻辑代码上传至代码仓库,在这个上传的过程中,服务器就可以获取到开发人员上传的业务逻辑代码。
步骤S104,基于业务逻辑代码,构建对应的测试案例。
该步骤中,测试案例的构建过程是自动执行的,具体构建过程可以通过新增字段的识别和测试逻辑构建。
步骤S106,执行测试案例,得到测试结果;在构建出业务逻辑代码对应的测试案例后,自动进行案例测试执行,得到测试结果。
步骤S108,对测试案例进行代码覆盖率检测,得到代码覆盖率。
代码覆盖是软件测试中的一种度量,描述程序中源代码被测试的比例和程度,所得比例称为代码覆盖率。具体的检测方式可以为,通过Jacoco插件来完成,Jacoco是一个开源的覆盖率工具。Jacoco可以嵌入到Ant、Maven中,并提供了EclEmma Eclipse插件,也可以使用JavaAgent技术监控Java程序。很多第三方的工具提供了对Jacoco的集成,如Jenkins。
Jacoco可以对Java字节码进行插桩,On-The-Fly和Offine两种方式。执行测试用例,收集程序执行轨迹信息,将其dump到内存。数据处理器结合程序执行轨迹信息和代码结构信息分析生成代码覆盖率报告。将代码覆盖率报告图形化展示出来,如html、xml等文件格式。
步骤S110,基于测试结果和代码覆盖率生成测试报告。
本申请实施例提供的代码处理方法中,能够对开发人员上传的业务逻辑代码,自动构建测试案例并进行测试及代码覆盖率检测,生成测试报告,提高测试效率。该方法可以应用于金融领域的多个场景中,如交易系统测试、风险管理系统测试、支付系统测试、数据分析和报告系统测试,以及安全和合规性测试等场景。这些方案可以提高软件质量和稳定性,降低风险,并保证金融机构的业务运行顺利。
本申请实施例还提供另一种代码处理方法,该方法在上述实施例的基础上实现;本实施例重点描述案例构建过程。
在本申请较佳的实施方式中,参见图2所示,上述基于业务逻辑代码,构建对应的测试案例的步骤,包括:
步骤S202,根据业务逻辑代码对应的分支号,确定业务逻辑代码中的新增代码;开发人员在每次提交代码时会选择对应的分支,从而可以根据分支号,确定出当前这次提交的代码中有哪些是新增代码。
步骤S204,识别新增代码中的字段参数信息;该字段参数信息包括:至少一个字段及字段对应的类型要求及数值要求。
比如,开发人员在业务逻辑代码中定义了一个接口,里面有三个字段,年龄,姓名,性别,年龄定义成数字类型,大于0小于100;姓名定义为2到50个汉字;性别只能是男女。
步骤S206,根据识别出的字段参数信息确定字段对应逻辑。具体实施时,可以针对每个识别出的字段,根据字段对应的类型要求及数值要求,生成字段对应的多个测试逻辑。
比如,针对年龄字段,其类型要求是数字类型、数值要求是0-100,那其对应的多个测试逻辑可以是,在0-100之间、负数、大于100三种测试逻辑;针对性别字段,多个测试逻辑可以是,输入为男女、输入为其他;姓名字段,多个测试逻辑可以是,2-50个汉字、大于50个汉字、小于2个汉字。
步骤S208,基于字段对应逻辑生成自动化测试案例。
具体实施时,针对每个字段对应的多个测试逻辑,生成多个测试逻辑分别对应的测试案例;或者还包括:将多个字段对应的多个测试案例进行排列组合,生成多个自动化测试案例。
如上述例子中,针对每个测试逻辑都可以自动生成一个对应的测试案例,还可以基于每个字段下的多个测试案例再进行排列组合,就可以得到更多个案例。自动执行生成的多个案例,就可以发现这些接口是否可以达到预期效果。
在本申请较佳的实施方式中,上述接收开发人员上传的业务逻辑代码的步骤之前,还包括以下步骤,参见图3所示:
(1)响应针对代码仓库中Jacoco插件的添加操作,以完成代码中插件配置;如图3中的在代码仓库中添加Jacoco插件。
如果使用的是Maven构建工具,则可以在pom.xml文件中添加Jacoco插件。
(2)响应针对CI/CD工具的案例构建步骤配置操作,以完成案例构建配置;如图3中的配置CI/CD工具。上述针对CI/CD工具的案例构建步骤配置操作包括:Git仓库的URL和分支信息的配置操作、清除工作空间配置操作、Maven命令配置操作、覆盖率报告的路径和格式配置操作。
CI/CD工具包括多种工具,比如,Jenkins、CircleCI、TeamCity等。下面以Jenkins作为CI/CD工具进行说明,在具体配置时,需要在Jenkins中创建一个新的Job,并在Job的配置中添加构建步骤。例如:
1、在Job的配置中,选择“源码管理”并配置Git仓库的URL和分支信息;
2、选择“构建触发器”并启用“轮询SCM”选项,以便在每次代码提交后自动触发构建;
3、在“构建环境”中,启用“Delete workspace before build starts”选项,以便在每次构建前清除工作空间;
4、在“构建”中,添加“Invoke top-level Maven targets”步骤,并选择要执行的Maven命令,例如“clean package”;
5、在“构建后操作”中,添加“Publish Jacoco Coverage Report”步骤,并选择Jacoco覆盖率报告的路径和格式,例如“**/target/site/jacoco/*xml”。
(3)响应针对CI/CD工具中Jacoco插件的配置操作,以完成工具中插件配置。如图3中的配置插件。
在Jenkins的全局配置中,选择“系统设置”并配置Jacoco插件。例如:
1、在“系统设置”中,选择“Jacoco Plugin Configuration”选项;
2、在“Jacoco Plugin Configuration”中,启用“Enable Jacoco plugin”选项;
3、配置Jacoco插件的路径和版本号,例如“/usr/local/jacoco/jacoco.exec”和“0.8.5”。
上述基于测试结果和代码覆盖率生成测试报告的步骤,包括:按照预设的报告类型和报告格式,生成包括测试结果和代码覆盖率的测试报告;基于测试结果和代码覆盖率生成测试报告的步骤之后,还包括:获取提交业务逻辑代码的开发人员的通信信息;根据通信信息向开发人员对应终端发送测试报告。上述通信信息可以是开发人员的邮箱、微信账户或手机号之类的。
具体实施时,可以在Jenkins的构建历史中,选择要分析的构建,并查看测试结果和覆盖率数据。在Jenkins的构建历史中,选择要生成测试报告的构建,并选择“JacocoCoverage Report”选项。然后,选择要生成的报告类型和格式,并下载生成的测试报告。
本申请实施例提供的上述代码处理方法,可以应用于金融领域的如下多个场景中:
(1)交易系统测试:金融机构通常拥有复杂的交易系统,需要保证系统的正确性和稳定性。通过集成Jacoco和CI/CD工具,可以在每次代码提交后自动构建和运行测试案例,以验证交易系统的功能和性能。
(2)风险管理系统测试:金融机构的风险管理系统需要进行各种风险评估和监控。通过集成Jacoco和CI/CD工具,可以持续监测和测试风险管理系统的功能和准确性,确保风险管理流程的有效性。
(3)支付系统测试:金融机构的支付系统是关键的业务系统之一,需要保证支付的准确性和安全性。通过集成Jacoco和CI/CD工具,可以自动构建和运行支付系统的测试案例,以验证支付流程的正确性和可靠性。
(4)数据分析和报告系统测试:金融机构通常依赖数据分析和报告系统来生成重要的业务报告和决策支持。通过集成Jacoco和CI/CD工具,可以持续测试数据分析和报告系统的准确性和性能,确保生成的报告符合业务需求和质量标准。
(5)安全和合规性测试:金融领域对于安全和合规性的要求非常严格。通过集成Jacoco和CI/CD工具,可以自动运行安全和合规性测试用例,以确保系统符合相关的安全标准和合规性要求。
本申请实施例提供的代码处理方法中,将Jacoco插件与CI/CD工具集成,实现每次代码提交自动构建测试案例并自动执行测试案例,具有以下优点:
1、提高测试效率:自动化测试可以在每次代码提交后自动运行,加快测试流程,缩短测试时间,从而加快产品上市时间。
2、提高代码质量:自动化测试可以帮助发现代码中的错误和缺陷,从而提高代码质量和稳定性,减少后期修复成本。
3、提高测试覆盖率:自动化测试可以覆盖更多的测试场景和测试用例,从而提高测试覆盖率,减少漏测风险。
4、实时收集覆盖率数据:Jacoco可以实时收集覆盖率数据,并在CI/CD工具中展示,开发人员可以及时查看测试结果和代码覆盖率数据,确定下一步的开发计划。
5、自动部署代码:在测试通过后,自动部署代码可以减少部署过程中的人工干预,提高部署效率和质量,从而更快地上线产品。
基于上述方法实施例,本申请实施例还提供一种代码处理装置,参见图4所示,该装置包括:代码接收模块402,用于接收开发人员上传的业务逻辑代码;案例构建模块404,用于基于业务逻辑代码,构建对应的测试案例;案例执行模块406,用于执行测试案例,得到测试结果;覆盖率检测模块408,用于对测试案例进行代码覆盖率检测,得到代码覆盖率;报告生成模块410,用于基于测试结果和代码覆盖率生成测试报告。
在本申请较佳的实施方式中,上述案例构建模块404,用于根据业务逻辑代码对应的分支号,确定业务逻辑代码中的新增代码;识别新增代码中的字段参数信息;根据识别出的字段参数信息确定字段对应逻辑;基于字段对应逻辑生成自动化测试案例。
在本申请较佳的实施方式中,上述字段参数信息包括:至少一个字段及字段对应的类型要求及数值要求;案例构建模块404,用于针对每个识别出的字段,根据字段对应的类型要求及数值要求,生成字段对应的多个测试逻辑。
在本申请较佳的实施方式中,上述基案例构建模块404,用于针对每个字段对应的多个测试逻辑,生成多个测试逻辑分别对应的测试案例;或者还包括:将多个字段对应的多个测试案例进行排列组合,生成多个自动化测试案例。
在本申请较佳的实施方式中,上述装置还包括配置模块,用于在接收开发人员上传的业务逻辑代码的步骤之前,响应针对代码仓库中Jacoco插件的添加操作,以完成代码中插件配置;响应针对CI/CD工具的案例构建步骤配置操作,以完成案例构建配置;响应针对CI/CD工具中Jacoco插件的配置操作,以完成工具中插件配置。
在本申请较佳的实施方式中,上述针对CI/CD工具的案例构建步骤配置操作包括:Git仓库的URL和分支信息的配置操作、清除工作空间配置操作、Maven命令配置操作、覆盖率报告的路径和格式配置操作。
在本申请较佳的实施方式中,上述报告生成模块410,用于按照预设的报告类型和报告格式,生成包括测试结果和代码覆盖率的测试报告;基于测试结果和代码覆盖率生成测试报告的步骤之后,获取提交业务逻辑代码的开发人员的通信信息;根据通信信息向开发人员对应终端发送测试报告。
本申请实施例提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置的实施例部分未提及之处,可参考前述方法实施例中相应内容。
本申请实施例还提供了一种电子设备,如图5所示,为该电子设备的结构示意图,其中,该电子设备包括处理器51和存储器50,该存储器50存储有能够被该处理器51执行的计算机可执行指令,该处理器51执行该计算机可执行指令以实现以下步骤:
接收开发人员上传的业务逻辑代码;基于业务逻辑代码,构建对应的测试案例;执行测试案例,得到测试结果;对测试案例进行代码覆盖率检测,得到代码覆盖率;基于测试结果和代码覆盖率生成测试报告。
在本申请较佳的实施方式中,上述基于业务逻辑代码,构建对应的测试案例的步骤,包括:根据业务逻辑代码对应的分支号,确定业务逻辑代码中的新增代码;识别新增代码中的字段参数信息;根据识别出的字段参数信息确定字段对应逻辑;基于字段对应逻辑生成自动化测试案例。
在本申请较佳的实施方式中,上述字段参数信息包括:至少一个字段及字段对应的类型要求及数值要求;根据识别出的字段参数信息确定字段对应逻辑的步骤,包括:针对每个识别出的字段,根据字段对应的类型要求及数值要求,生成字段对应的多个测试逻辑。
在本申请较佳的实施方式中,上述基于字段对应逻辑生成自动化测试案例的步骤,包括:针对每个字段对应的多个测试逻辑,生成多个测试逻辑分别对应的测试案例;或者还包括:将多个字段对应的多个测试案例进行排列组合,生成多个自动化测试案例。
在本申请较佳的实施方式中,上述接收开发人员上传的业务逻辑代码的步骤之前,还包括:响应针对代码仓库中Jacoco插件的添加操作,以完成代码中插件配置;响应针对CI/CD工具的案例构建步骤配置操作,以完成案例构建配置;响应针对CI/CD工具中Jacoco插件的配置操作,以完成工具中插件配置。
在本申请较佳的实施方式中,上述针对CI/CD工具的案例构建步骤配置操作包括:Git仓库的URL和分支信息的配置操作、清除工作空间配置操作、Maven命令配置操作、覆盖率报告的路径和格式配置操作。
在本申请较佳的实施方式中,上述基于测试结果和代码覆盖率生成测试报告的步骤,包括:按照预设的报告类型和报告格式,生成包括测试结果和代码覆盖率的测试报告;基于测试结果和代码覆盖率生成测试报告的步骤之后,还包括:获取提交业务逻辑代码的开发人员的通信信息;根据通信信息向开发人员对应终端发送测试报告。
在图5示出的实施方式中,该电子设备还包括总线52和通信接口53,其中,处理器51、通信接口53和存储器50通过总线52连接。
其中,存储器50可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口53(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线52可以是ISA(IndustryStandard Architecture,工业标准体系结构)总线、PCI(Peripheral ComponentInterconnect,外设部件互连标准)总线或EISA(Extended Industry StandardArchitecture,扩展工业标准结构)总线等。所述总线52可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器51可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器51中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器51可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器51读取存储器中的信息,结合其硬件完成前述实施例的方法的步骤。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令在被处理器调用和执行时,该计算机可执行指令促使处理器实现上述方法,具体实现可参见前述方法实施例,在此不再赘述。
本申请实施例所提供的方法、装置和电子设备的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本申请的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种代码处理方法,其特征在于,所述方法包括:
接收开发人员上传的业务逻辑代码;
基于所述业务逻辑代码,构建对应的测试案例;
执行所述测试案例,得到测试结果;
对所述测试案例进行代码覆盖率检测,得到代码覆盖率;
基于所述测试结果和所述代码覆盖率生成测试报告。
2.根据权利要求1所述的方法,其特征在于,基于所述业务逻辑代码,构建对应的测试案例的步骤,包括:
根据所述业务逻辑代码对应的分支号,确定所述业务逻辑代码中的新增代码;
识别所述新增代码中的字段参数信息;
根据识别出的所述字段参数信息确定字段对应逻辑;
基于所述字段对应逻辑生成自动化测试案例。
3.根据权利要求2所述的方法,其特征在于,所述字段参数信息包括:至少一个字段及所述字段对应的类型要求及数值要求;根据识别出的所述字段参数信息确定字段对应逻辑的步骤,包括:
针对每个识别出的字段,根据所述字段对应的类型要求及数值要求,生成所述字段对应的多个测试逻辑。
4.根据权利要求3所述的方法,其特征在于,基于所述字段对应逻辑生成自动化测试案例的步骤,包括:
针对每个字段对应的多个测试逻辑,生成多个测试逻辑分别对应的测试案例;
或者还包括:将多个字段对应的多个测试案例进行排列组合,生成多个自动化测试案例。
5.根据权利要求1所述的方法,其特征在于,接收开发人员上传的业务逻辑代码的步骤之前,还包括:
响应针对代码仓库中Jacoco插件的添加操作,以完成代码中插件配置;
响应针对CI/CD工具的案例构建步骤配置操作,以完成案例构建配置;
响应针对所述CI/CD工具中Jacoco插件的配置操作,以完成工具中插件配置。
6.根据权利要求5所述的方法,其特征在于,所述针对CI/CD工具的案例构建步骤配置操作包括:Git仓库的URL和分支信息的配置操作、清除工作空间配置操作、Maven命令配置操作、覆盖率报告的路径和格式配置操作。
7.根据权利要求1所述的方法,其特征在于,基于所述测试结果和所述代码覆盖率生成测试报告的步骤,包括:
按照预设的报告类型和报告格式,生成包括所述测试结果和所述代码覆盖率的测试报告;
基于所述测试结果和所述代码覆盖率生成测试报告的步骤之后,还包括:
获取提交所述业务逻辑代码的开发人员的通信信息;
根据所述通信信息向所述开发人员对应终端发送所述测试报告。
8.一种代码处理装置,其特征在于,所述装置包括:
代码接收模块,用于接收开发人员上传的业务逻辑代码;
案例构建模块,用于基于所述业务逻辑代码,构建对应的测试案例;
案例执行模块,用于执行所述测试案例,得到测试结果;
覆盖率检测模块,用于对所述测试案例进行代码覆盖率检测,得到代码覆盖率;
报告生成模块,用于基于所述测试结果和所述代码覆盖率生成测试报告。
9.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现权利要求1至7任一项所述的方法。
CN202311003006.XA 2023-08-08 2023-08-08 代码处理方法、装置及电子设备 Pending CN117009237A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311003006.XA CN117009237A (zh) 2023-08-08 2023-08-08 代码处理方法、装置及电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311003006.XA CN117009237A (zh) 2023-08-08 2023-08-08 代码处理方法、装置及电子设备

Publications (1)

Publication Number Publication Date
CN117009237A true CN117009237A (zh) 2023-11-07

Family

ID=88568867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311003006.XA Pending CN117009237A (zh) 2023-08-08 2023-08-08 代码处理方法、装置及电子设备

Country Status (1)

Country Link
CN (1) CN117009237A (zh)

Similar Documents

Publication Publication Date Title
CN109871326B (zh) 一种脚本录制的方法和装置
CN110704304B (zh) 一种应用程序测试方法、装置、存储介质和服务器
CN108628748B (zh) 自动化测试管理方法和自动化测试管理系统
CN107045477B (zh) 一种可进行多维度检测的质量评估平台
US11669423B2 (en) Systems and methods for monitoring application health in a distributed architecture
CN114116496A (zh) 自动化测试方法、装置、设备及介质
CN111782526A (zh) 一种接口测试方法、装置、电子设备及存储介质
CN111752833B (zh) 一种软件质量体系准出方法、装置、服务器及存储介质
CN115269444A (zh) 代码静态检测方法、装置及服务器
CN114817015A (zh) 测试用例的覆盖率统计方法、装置、电子设备及存储介质
CN115952081A (zh) 一种软件测试方法、装置、存储介质及设备
CN117493188A (zh) 接口测试方法及装置、电子设备及存储介质
CN116738091A (zh) 页面监控方法、装置、电子设备及存储介质
CN112084108A (zh) 一种测试脚本生成方法、装置及相关组件
CN116756037A (zh) 异常代码定位系统、方法、设备及计算机可读存储介质
CN113220594B (zh) 自动化测试方法、装置、设备及存储介质
CN117009237A (zh) 代码处理方法、装置及电子设备
CN112612882B (zh) 检阅报告生成方法、装置、设备和存储介质
CN115687145A (zh) 接口测试方法、装置、设备及存储介质
CN115168171A (zh) 网页异常的处理方法、装置、电子设备及介质
CN113791980A (zh) 测试用例的转化分析方法、装置、设备及存储介质
CN113868137A (zh) 埋点数据的处理方法、装置、系统和服务器
CN113238940A (zh) 一种接口测试结果的比对方法、装置、设备和存储介质
CN112783763B (zh) 软件质量检测方法、装置、电子设备以及存储介质
CN111026575B (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