CN116521556A - 代码测试方法、装置、设备及介质 - Google Patents

代码测试方法、装置、设备及介质 Download PDF

Info

Publication number
CN116521556A
CN116521556A CN202310503464.3A CN202310503464A CN116521556A CN 116521556 A CN116521556 A CN 116521556A CN 202310503464 A CN202310503464 A CN 202310503464A CN 116521556 A CN116521556 A CN 116521556A
Authority
CN
China
Prior art keywords
code
test
coverage rate
increment
task
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
CN202310503464.3A
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.)
Kangjian Information Technology Shenzhen Co Ltd
Original Assignee
Kangjian Information Technology Shenzhen 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 Kangjian Information Technology Shenzhen Co Ltd filed Critical Kangjian Information Technology Shenzhen Co Ltd
Priority to CN202310503464.3A priority Critical patent/CN116521556A/zh
Publication of CN116521556A publication Critical patent/CN116521556A/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/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
    • 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
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及测试技术领域,公开了一种代码测试方法、装置、设备及介质,包括:获取包含待测代码的第一覆盖率报告,确定第一覆盖率报告中的增量代码;显示批注任务输入界面;根据批注任务输入界面内的输入内容,生成增量代码对应的批注任务;获取所述批注任务中的测试用例,根据所述测试用例对所述增量代码进行测试;测试完毕后,获取第二覆盖率报告;在所述第二覆盖率报告中判断所述增量代码是否被覆盖,同时判断所述增量代码的批注任务是否关闭;当在所述第二覆盖率报告中所述增量代码被覆盖且所述增量代码的批注任务关闭时,将所述增量代码发布到线上环境。本发明能有效地避免增量代码漏测的缺陷,极大地提升了增量代码的测试效果。

Description

