CN115203064A - 代码检测方法、装置、计算机设备及可读存储介质 - Google Patents
代码检测方法、装置、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN115203064A CN115203064A CN202211133972.9A CN202211133972A CN115203064A CN 115203064 A CN115203064 A CN 115203064A CN 202211133972 A CN202211133972 A CN 202211133972A CN 115203064 A CN115203064 A CN 115203064A
- Authority
- CN
- China
- Prior art keywords
- code
- detected
- test
- change
- result
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 76
- 238000012360 testing method Methods 0.000 claims abstract description 176
- 230000008859 change Effects 0.000 claims abstract description 68
- 238000013515 script Methods 0.000 claims abstract description 37
- 230000006870 function Effects 0.000 claims description 38
- 230000002159 abnormal effect Effects 0.000 claims description 34
- 238000000034 method Methods 0.000 claims description 34
- 238000012552 review Methods 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 11
- 238000012986 modification Methods 0.000 claims description 10
- 230000004048 modification Effects 0.000 claims description 10
- 238000010586 diagram Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 4
- 238000002372 labelling Methods 0.000 claims description 2
- 238000004458 analytical method Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000005206 flow analysis Methods 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000007488 abnormal function Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 238000010200 validation analysis Methods 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/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/3684—Test 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
技术领域
本申请涉及软件测试领域,具体涉及一种代码检测方法、装置、计算机设备及可读存储介质。
背景技术
为了使软件产品能够快速响应市场,软件版本的迭代频率越来越高,项目发布周期越来越短,伴随而来的必然是更多的资源投入。而多出来的这部分投入不再是新功能开发所需的时间和人力,而是每次版本迭代的回归测试所耗费的时间和人力,越是庞大的软件产品,回归测试耗费的时间和人力越是大的惊人,回归测试已经成为了项目快速交付的新瓶颈。为了适应越来越频繁的软件迭代版本的交付,寻求高质量、高效率、低成本的回归测试方法成为了目前软件行业迫切需要攻克的难题。
发明内容
针对上述技术问题,本申请提供一种代码检测方法、装置、计算机设备及可读存储介质,可以提高代码检测的效率,降低代码测试的成本。
为解决上述技术问题,本申请提供一种代码检测方法,包括:
响应代码检测指令,获取所述代码检测指令对应的待检测代码;
根据所述待检测代码的代码变化结果,推荐所述待检测代码对应的测试用例;
基于所述测试用例以及待检测代码对应的功能属性,构建所述待检测代码对应的测试脚本;
利用所述测试脚本对所述待检测代码进行自动化测试。
可选的,在本申请的一些实施例中,所述根据所述待检测代码的代码变化结果,推荐所述待检测代码对应的测试用例,包括:
获取所述待检测代码对应的历史发布代码;
基于所述待检测代码和历史发布代码,确定所述待检测代码的代码变化结果;
确定所述代码变化结果对应的功能变化,并基于所述功能变化,推荐所述待检测代码对应的测试用例。
可选的,在本申请的一些实施例中,所述确定所述代码变化结果对应的功能变化,包括:
获取所述代码变化结果对应的变化文本;
对所述变化文本进行识别,得到所述待检测代码对应的功能变化。
可选的,在本申请的一些实施例中,所述利用所述测试脚本对所述待检测代码进行自动化测试之后,还包括:
当所述自动化测试结果指示所述待检测代码通过测试时,将自动化测试结果发送至代码评审方,以使所述代码评审方根据所述自动化测试结果返回代码评审结果。
可选的,在本申请的一些实施例中,所述利用所述测试脚本对所述待检测代码进行自动化测试之后,还包括:
当所述自动化测试结果指示所述待检测代码未通过至少部分测试时,输出未通过测试对应的代码修改界面,所述代码修改界面包括信息展示控件;
响应针对所述信息展示控件的触发操作,对所述待检测代码中的异常语句进行标记。
可选的,在本申请的一些实施例中,所述响应针对所述信息展示控件的触发操作,对所述待检测代码中异常的语句进行标记,包括:
响应针对所述信息展示控件的触发操作,输出所述待检测代码对应的功能模块图,所述功能模块图包括多个功能项;
以高亮形式显示所述待检测代码中的异常语句,并标注的异常语句对应的功能项。
可选的,在本申请的一些实施例中,还包括:
响应针对的异常语句的选择操作,将选择的异常语句确定为目标语句;
响应针对所述目标语句的长按操作,推荐所述目标语句对应的替换字符或替换语句。
相应的,本申请还提供一种代码检测装置,包括:
获取模块,用于响应代码检测指令,获取所述代码检测指令对应的待检测代码;
推荐模块,用于根据所述待检测代码的代码变化结果,推荐所述待检测代码对应的测试用例;
构建模块,用于基于所述测试用例以及待检测代码对应的功能属性,构建所述待检测代码对应的测试脚本;
测试模块,用于利用所述测试脚本对所述待检测代码进行自动化测试。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。
本申请还提供一种计算机存储介质,所述计算机存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。
如上所述,本申请提供一种代码检测方法、装置、计算机设备及可读存储介质,响应代码检测指令,获取所述代码检测指令对应的待检测代码,然后,根据所述待检测代码的代码变化结果,推荐所述待检测代码对应的测试用例,接着,基于所述测试用例以及待检测代码对应的功能属性,构建所述待检测代码对应的测试脚本,最后,利用所述测试脚本对所述待检测代码进行自动化测试。在本申请提供的代码检测方案中,可以根据待检测代码的代码变化结果,推荐待检测代码对应的测试用例,再基于测试用例以及待检测代码对应的功能属性,构建待检测代码对应的测试脚本,可以自动完成对测试脚本的构建,由此,可以避免由于软件的频繁迭代,而导致回归测试所耗费的时间和人力增加,进而提高代码检测的效率,并降低代码测试的成本。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请提供的代码检测方法的场景示意图;
图2是本申请提供的代码检测方法的流程示意图;
图3是本申请提供的代码检测装置的结构示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素,此外,本申请不同实施例中具有同样命名的部件、特征、要素可能具有相同含义,也可能具有不同含义,其具体含义需以其在该具体实施例中的解释或者进一步结合该具体实施例中上下文进行确定。
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或者“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或者“单元”可以混合地使用。
以下对本申请涉及的实施例进行具体描述,需要说明的是,在本申请中对实施例的描述顺序不作为对实施例优先顺序的限定。
本申请实施例提供一种代码检测方法、装置、计算机设备及可读存储介质。
其中,该代码检测装置具体可以集成在终端中。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端与服务器之间可以通过有线或无线通信方式进行直接或间接地连接,服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器,本申请在此不做限制。
例如,请参阅图1,本申请提供一种代码检测系统,包括代码检测设备10和服务器20,代码检测设备10响应代码检测指令,获取代码检测指令对应的待检测代码,然后,代码检测设备10可以根据待检测代码的代码变化结果,推荐待检测代码对应的测试用例,接着,代码检测设备10基于测试用例以及待检测代码对应的功能属性,构建待检测代码对应的测试脚本,最后,代码检测设备10利用测试脚本对待检测代码进行自动化测试。在代码检测设备10对待检测代码完成自动化测试后,可以将自动化测试结果发送至服务器20中,以便服务器20执行后续的操作。
本申请提供的代码检测方案,可以根据待检测代码的代码变化结果,推荐待检测代码对应的测试用例,再基于测试用例以及待检测代码对应的功能属性,构建待检测代码对应的测试脚本,可以自动完成对测试脚本的构建,由此,可以避免由于软件的频繁迭代,而导致回归测试所耗费的时间和人力增加,进而提高代码检测的效率,并降低了代码测试的成本。
以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优先顺序的限定。
一种代码检测方法,包括:响应代码检测指令,获取代码检测指令对应的待检测代码;根据待检测代码的代码变化结果,推荐待检测代码对应的测试用例;基于测试用例以及待检测代码对应的功能属性,构建待检测代码对应的测试脚本;利用测试脚本对待检测代码进行自动化测试。
请参阅图2,图2为本申请实施例提供的代码检测方法的流程示意图。该数代码检测方法的具体流程可以如下:
101、响应代码检测指令,获取代码检测指令对应的待检测代码。
其中,工程人员可以通过代码评审平台触发自动测试平台,由自动测试平台生成相应的代码检测指令,当接收到代码检测指令时,获取代码检测指令对应的待检测代码。可选地,该代码评审平台可以是Gerrit,自动测试平台可以是Jenkins,Gerrit:一种开源的代码审查软件,使用网页界面。具体的,通过Gerrit,同一个团队的软件程序员,利用网页浏览器可以相互审阅彼此修改后的程序代码,决定是否能够提交,退回或者继续修改;Jenkins:一个开源软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。当然,上述代码评审平台也可以为其他类型的代码评审平台,自动测试平台也可以为其他类型的代码评审平台,本申请仅仅是利用Gerrit和Jenkins进行举例,并不作为对本申请的限制。
102、根据待检测代码的代码变化结果,推荐待检测代码对应的测试用例。
其中,测试用例(Test case)是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。简单地认为,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。可见,在本申请中,利用待检测代码的代码变化结果,在测试场景下,推荐相应的测试用例,减少工程人员查询或编写测试用例的时间,从而提高测试效率。
进一步的,在软件进行迭代更新时,其可能是对某项或者某几项功能进行调整或变更,因此,对于软件对应的代码而言,其修改的可能是一部分代码,因此,本申请通过待检测代码与其对应的历史发布代码之间的差异,确定待检测代码对应的变化结果,随后,基于该代码变换结果对应的功能变化,推荐待检测代码对应的测试用例,即,可选地,在一些实施例中,步骤“根据待检测代码的代码变化结果,推荐待检测代码对应的测试用例”,具体可以包括:
(11)获取待检测代码对应的历史发布代码;
(12)基于待检测代码和历史发布代码,确定待检测代码的代码变化结果;
(13)确定代码变化结果对应的功能变化,并基于功能变化,推荐待检测代码对应的测试用例。
例如,具体的,可以计算待检测代码和历史发布代码中每行语句之间的代码语句相似度,将代码语句相似度小于100%的语句确定为变化语句,由此,可以得到代码变化结果对应的变化文本,随后基于该变化文本,推荐待检测代码对应的测试用例,即,可选地,在一些实施例中,步骤“确定代码变化结果对应的功能变化”,具体可以包括:
(21)获取代码变化结果对应的变化文本;
(22)对变化文本进行识别,得到待检测代码对应的功能变化。
例如,可以采用控制流分析法或数据流分析法,对变化文本所对应的功能进行识别,从而得到待检测代码对应的功能变化,当然,也可以基于自然语言处理的方法,对变化文本所对应的功能进行识别,如采用线性判别式分析(Linear Discriminant Analysis,LDA)算法,基于静态分析对变化文本所对应的功能进行识别,即,利用LDA算法能够自动挖掘文档标题(topic)的特性,基于静态分析技术,自动地从代码中识别功能点,具体的,首先,需要对变化文本进行处理,即,用静态分析技术和切词技术对代码进行转化,选择合适的字符(如单词、单字)放入词袋中,作为LDA的输入,随后,采用传统的LDA算法挖掘项目中潜在的topic,挖掘的topic可能对应某些功能点,也可能不具备任何意义,因此,需要对挖掘的topic进行筛选,即,可以分析同一topic下相关联的代码之间的关系,计算topic的内聚度,从而排除没有意义的topic,进而识别处变化文本对应的功能点,由此,可以得到待检测代码对应的功能变化。
103、基于测试用例以及待检测代码对应的功能属性,构建待检测代码对应的测试脚本。
需要说明的是,测试用例是为实施测试而向被测试系统提供的输入数据、操作或各种环境设置以及期望结果的一个特定的集合,而测试脚本是为了进行自动化测试而编写的脚本,测试脚本的编写必须对应相应的测试用例。可以采用常规的技术构建待检测代码对应的测试脚本,在此不做赘述。
104、利用测试脚本对待检测代码进行自动化测试。
自动化测试可以包括单元测试、集成测试、确认测试、系统测试、验收测试、回归测试、Alpha测试、Beta测试以及PMD检查测试中的一种或多种,其中,PMD为一种用以分析Java代码错误的工具,PMD扫描的问题包括:可能的BUG、无效代码、非最佳的代码、过于复杂的表达式、重复代码等,自动化测试结果包括代码覆盖率、PMD扫描的问题、测试用例通过率和错误个数信息等等。
可以理解的是,自动化测试结果可以包括通过和未通过两种情况,当自动化测试结果指示待检测代码通过测试时,可以将自动化测试结果发送至代码评审方,以使代码评审方根据自动化测试结果返回代码评审结果,比如,可以向至少一个代码评审方发送代码审查的通知信息,由代码评审方对应的评审者进行人工审查,该代码审查的通知信息用于通知一个评审者进行代码审查,具体的,接收至少一个代码评审方返回的待检测代码的评审结果,在评审结果指示代码通过评审的情况下,确定待检测代码通过人工检查,随后,可以对该待检测代码添加相应的分值,如+1;在评审结果指示代码未通过评审的情况下,确定待检测代码未通过人工检查,随后,可以对该待检测代码添加相应的分值,如-1。
可选地,当自动化测试结果指示待检测代码未通过测试时,如未通过回归测试时,可以输出未通过测试对应的代码修改界面,并响应于针对该代码修改界面的操作,对异常语句进行标记,即,步骤“利用测试脚本对待检测代码进行自动化测试”之后,具体还可以包括:
(31)当自动化测试结果指示待检测代码未通过至少部分测试时,输出未通过测试对应的代码修改界面;
(32)响应针对信息展示控件的触发操作,对待检测代码中的异常语句进行标记。
其中,代码修改界面包括信息展示控件,信息展示控件可以设置在代码修改界面的顶部区域、中部区域或底部区域,具体可以根据实际情况进行设置,具体的,响应针对该信息展示控件的触发操作(如点击操作),对待检测代码中的异常语句的背景色进行调整,如调整为黄色,从而实现标记异常语句;可选地,还可以标记异常语句对应的字体,如将异常语句对应的字体调整为红色等等。可选地,在一些实施例中,在点击信息展示控件后,还可以输出待检测代码对应的功能项,对异常语句对应的功能项进行标记,以便工程人员获知该待检测代码异常的功能,即,步骤“响应针对信息展示控件的触发操作,对待检测代码中异常的语句进行标记”,具体可以包括:
(41)响应针对信息展示控件的触发操作,输出待检测代码对应的功能模块图;
(42)以高亮形式显示待检测代码中的异常语句,并标注异常语句对应的功能项。
其中,功能模块图包含待检测代码可实现的所有功能,即,可选地,该功能模块图包括多个功能项,在一些实施例中,可以以高亮形式显示待检测代码中的异常语句,并将异常语句对应的功能项的背景色调整为红色。
此外,在一些实施例中,还可以推荐异常语句对应的替换字符或替换语句,即,本申请的代码检测方法具体还可以包括:
(51)响应针对的异常语句的选择操作,将选择的异常语句确定为目标语句;
(52)响应针对目标语句的长按操作,推荐目标语句对应的替换字符或替换语句。
其中,目标语句为工程人员所选择的异常语句,该异常语句可能是某个字符出错或者是整个语句出错,因此,在本申请中,可以根据目标语句的错误情况,输出相应的替换字符或替换语句。
由上可知,本申请提供一种代码检测方法,响应代码检测指令,获取代码检测指令对应的待检测代码后,根据待检测代码的代码变化结果,推荐待检测代码对应的测试用例,接着,基于测试用例以及待检测代码对应的功能属性,构建待检测代码对应的测试脚本,最后,利用测试脚本对待检测代码进行自动化测试,在本申请提供的代码检测方案中,可以根据待检测代码的代码变化结果,推荐待检测代码对应的测试用例,再基于测试用例以及待检测代码对应的功能属性,构建待检测代码对应的测试脚本,可以自动完成对测试脚本的构建,由此,可以避免由于软件的频繁迭代,而导致回归测试所耗费的时间和人力增加,进而提高代码检测的效率,并降低了代码测试的成本。
为便于更好的实施本申请的代码检测方法,本申请还提供一种基于上述代码检测装置。其中名词的含义与上述代码检测方法中相同,具体实现细节可以参考方法实施例中的说明。
请参阅图3,图3为本申请提供的代码检测装置的结构示意图,其中该代码检测装置可以包括获取模块201、推荐模块202、构建模块203以及测试模块204,具体可以如下:
获取模块201,用于响应代码检测指令,获取代码检测指令对应的待检测代码。
其中,工程人员可以通过代码评审平台触发自动测试平台,由自动测试平台生成相应的代码检测指令,获取模块201当接收到代码检测指令时,获取代码检测指令对应的待检测代码。
推荐模块202,用于根据待检测代码的代码变化结果,推荐待检测代码对应的测试用例。
例如,具体的,推荐模块202通过待检测代码与其对应的历史发布代码之间的差异,确定待检测代码对应的变化结果,随后,基于该代码变换结果对应的功能变化,推荐待检测代码对应的测试用例。
可选地,在一些实施例中,推荐模块202具体可以包括:
获取单元,用于获取待检测代码对应的历史发布代码;
第一确定单元,用于基于待检测代码和历史发布代码,确定待检测代码的代码变化结果;
第二确定单元,用于确定代码变化结果对应的功能变化;
推荐单元,用于基于功能变化,推荐待检测代码对应的测试用例。
可选地,在一些实施例中,第二确定单元具体用于:获取代码变化结果对应的变化文本,对变化文本进行识别,得到待检测代码对应的功能变化。
构建模块203,用于基于测试用例以及待检测代码对应的功能属性,构建待检测代码对应的测试脚本。
测试模块204,用于利用测试脚本对待检测代码进行自动化测试。
自动化测试结果可以包括通过和未通过两种情况,当自动化测试结果指示待检测代码通过测试时,测试模块204可以用于将自动化测试结果发送至代码评审方,以便代码评审方根据自动化测试结果返回的代码评审结果。
可选地,在一些实施例中,测试模块204具体可以包括:
输出单元,用于当自动化测试结果指示待检测代码未通过至少部分测试时,输出未通过测试对应的代码修改界面;
标记单元,用于响应针对信息展示控件的触发操作,对待检测代码中的异常语句进行标记。
可选地,在一些实施例中,标记单元具体可以包括:
输出子单元,用于响应针对信息展示控件的触发操作,输出待检测代码对应的功能模块图;
标记子单元,用于高亮地显示待检测代码中的异常语句,并标注的异常语句对应的功能项。
可选的,在一些实施例中,测试模块204具体还可以用于:响应针对的异常语句的选择操作,将选择的异常语句确定为目标语句;响应针对目标语句的长按操作,推荐目标语句对应的替换字符或替换语句。
由上可知,本申请提供一种代码检测装置,获取模块201响应代码检测指令,获取代码检测指令对应的待检测代码后,推荐模块202根据待检测代码的代码变化结果,推荐待检测代码对应的测试用例,接着,构建模块203基于测试用例以及待检测代码对应的功能属性,构建待检测代码对应的测试脚本,最后,测试模块204利用测试脚本对待检测代码进行自动化测试,在本申请提供的代码检测方案中,可以根据待检测代码的代码变化结果,推荐待检测代码对应的测试用例,再基于测试用例以及待检测代码对应的功能属性,构建待检测代码对应的测试脚本,可以自动完成对测试脚本的构建,由此,可以避免由于软件的频繁迭代,而导致回归测试所耗费的时间和人力增加,进而提高代码检测的效率,并降低了代码测试的成本。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本申请实施例所提供的任一种代码检测方法中的步骤。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该存储介质中所存储的指令,可以执行本申请实施例所提供的任一种数据检测方法中的步骤,因此,可以实现本申请实施例所提供的任一种代码检测方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
本申请实施例还提供一种芯片,包括存储器和处理器,存储器用于存储计算机程序,处理器用于从存储器中调用并运行计算机程序,使得安装有芯片的设备执行如上各种可能的实施方式中的方法。
可以理解,上述场景仅是作为示例,并不构成对于本申请实施例提供的技术方案的应用场景的限定,本申请的技术方案还可应用于其他场景。例如,本领域普通技术人员可知,随着系统架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本申请实施例设备中的单元可以根据实际需要进行合并、划分和删减。
在本申请中,对于相同或相似的术语概念、技术方案和/或应用场景描述,一般只在第一次出现时进行详细描述,后面再重复出现时,为了简洁,一般未再重复阐述,在理解本申请技术方案等内容时,对于在后未详细描述的相同或相似的术语概念、技术方案和/或应用场景描述等,可以参考其之前的相关详细描述。
在本申请中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本申请技术方案的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本申请记载的范围。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络,或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。可用介质可以是磁性介质,(例如,软盘、存储盘、磁带)、光介质(例如,DVD),或者半导体介质(例如固态存储盘Solid State Disk (SSD))等。
以上对本申请实施例所提供的一种代码检测方法、代码检测装置以及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种代码检测方法,其特征在于,包括:
响应代码检测指令,获取所述代码检测指令对应的待检测代码;
根据所述待检测代码的代码变化结果,推荐所述待检测代码对应的测试用例;
基于所述测试用例以及所述待检测代码对应的功能属性,构建所述待检测代码对应的测试脚本;
利用所述测试脚本对所述待检测代码进行自动化测试。
2.根据权利要求1所述的方法,其特征在于,所述根据所述待检测代码的代码变化结果,推荐所述待检测代码对应的测试用例,包括:
获取所述待检测代码对应的历史发布代码;
基于所述待检测代码和所述历史发布代码,确定所述待检测代码的代码变化结果;
确定所述代码变化结果对应的功能变化,并基于所述功能变化,推荐所述待检测代码对应的测试用例。
3.根据权利要求2所述的方法,其特征在于,所述确定所述代码变化结果对应的功能变化,包括:
获取所述代码变化结果对应的变化文本;
对所述变化文本进行识别,得到所述待检测代码对应的功能变化。
4.根据权利要求1至3任一项所述的方法,其特征在于,在所述利用所述测试脚本对所述待检测代码进行自动化测试之后,所述方法还包括:
当所述自动化测试结果指示所述待检测代码通过测试时,将所述自动化测试结果发送至代码评审方,以使所述代码评审方根据所述自动化测试结果返回代码评审结果。
5.根据权利要求1至3任一项所述的方法,其特征在于,在所述利用所述测试脚本对所述待检测代码进行自动化测试之后,所述方法还包括:
当所述自动化测试结果指示所述待检测代码未通过至少部分测试时,输出未通过测试对应的代码修改界面,所述代码修改界面包括信息展示控件;
响应针对所述信息展示控件的触发操作,对所述待检测代码中的异常语句进行标记。
6.根据权利要求5所述的方法,其特征在于,所述响应针对所述信息展示控件的触发操作,对所述待检测代码中异常的语句进行标记,包括:
响应针对所述信息展示控件的触发操作,输出所述待检测代码对应的功能模块图,所述功能模块图包括多个功能项;
以高亮形式显示所述待检测代码中的异常语句,并标注异常语句对应的功能项。
7.根据权利要求6所述的方法,其特征在于,还包括:
响应针对的异常语句的选择操作,将选择的异常语句确定为目标语句;
响应针对所述目标语句的长按操作,推荐所述目标语句对应的替换字符或替换语句。
8.一种代码检测装置,其特征在于,包括:
获取模块,用于响应代码检测指令,获取所述代码检测指令对应的待检测代码;
推荐模块,用于根据所述待检测代码的代码变化结果,推荐所述待检测代码对应的测试用例;
构建模块,用于基于所述测试用例以及所述待检测代码对应的功能属性,构建所述待检测代码对应的测试脚本;
测试模块,用于利用所述测试脚本对所述待检测代码进行自动化测试。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述代码检测方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述代码检测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211133972.9A CN115203064A (zh) | 2022-09-19 | 2022-09-19 | 代码检测方法、装置、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211133972.9A CN115203064A (zh) | 2022-09-19 | 2022-09-19 | 代码检测方法、装置、计算机设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115203064A true CN115203064A (zh) | 2022-10-18 |
Family
ID=83572644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211133972.9A Pending CN115203064A (zh) | 2022-09-19 | 2022-09-19 | 代码检测方法、装置、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115203064A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019114209A1 (zh) * | 2017-12-15 | 2019-06-20 | 平安科技(深圳)有限公司 | 自动化测试分析方法、系统、应用服务器及计算机可读存储介质 |
CN111045944A (zh) * | 2019-12-11 | 2020-04-21 | 广州品唯软件有限公司 | 回归测试方法、装置、系统及计算机可读存储介质 |
CN114048129A (zh) * | 2021-11-10 | 2022-02-15 | 建信金融科技有限责任公司 | 软件功能变更的自动化测试方法、装置、设备及系统 |
CN114201408A (zh) * | 2021-12-17 | 2022-03-18 | 平安壹钱包电子商务有限公司 | 回归测试方法、装置、计算机设备及存储介质 |
CN114546868A (zh) * | 2022-02-25 | 2022-05-27 | 重庆紫光华山智安科技有限公司 | 代码覆盖率测试方法、装置和电子设备 |
-
2022
- 2022-09-19 CN CN202211133972.9A patent/CN115203064A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019114209A1 (zh) * | 2017-12-15 | 2019-06-20 | 平安科技(深圳)有限公司 | 自动化测试分析方法、系统、应用服务器及计算机可读存储介质 |
CN111045944A (zh) * | 2019-12-11 | 2020-04-21 | 广州品唯软件有限公司 | 回归测试方法、装置、系统及计算机可读存储介质 |
CN114048129A (zh) * | 2021-11-10 | 2022-02-15 | 建信金融科技有限责任公司 | 软件功能变更的自动化测试方法、装置、设备及系统 |
CN114201408A (zh) * | 2021-12-17 | 2022-03-18 | 平安壹钱包电子商务有限公司 | 回归测试方法、装置、计算机设备及存储介质 |
CN114546868A (zh) * | 2022-02-25 | 2022-05-27 | 重庆紫光华山智安科技有限公司 | 代码覆盖率测试方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210318851A1 (en) | Systems and Methods for Dataset Merging using Flow Structures | |
EP3301580B1 (en) | System for automatically generating test data for testing applications | |
US10127141B2 (en) | Electronic technology resource evaluation system | |
CN111061526B (zh) | 自动化测试方法、装置、计算机设备及存储介质 | |
CN110955428A (zh) | 一种页面显示方法、装置、电子设备及介质 | |
US11741002B2 (en) | Test automation systems and methods using logical identifiers | |
US20150089415A1 (en) | Method of processing big data, apparatus performing the same and storage media storing the same | |
CN110928763A (zh) | 测试方法、装置、存储介质及计算机设备 | |
CN111427760B (zh) | 页面测试方法、装置、设备及存储介质 | |
US11681511B2 (en) | Systems and methods for building and deploying machine learning applications | |
CN105205144A (zh) | 用于数据诊断优化的方法和系统 | |
US20220350857A1 (en) | Methods and systems for browser extension used to generate relative xpath, absolute xpath and/or css selectors | |
WO2021061185A1 (en) | Test automation of application | |
CN111679976A (zh) | 一种页面对象的查找方法及装置 | |
CN113760729A (zh) | 一种代码检测方法和装置 | |
CN112835579A (zh) | 确定界面代码的方法、装置、电子设备和存储介质 | |
CN117290236A (zh) | 软件测试方法、装置、计算机设备及计算机可读存储介质 | |
US10678864B2 (en) | Analysis model preparing system, programming apparatus, and analysis model preparing method | |
US20220309390A1 (en) | Machine-learning-based unsupervised master data correction | |
US20160292067A1 (en) | System and method for keyword based testing of custom components | |
US9104573B1 (en) | Providing relevant diagnostic information using ontology rules | |
CN113918864A (zh) | 网站页面的测试方法、测试系统、装置、电子设备及介质 | |
US11176022B2 (en) | Health diagnostics and analytics for object repositories | |
CN115203064A (zh) | 代码检测方法、装置、计算机设备及可读存储介质 | |
CN111221610B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20221018 |