代码测试方法、装置、设备及介质
技术领域
本发明涉及测试技术领域,尤其涉及一种代码测试方法、装置、设备及介质。
背景技术
在完整产研流程中,测试是对需求和设计的还原度验收测试,测试人员根据需求和设计文档,编写完整的测试用例,经过评审,冒烟测试,功能测试和回归测试,线上测试等测试环节,去发现***问题和缺陷。
然而,现有的代码测试中,增量代码容易漏测,不利于提高代码测试的准确度。原因在于,在软件开发过程中,需要加一些功能点,因此会存在增量代码,如果在不通知测试的情况下,增量代码容易漏测,因此,不利于提高代码测试的准确度。
发明内容
本发明提供一种代码测试方法、装置、计算机设备及介质,以解决现有的代码测试中,增量代码容易漏测,不利于提高代码测试的准确度的技术问题。
第一方面,提供了一种代码测试方法,包括:
获取包含待测代码的第一覆盖率报告,确定所述第一覆盖率报告中的增量代码;
显示批注任务输入界面;
根据所述批注任务输入界面内的输入内容,生成所述增量代码对应的批注任务;
获取所述批注任务中的测试用例,根据所述测试用例对所述增量代码进行测试;
测试完毕后,获取第二覆盖率报告;
在所述第二覆盖率报告中判断所述增量代码是否被覆盖,同时判断所述增量代码的批注任务是否关闭;
当在所述第二覆盖率报告中所述增量代码被覆盖且所述增量代码的批注任务关闭时,将所述增量代码发布到线上环境。
第二方面,提供了一种代码测试装置,包括:
代码模块,用于获取包含待测代码的第一覆盖率报告,确定所述第一覆盖率报告中的增量代码;
显示模块,用于显示批注任务输入界面;
生成模块,用于根据所述批注任务输入界面内的输入内容,生成所述增量代码对应的批注任务;
测试模块,用于获取所述批注任务中的测试用例,根据所述测试用例对所述增量代码进行测试;
获取模块,用于测试完毕后,获取第二覆盖率报告;
判断模块,用于在所述第二覆盖率报告中判断所述增量代码是否被覆盖,同时判断所述增量代码的批注任务是否关闭;
发布模块,用于当在所述第二覆盖率报告中所述增量代码被覆盖且所述增量代码的批注任务关闭时,将所述增量代码发布到线上环境。
第三方面,提供了一种计算机设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述代码测试方法的步骤。
第四方面,提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述代码测试方法的步骤。
上述代码测试方法、装置、计算机设备及存储介质所实现的方案中,获取包含待测代码的第一覆盖率报告,确定所述第一覆盖率报告中的增量代码;显示批注任务输入界面;根据所述批注任务输入界面内的输入内容,生成所述增量代码对应的批注任务;获取所述批注任务中的测试用例,根据所述测试用例对所述增量代码进行测试;测试完毕后,获取第二覆盖率报告;在所述第二覆盖率报告中判断所述增量代码是否被覆盖,同时判断所述增量代码的批注任务是否关闭;当在所述第二覆盖率报告中所述增量代码被覆盖且所述增量代码的批注任务关闭时,将所述增量代码发布到线上环境。在本发明中,针对增量代码,利用在所述第二覆盖率报告中所述增量代码被覆盖且所述增量代码的批注任务关闭的方式,能有效地避免增量代码漏测的缺陷,极大高效提升了增量代码的测试效果,从而大大提高了代码测试的准确度。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例中代码测试方法的一应用环境示意图;
图2是本发明一实施例中代码测试方法的一流程示意图;
图3是图1中步骤S21的一具体实施方式流程示意图;
图4是图1中步骤S24的一具体实施方式流程示意图;
图5是图1中步骤S27的一具体实施方式流程示意图;
图6是本发明一实施例中代码测试装置的一结构示意图;
图7是本发明一实施例中计算机设备的一结构示意图;
图8是本发明一实施例中计算机设备的另一结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供的代码测试方法,可应用在如图1的应用环境中,其中,客户端通过网络与服务端进行通信。获取包含待测代码的第一覆盖率报告,确定所述第一覆盖率报告中的增量代码;显示批注任务输入界面;根据所述批注任务输入界面内的输入内容,生成所述增量代码对应的批注任务;获取所述批注任务中的测试用例,根据所述测试用例对所述增量代码进行测试;测试完毕后,获取第二覆盖率报告;在所述第二覆盖率报告中判断所述增量代码是否被覆盖,同时判断所述增量代码的批注任务是否关闭;当在所述第二覆盖率报告中所述增量代码被覆盖且所述增量代码的批注任务关闭时,将所述增量代码发布到线上环境。在本发明中,针对增量代码,利用在所述第二覆盖率报告中所述增量代码被覆盖且所述增量代码的批注任务关闭的方式,能有效地避免增量代码漏测的缺陷,极大高效提升了增量代码的测试效果,从而大大提高了代码测试的准确度。
其中,客户端可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。
服务端可以用独立的服务器或者是多个服务器组成的服务器集群来实现。下面通过具体的实施例对本发明进行详细的描述。
请参阅图2所示,图2为本发明实施例提供的代码测试方法的一个流程示意图,包括如下步骤:
S21,获取包含待测代码的第一覆盖率报告,确定所述第一覆盖率报告中的增量代码;
其中,当开发人员提交了待测代码之后,进行代码测试,获取包含待测代码的第一覆盖率报告,确定所述第一覆盖率报告中的增量代码。
示例性的,当用户需要对待测代码进行测试时,用户可向服务器发起待测代码所需的测试用例的测试请求。
服务器响应测试请求,通过Jacoco获取包含待测代码的第一覆盖率报告,Jacoco,即Java Code Coverage,是一款开源的Java代码覆盖率统计工具。
请参阅图3,图3是图1中步骤S21的一具体实施方式流程示意图,详述如下:
S31,获取包含待测代码的第一覆盖率报告,确定所述第一覆盖率报告中获取覆盖率;
S32,判断所述覆盖率是否达到预设覆盖率;
S33,当所述覆盖率未达到预设覆盖率时,确定所述第一覆盖率报告中获取未覆盖的代码,将所述未覆盖的代码确定为增量代码。
S22,显示批注任务输入界面;
所述显示批注任务输入界面,包括:
在界面上显示所述增量代码,检测是否存在所述增量代码的触发操作;
当存在所述增量代码的触发操作时,显示所述批注任务输入界面,所述触发操作包括所述增量代码的校验操作、所述增量代码的修改操作、所述增量代码的批注操作中的至少一种操作。
S23,根据所述批注任务输入界面内的输入内容,生成所述增量代码对应的批注任务;
S24,获取所述批注任务中的测试用例,根据所述测试用例对所述增量代码进行测试;
其中,在工作中,测试用例根据***需求会划分成不同的等级:
其中,核心功能的测试用例,也就是冒烟测试,是确定此版本是否可测的测试用例。此部分测试用例如果测试不通过,需要回到开发阶段重新修改,修改完毕后,再重新提测试要求。此部分测试用例如果测试通过,就进入功能阶段测试。
其中,步骤S24有两种实施方式,步骤S24的第一种实施方式如下:
请参阅图4,图4是图1中步骤S24的一具体实施方式流程示意图,详述如下:
S41,基于所述批注任务输入界面内的输入内容生成测试关键字;
S42,获取测试内容,在所述测试内容中查询所述测试关键字;
S43,当在所述测试内容中查询到所述测试关键字时,获取所述测试内容对应的所述测试用例,采用所述测试用例对所述增量代码进行测试。
示例性的,S43,包括:
当在所述测试内容中查询到所述测试关键字时,获取所述测试内容对应的所述测试用例;
判断所述测试内容对应的所述测试用例是否有多个;
当获取到所述测试内容对应的所述测试用例有多个时,获取每个所述测试用例的测试次数;
按照从高到低的顺序对所述测试次数进行排序,采用所述测试次数排序第一的所述测试用例对所述增量代码进行测试。
步骤S24的第二种实施方式如下:
获取所述批注任务中的测试者修改或补充的所述测试用例,根据所述测试用例对所述增量代码进行测试。
示例性的,测试用例是为了测试向被测试的***提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果。预期结果:提供测试执行的预期结果,预期结果一般是根据需求得出,如果实际结果和预期结果一致时,就测试通过,如果实际结果和预期结果不一致时,就测试不通过。
S25,测试完毕后,获取第二覆盖率报告;
其中,在所述测试完毕后,获取第二覆盖率报告之后,所述方法还包括:
确定所述第一覆盖率报告和在所述第二覆盖率报告中删除空白行或注释行。
确定所述第一覆盖率报告和在所述第二覆盖率报告中删除空白行或注释行,执行在S26之后,或者,执行在执行在S26之前,或者,与S26同时执行,在此不做限制。
S26,在所述第二覆盖率报告中判断所述增量代码是否被覆盖,同时判断所述增量代码的批注任务是否关闭;
其中,在所述在所述第二覆盖率报告中判断所述增量代码是否被覆盖,同时判断所述增量代码的批注任务是否关闭之后,所述方法还包括:
当在所述第二覆盖率报告中所述增量代码没被覆盖或所述增量代码的批注任务没关闭时,不将所述增量代码发布到线上环境。
S27,当在所述第二覆盖率报告中所述增量代码被覆盖且所述增量代码的批注任务关闭时,将所述增量代码发布到线上环境。
其中,在***中建立两个监听进程,第一个监听进程用于监听在所述第二覆盖率报告中判断所述增量代码是否被覆盖的结果,第二个监听进程用于监听判断所述增量代码的批注任务是否关闭的结果;
当第一个监听进程监听到在所述第二覆盖率报告中判断所述增量代码是否被覆盖的结果为所述增量代码被覆盖,且第二个监听进程监听到判断所述增量代码的批注任务是否关闭的结果为所述批注任务被关闭,将所述增量代码发布到线上环境。
请参阅图5,图5是图1中步骤S27的一具体实施方式流程示意图,详述如下:
S51,获取所述第二覆盖率报告,在所述第二覆盖率报告中获取新的覆盖率;
S52,判断所述新的覆盖率是否达到预设覆盖率,同时判断所述增量代码的批注任务是否关闭;
S53,当所述新的覆盖率达到预设覆盖率且所述增量代码的批注任务关闭时,将所述增量代码发布到线上环境。
其中,当所述新的覆盖率达到预设覆盖率且所述增量代码的批注任务关闭时,将所述增量代码发布到线上环境,这样可以防止未经过测试的增量代码漏测,从而维护了线上环境的安全。
可见,针对增量代码,利用在所述第二覆盖率报告中所述增量代码被覆盖且所述增量代码的批注任务关闭的方式,能有效地避免增量代码漏测的缺陷,极大高效提升了增量代码的测试效果,从而大大提高了代码测试的准确度。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在一实施例中,提供一种代码测试装置,该代码测试装置与上述实施例中代码测试方法一一对应。
请参阅图6,图6是本发明一实施例中代码测试装置的一结构示意图,如图6所示,该代码测试装置包括代码模块101、显示模块102、生成模块103、测试模块104、获取模块105、判断模块106和发布模块107。各功能模块详细说明如下:
代码模块101,用于获取包含待测代码的第一覆盖率报告,确定所述第一覆盖率报告中的增量代码;
显示模块102,用于显示批注任务输入界面;
生成模块103,用于根据所述批注任务输入界面内的输入内容,生成所述增量代码对应的批注任务;
测试模块104,用于获取所述批注任务中的测试用例,根据所述测试用例对所述增量代码进行测试;
获取模块105,用于测试完毕后,获取第二覆盖率报告;
判断模块106,用于在所述第二覆盖率报告中判断所述增量代码是否被覆盖,同时判断所述增量代码的批注任务是否关闭;
发布模块107,用于当在所述第二覆盖率报告中所述增量代码被覆盖且所述增量代码的批注任务关闭时,将所述增量代码发布到线上环境。
在一实施例中,代码模块101,具体用于:
获取包含待测代码的第一覆盖率报告,确定所述第一覆盖率报告中获取覆盖率;
判断所述覆盖率是否达到预设覆盖率;
当所述覆盖率未达到预设覆盖率时,确定所述第一覆盖率报告中获取未覆盖的代码,将所述未覆盖的代码确定为增量代码。
在一实施例中,显示模块102,具体用于:
在界面上显示所述增量代码,检测是否存在所述增量代码的触发操作;
当存在所述增量代码的触发操作时,显示所述批注任务输入界面,所述触发操作包括所述增量代码的校验操作、所述增量代码的修改操作、所述增量代码的批注操作中的至少一种操作。
在一实施例中,测试模块104,具体用于:
基于所述批注任务输入界面内的输入内容生成测试关键字;
获取测试内容,在所述测试内容中查询所述测试关键字;
当在所述测试内容中查询到所述测试关键字时,获取所述测试内容对应的所述测试用例,采用所述测试用例对所述增量代码进行测试。
在一实施例中,测试模块104,具体用于:
获取所述批注任务中的测试者修改或补充的所述测试用例,根据所述测试用例对所述增量代码进行测试。
在一实施例中,测试模块104,具体用于:
当在所述测试内容中查询到所述测试关键字时,获取所述测试内容对应的所述测试用例;
判断所述测试内容对应的所述测试用例是否有多个;
当获取到所述测试内容对应的所述测试用例有多个时,获取每个所述测试用例的测试次数;
按照从高到低的顺序对所述测试次数进行排序,采用所述测试次数排序第一的所述测试用例对所述增量代码进行测试。
在一实施例中,发布模块107,具体用于:
获取所述第二覆盖率报告,在所述第二覆盖率报告中获取新的覆盖率;
判断所述新的覆盖率是否达到预设覆盖率,同时判断所述增量代码的批注任务是否关闭;
当所述新的覆盖率达到预设覆盖率且所述增量代码的批注任务关闭时,将所述增量代码发布到线上环境。
在一实施例中,该代码测试装置,还包括:
不发布模块,用于当在所述第二覆盖率报告中所述增量代码没被覆盖或所述增量代码的批注任务没关闭时,不将所述增量代码发布到线上环境。
在一实施例中,该代码测试装置,还包括:
删除模块,用于确定所述第一覆盖率报告和在所述第二覆盖率报告中删除空白行或注释行。
本发明提供了一种代码测试装置,针对增量代码,利用在所述第二覆盖率报告中所述增量代码被覆盖且所述增量代码的批注任务关闭的方式,能有效地避免增量代码漏测的缺陷,极大高效提升了增量代码的测试效果,从而大大提高了代码测试的准确度。
关于代码测试装置的具体限定可以参见上文中对于智能问答处方法的限定,在此不再赘述。上述代码测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
请参阅图7,图7是本发明一实施例中计算机设备的一结构示意图,在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务端,其内部结构图可以如图7所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性和/或易失性存储介质、内存储器。该非易失性存储介质存储有操作***、计算机程序和数据库。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的客户端通过网络连接通信。该计算机程序被处理器执行时以实现一种代码测试方法服务端侧的功能或步骤。
请参阅图8,图8是本发明一实施例中计算机设备的另一结构示意图,在一个实施例中,提供了一种计算机设备,该计算机设备可以是客户端,其内部结构图可以如图8所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部服务器通过网络连接通信。该计算机程序被处理器执行时以实现一种代码测试方法客户端侧的功能或步骤
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
获取包含待测代码的第一覆盖率报告,确定所述第一覆盖率报告中的增量代码;
显示批注任务输入界面;
根据所述批注任务输入界面内的输入内容,生成所述增量代码对应的批注任务;
获取所述批注任务中的测试用例,根据所述测试用例对所述增量代码进行测试;
测试完毕后,获取第二覆盖率报告;
在所述第二覆盖率报告中判断所述增量代码是否被覆盖,同时判断所述增量代码的批注任务是否关闭;
当在所述第二覆盖率报告中所述增量代码被覆盖且所述增量代码的批注任务关闭时,将所述增量代码发布到线上环境。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
获取包含待测代码的第一覆盖率报告,确定所述第一覆盖率报告中的增量代码;
显示批注任务输入界面;
根据所述批注任务输入界面内的输入内容,生成所述增量代码对应的批注任务;
获取所述批注任务中的测试用例,根据所述测试用例对所述增量代码进行测试;
测试完毕后,获取第二覆盖率报告;
在所述第二覆盖率报告中判断所述增量代码是否被覆盖,同时判断所述增量代码的批注任务是否关闭;
当在所述第二覆盖率报告中所述增量代码被覆盖且所述增量代码的批注任务关闭时,将所述增量代码发布到线上环境。
需要说明的是,上述关于计算机可读存储介质或计算机设备所能实现的功能或步骤,可对应参阅前述方法实施例中,服务端侧以及客户端侧的相关描述,为避免重复,这里不再一一描述。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、图形处理器(Graphics Processing Unit,简称GPU),网络处理器(NetworkProcessor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选地,并且操作的顺序可以变化。一些实施例的部分和子样本可以被包括在或替换其他实施例的部分和子样本。而且,本申请中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“”(the)旨在同样包括复数形式。类似地,如在本申请中所使用的术语“和/或”是指包含一个或一个以上相关联的列出的任何以及所有可能的组合。另外,当用于本申请中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的子样本、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它子样本、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个…”限定的要素,并不排除在包括要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些子样本可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
附图中的流程图和框图显示了根据本公开实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。在附图中的流程图和框图所对应的描述中,不同的方框所对应的操作或步骤也可以以不同于描述中所披露的顺序发生,有时不同的操作或步骤之间不存在特定的顺序。例如,两个连续的操作或步骤实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。

Claims (10)

1.一种代码测试方法,其特征在于,包括:
获取包含待测代码的第一覆盖率报告,确定所述第一覆盖率报告中的增量代码;
显示批注任务输入界面;
根据所述批注任务输入界面内的输入内容,生成所述增量代码对应的批注任务;
获取所述批注任务中的测试用例,根据所述测试用例对所述增量代码进行测试;
测试完毕后,获取第二覆盖率报告;
在所述第二覆盖率报告中判断所述增量代码是否被覆盖,同时判断所述增量代码的批注任务是否关闭;
当在所述第二覆盖率报告中所述增量代码被覆盖且所述增量代码的批注任务关闭时,将所述增量代码发布到线上环境。
2.如权利要求1所述的代码测试方法,其特征在于,所述获取包含待测代码的第一覆盖率报告,确定所述第一覆盖率报告中的增量代码,包括:
获取包含待测代码的第一覆盖率报告,确定所述第一覆盖率报告中获取覆盖率;
判断所述覆盖率是否达到预设覆盖率;
当所述覆盖率未达到预设覆盖率时,确定所述第一覆盖率报告中获取未覆盖的代码,将所述未覆盖的代码确定为增量代码。
3.如权利要求1所述的代码测试方法,其特征在于,所述显示批注任务输入界面,包括:
在界面上显示所述增量代码,检测是否存在所述增量代码的触发操作;
当存在所述增量代码的触发操作时,显示所述批注任务输入界面,所述触发操作包括所述增量代码的校验操作、所述增量代码的修改操作、所述增量代码的批注操作中的至少一种操作。
4.如权利要求1所述的代码测试方法,其特征在于,所述获取所述批注任务中的测试用例,根据所述测试用例对所述增量代码进行测试,包括:
基于所述批注任务输入界面内的输入内容生成测试关键字;
获取测试内容,在所述测试内容中查询所述测试关键字;
当在所述测试内容中查询到所述测试关键字时,获取所述测试内容对应的所述测试用例,采用所述测试用例对所述增量代码进行测试。
5.如权利要求1所述的代码测试方法,其特征在于,所述获取所述批注任务中的测试用例,根据所述测试用例对所述增量代码进行测试,包括:
获取所述批注任务中的测试者修改或补充的所述测试用例,根据所述测试用例对所述增量代码进行测试。
6.如权利要求4所述的代码测试方法,其特征在于,所述当在所述测试内容中查询到所述测试关键字时,获取所述测试内容对应的所述测试用例,采用所述测试用例对所述增量代码进行测试,包括:
当在所述测试内容中查询到所述测试关键字时,获取所述测试内容对应的所述测试用例;
判断所述测试内容对应的所述测试用例是否有多个;
当获取到所述测试内容对应的所述测试用例有多个时,获取每个所述测试用例的测试次数;
按照从高到低的顺序对所述测试次数进行排序,采用所述测试次数排序第一的所述测试用例对所述增量代码进行测试。
7.如权利要求1至6中任一所述的代码测试方法,其特征在于,所述当在所述第二覆盖率报告中所述增量代码被覆盖且所述增量代码的批注任务关闭时,将所述增量代码发布到线上环境,包括:
获取所述第二覆盖率报告,在所述第二覆盖率报告中获取新的覆盖率;
判断所述新的覆盖率是否达到预设覆盖率,同时判断所述增量代码的批注任务是否关闭;
当所述新的覆盖率达到预设覆盖率且所述增量代码的批注任务关闭时,将所述增量代码发布到线上环境。
8.一种代码测试装置,其特征在于,包括:
代码模块,用于获取包含待测代码的第一覆盖率报告,确定所述第一覆盖率报告中的增量代码;
显示模块,用于显示批注任务输入界面;
生成模块,用于根据所述批注任务输入界面内的输入内容,生成所述增量代码对应的批注任务;
测试模块,用于获取所述批注任务中的测试用例,根据所述测试用例对所述增量代码进行测试;
获取模块,用于测试完毕后,获取第二覆盖率报告;
判断模块,用于在所述第二覆盖率报告中判断所述增量代码是否被覆盖,同时判断所述增量代码的批注任务是否关闭;
发布模块,用于当在所述第二覆盖率报告中所述增量代码被覆盖且所述增量代码的批注任务关闭时,将所述增量代码发布到线上环境。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任一项所述代码测试方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述代码测试方法的步骤。
CN202310503464.3A 2023-05-05 2023-05-05 代码测试方法、装置、设备及介质 Pending CN116521556A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310503464.3A CN116521556A (zh) 2023-05-05 2023-05-05 代码测试方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310503464.3A CN116521556A (zh) 2023-05-05 2023-05-05 代码测试方法、装置、设备及介质

Publications (1)

Publication Number Publication Date
CN116521556A true CN116521556A (zh) 2023-08-01

Family

ID=87391847

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310503464.3A Pending CN116521556A (zh) 2023-05-05 2023-05-05 代码测试方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN116521556A (zh)

Similar Documents

Publication Publication Date Title
US9405662B2 (en) Process for displaying test coverage data during code reviews
US20130159977A1 (en) Open kernel trace aggregation
CN104252481A (zh) 主从数据库一致性的动态校验方法和装置
CN111522728A (zh) 自动化测试用例的生成方法、电子设备及可读存储介质
US10657028B2 (en) Method for replicating production behaviours in a development environment
CN111026647B (zh) 代码覆盖率的获取方法、装置、计算机设备和存储介质
CN111211929A (zh) 故障定位方法、故障定位装置、控制设备及智能设备
CN110580220B (zh) 测量代码段执行时间的方法及终端设备
CN113946983A (zh) 产品可靠性薄弱环节评估方法、装置和计算机设备
CN112882948A (zh) 一种应用的稳定性测试方法、装置、***及存储介质
US20030237032A1 (en) Method for electronically testing memory modules
CN116521556A (zh) 代码测试方法、装置、设备及介质
CN114185798A (zh) 接口测试用例检测方法、装置、计算机设备和存储介质
CN114968751A (zh) 一种无代码开发平台的程序调试方法和程序调试装置
CN112631905A (zh) 执行过程数据管理方法、装置、计算机设备及存储介质
CN109697141B (zh) 用于可视化测试的方法及装置
US8458523B2 (en) Meta attributes in functional coverage models
Chen et al. Analyzing execution path non-determinism of the Linux kernel in different scenarios
CN112650679B (zh) 一种测试校验方法、装置及计算机***
Cai Coverage-based testing strategies and reliability modeling for fault-tolerant software systems
CN118229271B (zh) 用于核电安全级设备的寿命评估方法、装置、设备及介质
CN113901731B (zh) 电量预测方法、装置、介质及设备
CN117033208A (zh) 接口契约检查方法、装置、电子设备及存储介质
CN117806943A (zh) 测试方法、装置及存储介质
CN117130909A (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