CN117348917A - 程序代码的处理方法、装置、存储介质和电子装置 - Google Patents
程序代码的处理方法、装置、存储介质和电子装置 Download PDFInfo
- Publication number
- CN117348917A CN117348917A CN202311224375.1A CN202311224375A CN117348917A CN 117348917 A CN117348917 A CN 117348917A CN 202311224375 A CN202311224375 A CN 202311224375A CN 117348917 A CN117348917 A CN 117348917A
- Authority
- CN
- China
- Prior art keywords
- target
- program code
- information
- analysis result
- original
- 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
- 238000012545 processing Methods 0.000 title claims abstract description 36
- 238000003672 processing method Methods 0.000 title abstract description 19
- 238000004458 analytical method Methods 0.000 claims abstract description 200
- 238000012360 testing method Methods 0.000 claims abstract description 156
- 238000000034 method Methods 0.000 claims abstract description 73
- 230000002452 interceptive effect Effects 0.000 claims abstract description 49
- 230000006870 function Effects 0.000 claims description 23
- 238000004590 computer program Methods 0.000 claims description 22
- 230000004044 response Effects 0.000 claims description 11
- 238000000586 desensitisation Methods 0.000 claims description 10
- 238000013473 artificial intelligence Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 11
- 238000012986 modification Methods 0.000 description 9
- 230000004048 modification Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000007689 inspection Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 238000012549 training Methods 0.000 description 5
- 230000009466 transformation Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 239000004973 liquid crystal related substance Substances 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000005457 optimization Methods 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 238000012038 vulnerability analysis Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000012634 fragment Substances 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000010998 test method Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000000115 helium ionisation detection Methods 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
-
- 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/3696—Methods or tools to render software testable
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开了一种程序代码的处理方法、装置、存储介质和电子装置。该方法包括:在生成式交互界面上显示第一询问信息,其中,第一询问信息包括测试对象在测试场景中的原始程序代码与目标程序代码之间的差异程序代码;获取与差异程序代码相匹配的目标引导信息,其中,目标引导信息用于至少分析差异程序代码;利用目标引导信息,引导测试场景下的生成式模型分析差异程序代码,得到目标分析结果,其中,目标分析结果至少用于在测试场景下测试差异程序代码;在生成式交互界面上,显示第一询问信息对应的第一答复信息,其中,第一答复信息包括目标分析结果。本申请解决了分析差异程序代码的效率低的技术问题。
Description
技术领域
本申请涉及数据处理领域,具体而言,涉及一种程序代码的处理方法、装置、存储介质和电子装置。
背景技术
目前,代码差异比较(简称为代码diff)是一种比较不同版本代码之间差异的技术,在软件开发和测试过程中具有重要意义。
在相关技术中,差异程序代码的分析、检查工作,通常是依靠测试工程师人工查看不同版本的差异程序代码并进行对比,通过与开发人员沟通、对比需求文档内容,综合进行人工的判断,但是该方法,存在分析差异程序代码的效率低的技术问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请至少部分实施例提供了一种程序代码的处理方法、装置、存储介质和电子装置,以至少解决分析差异程序代码的效率低的技术问题。
根据本申请其中一实施例,提供了一种代码程序的处理方法。该方法可以包括:在生成式交互界面上显示第一询问信息,其中,第一询问信息包括测试对象在测试场景中的原始程序代码与目标程序代码之间的差异程序代码;获取与差异程序代码相匹配的目标引导信息,其中,目标引导信息用于至少分析差异程序代码;利用目标引导信息,引导测试场景下的生成式模型分析差异程序代码,得到目标分析结果,其中,目标分析结果至少用于在测试场景下测试差异程序代码;在生成式交互界面上,显示第一询问信息对应的第一答复信息,其中,第一答复信息包括目标分析结果。
根据本申请其中一实施例,还提供了一种代码程序的处理装置。该装置可以包括:第一显示单元,用于在生成式交互界面上显示第一询问信息,其中,第一询问信息包括测试对象在测试场景中的原始程序代码与目标程序代码之间的差异程序代码;获取单元,用于获取与差异程序代码相匹配的目标引导信息,其中,目标引导信息用于至少分析差异程序代码;分析单元,用于利用目标引导信息,引导测试场景下的生成式模型分析差异程序代码,得到目标分析结果,其中,目标分析结果至少用于在测试场景下测试差异程序代码;第二显示单元,用于在生成式交互界面上,显示第一询问信息对应的第一答复信息,其中,第一答复信息包括目标分析结果。
根据本申请其中一实施例,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,计算机程序被设置为运行时执行上述任一项中的代码程序的处理方法。
根据本申请其中一实施例,还提供了一种电子装置,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述任一项中的代码程序的处理方法。
在本申请实施例中,在生成式交互界面上显示第一询问信息,其中,第一询问信息包括测试对象在测试场景中的原始程序代码与目标程序代码之间的差异程序代码;获取与第一询问信息中差异程序代码相匹配的目标引导信息,其中,目标引导信息用于至少分析差异程序代码;利用目标引导信息,引导测试场景下的生成式模型分析差异程序代码,得到目标分析结果,其中,目标分析结果用于至少在测试场景下测试差异程序代码;在生成式交互界面上,显示包括目标分析结果的第一答复信息,其中,第一答复信息用于答复第一询问信息。也就是说,本申请将第一询问信息中的差异程序代码配合目标引导信息(比如,提示语)传输至生成式模型中,由生成式模型分析得到目标分析结果,并将包含目标分析结果的第一答复信息显示在生成式交互界面中,从而降低差异程序代码的分析门槛,进而实现了提高分析差异程序代码效率的技术效果,解决了分析差异程序代码的效率低的技术问题。
附图说明
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:
图1是根据本申请其中一实施例的一种代码程序的处理方法的移动终端的硬件结构框图;
图2是根据本申请其中一实施例的代码程序的处理方法的流程图;
图3是根据本申请其中一实施例的一种代码内容自动分析和测试方法的流程图;
图4是根据本申请其中一实施例的一种基于生成式AI完成的代码内容自动分析和测试方法的流程图;
图5是根据本申请其中一实施例的一种程序代码的处理方法的应用场景的示意图;
图6是根据本申请其中一实施例的一种代码程序的处理装置的结构框图;
图7是根据本申请其中一实施例的一种电子装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本公开方案,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分的实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在一种可能的实施方式中,针对数据处理领域下的代码差异比较中通常所采用的是依靠测试工程师人工查看不同版本的差异程序代码并进行对比,通过与开发人员沟通、对比需求文档内容,综合进行人工的判断的方法,但是,发明人经过实践并仔细研究后,仍然存在差异程序代码的效率低的技术问题,基于此,本公开实施例提出了一种程序代码的处理方法,将第一询问信息中的差异程序代码配合目标引导信息(比如,提示语)传输至生成式模型中,由生成式模型分析得到目标分析结果,并将包含目标分析结果的第一答复信息显示在生成式交互界面中,从而降低差异程序代码的分析门槛,进而实现了提高分析差异程序代码效率的技术效果,解决了分析差异程序代码的效率低的技术问题。
根据本申请其中一实施例,提供了一种代码程序的处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
该方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,该移动终端可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile Internet Devices,简称为MID)、PAD、游戏机等终端设备。图1是根据本申请其中一实施例的一种代码程序的处理方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于中央处理器(CPU)、图形处理器(GPU)、数字信号处理(DSP)芯片、微处理器(MCU)、可编程逻辑器件(FPGA)、神经网络处理器(NPU)、张量处理器(TPU)、人工智能(AI)类型处理器等的处理装置)和用于存储数据的存储器104。可选地,上述移动终端还可以包括用于通信功能的传输设备106、输入输出设备108以及显示设备110。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本申请实施例中的代码程序的处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的代码程序的处理方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输设备106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输设备106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输设备106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
输入输出设备108中的输入可以来自多个人体学接口设备(Human InterfaceDevice,简称为HID)。例如:键盘和鼠标、游戏手柄、其他专用游戏控制器(如:方向盘、鱼竿、跳舞毯、遥控器等)。部分人体学接口设备除了提供输入功能之外,还可以提供输出功能,例如:游戏手柄的力反馈与震动、控制器的音频输出等。
显示设备110可以例如平视显示器(HUD)、触摸屏式的液晶显示器(LCD)和触摸显示器(也被称为“触摸屏”或“触摸显示屏”)。该液晶显示器可使得用户能够与移动终端的用户界面进行交互。在一些实施例中,上述移动终端具有图形用户界面(GUI),用户可以通过触摸触敏表面上的手指接触和/或手势来与GUI进行人机交互,此处的人机交互功能可选的包括如下交互:创建网页、绘图、文字处理、制作电子文档、游戏、视频会议、即时通信、收发电子邮件、通话界面、播放数字视频、播放数字音乐和/或网络浏览等、用于执行上述人机交互功能的可执行指令被配置/存储在一个或多个处理器可执行的计算机程序产品或可读存储介质中。
本领域技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
在一种可能的实施方式中,本申请实施例提供了一种代码程序的处理方法,图2是根据本申请其中一实施例的代码程序的处理方法的流程图,如图2所示,该方法可以包括如下步骤:
步骤S202,在生成式交互界面上显示第一询问信息,其中,第一询问信息包括测试对象在测试场景中的原始程序代码与目标程序代码之间的差异程序代码。
在本申请上述步骤S202提供的技术方案中,可以在生成式交互界面上显示第一询问信息。其中,第一询问信息可以包括测试对象在测试场景中的原始程序代码与目标程序代码之间的差异程序代码,又可以称为代码差异比较,可以为代码diff片段、代码diff内容、一段代码diff等,此处仅为举例说明,不对第一询问信息的表现形式做具体限制。
该实施例的测试对象可以为开发的软件,比如,可以为应用程序。原始程序代码可以为测试对象的原始版本中的代码。目标程序代码可以为测试对象的目标版本中的代码,其中包括新提交的代码,其中,目标版本可以为原始版本的升级版本。生成式交互界面可以为生成式人工智能(Artificial Intelligence,简称为AI)的界面,比如,可以为聊天生成式预训练变换模型(Chat Generative Pre-trained Transformer,简称为ChatGPT)的界面、前端页面等,此处不对生成式交互界面的类型做具体限制。测试场景又可以为需要测试的业务场景。
可选地,该实施例将测试对象在测试场景中的原始程序代码和目标程序代码之间的差异程序代码,作为一组数据,并将得到的上述一组数据定义为第一询问信息。可以在生成式交互界面上显示上述第一询问信息,比如,该第一询问信息可以为文本内容为“查找差异程序代码中的漏洞”的询问信息。
步骤S204,获取与差异程序代码相匹配的目标引导信息,其中,目标引导信息用于至少分析差异程序代码。
在本申请上述步骤S204提供的技术方案中,可以获取与差异程序代码相匹配的目标引导信息。其中,目标引导信息可以为人工智能提示语,可以为设定好的提示信息(Prompt)。目标引导信息至少可以用于对差异程序代码进行分析,比如,目标引导信息可以用于提示代码逻辑检查错误、潜在性能问题、边界值分析、对差异程序代码的内容进行解析等分析,此处不作具体限定。可选地,该目标引导信息还可以用于引导生成式模型生成后续测试建议等。
可选地,该实施例的目标引导信息可以与测试场景有关,可以为不同测试场景设定不同的目标引导信息。可以在生成式交互界面上显示第一询问信息。获取与第一询问信息中的差异程序代码相匹配的目标引导信息。
步骤S206,利用目标引导信息,引导测试场景下的生成式模型分析差异程序代码,得到目标分析结果,其中,目标分析结果至少用于在测试场景下测试差异程序代码。
在本申请上述步骤S206提供的技术方案中,获取与差异程序代码相匹配的目标引导信息,可以利用目标引导信息,引导测试场景下的生成模型对差异程序代码进行分析,得到目标分析结果。其中,生成式模型可以生成式人工智能模型,比如,可以为聊天生成式预训练变换模型,此处仅为举例说明,不对生成式模型的类型做具体限制。目标分析结果可以为差异程序代码的内容解析、代码逻辑错误的分析结果、后续测试建议等分析结果,此处仅为举例说明,不对目标分析结果的类型做具体限制。
可选地,利用目标引导信息,引导测试场景下的生成式模型分析差异程序代码,得到目标分析结果,比如,得到理解代码差异程序内容的内容解析、潜在漏洞分析(分析代码逻辑错误),以及后续测试建议等信息,基于目标分析结果,在测试场景下测试或修改差异程序代码。
举例而言,该实施例利用目标引导信息,引导测试场景下的生成式模型分析差异程序代码,得到潜在漏洞分析的目标分析结果,基于潜在漏洞分析可以进一步分析代码逻辑错误,以在测试场景下测试或修改差异程序代码。
由于人工进行代码diff检查工作时,会存在对代码修改的理解和评估不准确,进而影响项目的进度和质量的问题,为解决上述问题,该实施例利用生成式模型,基于与差异程序代码相匹配的目标引导信息生成目标分析结果,基于目标分析结果在测试场景下测试或修改差异程序代码,达到了通过人工智能对差异程序代码进行分析的目的,避免了由于人工分析导致的误差,从而实现了提高差异程序代码的效率的技术效果,解决了差异程序代码的效率低的技术问题。
步骤S208,在生成式交互界面上,显示第一询问信息对应的第一答复信息,其中,第一答复信息包括目标分析结果。
在本申请上述步骤S208提供的技术方案中,当生成式交互界面上显示第一询问信息时,确定测试对象在测试场景中的原始程序代码与目标程序代码之间的差异程序代码,且获取与差异程序代码相匹配的目标引导信息,利用目标引导信息,引导测试场景下的生成式模型分析差异程序代码,得到目标分析结果。基于目标分析结果,得到包含目标分析结果的第一答复信息,可以将第一答复信息显示在生成式交互界面上。其中,第一答复信息可以用于确定代码逻辑错误、后续测试建议等内容,比如,可以为文本内容为“差异程序代码第三部分关于目标点的计算逻辑存在错误”的答复信息,此处仅为举例说明,第一答复信息的表现形式和以为图像、文本、语音信息等内容,此处不做具体限制。
可选地,为了解决分析差异程序代码的高门槛问题,引入生成式模型代码分析能力,将差异程序代码和目标引导信息传输至生成式模型中,利用生成式模型给出对差异程序代码的内容解析,得到目标分析结果,将目标分析结果生成第一答复信息,并显示在前端页面上,从而避免了分析差异程序代码的高门槛问题。
通过上述步骤S202至S208,在生成式交互界面上显示第一询问信息,其中,第一询问信息包括测试对象在测试场景中的原始程序代码与目标程序代码之间的差异程序代码;获取与第一询问信息中差异程序代码相匹配的目标引导信息,其中,目标引导信息用于至少分析差异程序代码;利用目标引导信息,引导测试场景下的生成式模型分析差异程序代码,得到目标分析结果,其中,目标分析结果用于至少在测试场景下测试差异程序代码;在生成式交互界面上,显示包括目标分析结果的第一答复信息,其中,第一答复信息用于答复第一询问信息。也就是说,本申请将第一询问信息中的差异程序代码配合目标引导信息(比如,提示语)传输至生成式模型中,由生成式模型分析得到目标分析结果,并将包含目标分析结果的第一答复信息显示在生成式交互界面中,从而降低差异程序代码的分析门槛,进而实现了提高分析差异程序代码效率的技术效果,解决了分析差异程序代码的效率低的技术问题。
下面对本申请实施例的上述方法进行进一步介绍。
作为一种可选的实施例,步骤S206,利用目标引导信息,引导测试场景下的生成式模型分析差异程序代码,得到目标分析结果,包括:调用第一接口,将目标引导信息和差异程序代码输入至生成式模型中,以利用目标引导信息引导生成式模型分析差异程序代码,得到目标分析结果,其中,第一接口包括第一参数,第一参数的参数值为目标引导信息和差异程序代码。
在该实施例中,可以调用第一接口,将目标引导信息和差异程序代码输入至生成式模型中,以利用目标引导信息引导生成式模型分析差异程序代码,得到目标分析结果。其中,第一接口可以为生成式模型的接口,可以包括第一参数。第一参数可以为生成式模型的接口入参,可以为调用第一接口时需要传递给第一接口的数据,比如,可以为目标引导信息和差异程序代码。
可选地,可以将代码监控系统拉取到的差异程序代码经过提示语加工后得到的目标引导信息,可以将目标引导信息和差异程序代码按照生成式模型的输入规范,通过第一接口,传输至生成式模型中。其中,生成式模型的输入规范可以为预先设置好的第一参数的输入格式。
举例而言,可以将目标引导信息和差异程序代码通过第一接口传输至聊天生成式预训练变换模型中,以利用目标引导信息引导生成式模型分析差异程序代码,得到目标分析结果。需要说明的是,所有生成式的生成式模型都可以完成对目标引导信息和差异程序代码的处理,此处不对生成式模型的类型做具体限制。
作为一种可选的实施例,调用第一接口,将差异程序代码输入至生成式模型中,以利用目标引导信息引导生成式模型分析差异程序代码,得到目标分析结果,包括:响应于在第一时段内,未调用过第一接口将差异程序代码输入至生成式模型中,则在第一时段之后的第二时段内,调用第一接口将差异程序代码输入至生成式模型中,以在第二时段内利用目标引导信息引导生成式模型分析差异程序代码,得到目标分析结果。
在该实施例中,确定在第一时段内,是否调用过第一接口将差异程序代码输入至生成式模型中,响应于在第一时段内,未调用第一接口将差异程序代码输入至生成式模型中,则在第一时段内之后的第二时段内,可以调用第一接口将差异程序代码输入至生成式模型中,以在第二时段内利用目标引导信息引导生成式模型分析差异程序代码,得到目标分析结果。其中,第一时段和第二时段可以为预先设置的时间段。
可选地,只有在第一时段内,未调用过第一接口将差异程序代码输入至生成式模型中,则说明生成式模型未对差异程序代码进行处理,则在第一时段之后的第二时段内,可以调用第一接口将差异程序代码输入至生成式模型中,以在第二时段内利用目标引导信息引导生成式模型分析差异程序代码,从而得到目标分析结果。可以在生成式交互界面上,显示包含目标分析结果的第一询问信息。也即,第一答复信息为第二时段内,生成式模型分析差异程序代码后得到的。
在该实施例中,相同差异程序代码不进行二次接口调用,只有在第一时段内,未调用过第一接口将差异程序代码输入至生成式模型中,在第二时段内,才会调用第一接口将差异程序代码输入至生成式模型中,以在第二时段内利用目标引导信息生成生成式模型分析差异程序代码,得到目标分析结果,从而避免了生成式模型的多次调用,以达到控制AI成本并提升使用效率的目的。
作为一种可选的实施例,在第二时段内,调用第二接口将目标分析结果传输至目标存储位置进行存储,其中,第二接口包括第二参数,第二参数的参数值为目标分析结果;响应于在第二时段之后的第三时段内,在生成式交互界面上显示包括差异程序代码的第二询问信息,则从目标存储位置获取差异程序代码对应的目标分析结果;在第三时段内,在生成式交互界面上显示包括目标分析结果的第二答复信息,其中,第二答复信息用于答复第二询问信息。
在该实施例中,在第二时段内,可以调用第二接口将目标分析结果传输至目标存储位置进行存储。当在第二时段之后的第三时段内,在生成式交互界面上显示包括差异程序代码的第二询问信息时,响应于在第二时段之后的第三时段内,在生成式交互界面上显示包括差异程序代码的第二询问信息,则可以从目标存储位置获取差异程序代码对应的目标分析结果。且在第三时段内,在生成式交互界面上显示包括目标分析结果的第二答复信息。其中,目标存储位置可以为预先设定好的位置,此处不对目标存储位置做具体喜爱值。
可选地,为了控制成本并提升使用效率,可以调用第二接口将目标分析结果传输至目标存储位置进行存储,当在第二时段之后的第三时段内,在生成式交互界面上显示包括差异程序代码的第二询问信息时,可以不进行二次接口调用,可以直接从目标存储位置处获取存储好的差异程序代码对应的目标分析结果,且在第三时段内,可以在生成式交互界面上显示包括目标分析结果的第二答复信息,以答复第二询问信息。
在该实施例中,相同的差异程序代码不进行二次接口调用,可以直接将第一次调用接口时的生成式模型输出的目标分析结果保存至目标存储位置处,并在第三时段内,响应于生成式交互界面上显示包含差异程序代码的第二询问信息,则从目标存储位置处获取第二时段存储的目标分析结果,并对包含目标分析结果的第二答复信息进行展示,从而避免了生成式模型对相同的差异程序代码的二次处理,通过直接获取存储好的目标分析结果的方式,达到了提高数据处理效率的目的。
可选地,将原始程序代码和目标程序代码作为一组数据,并定义为差异程序代码,在使用过程中,由于用户可能在的各种测试场景下进行操作,导致相同的差异程序代码可能会重复调用生成式模型,从而导致效率损失,使用成本增加等问题,为避免上述问题,在该实施例中,针对相同的差异程序代码不进行二次接口调用,直接将第一次调用接口时,生成式模型输出的目标分析结果进行存储与二次获取,以达到控制成本并提升使用效率的目的。
作为一种可选的实施例,响应于在第一时段内,已调用过第一接口将差异程序代码输入至生成式模型中,则在第一时段之后的第二时段内,禁止调用第一接口将差异程序代码输入至生成式模型中。
在该实施例中,确定在第一时段内,是否调用第一接口将差异程序代码输入至生成式模型中,响应于在第一时段内,已调用过第一接口将差异程序代码输入至生成式模型中,则在第一时段之后的第二时段内,禁止调用第一接口将差异程序代码输入至生成式模型中。
由于生成式模型可能为根据使用次数及令牌数量计费的,因此,在该实施例中,为避免生成式模型的多次调用,不对相同的差异程序代码进行重复接口调用,如果在第一时段内,已调用过第一接口将差异程序代码输入至生成式模型中,则在第一时段之后的第二时段内,禁止调用第一接口将差异程序代码输入至生成式模型中,从而避免生成式模型对相同数据的多次处理,达到提升系统的使用速度,且降低生成式模型的使用成本的目的。
在该实施例中,利用生成式模型对差异程序代码进行处理,得到第一答复信息,从而使得测试工程师即使没有任何技术基础也能顺利完成复杂的代码diff检查分析工作,从而实现了可以准确的分析可能的缺陷和风险的目的。
作为一种可选的实施例,对差异程序代码进行脱敏处理;利用目标引导信息,引导测试场景下的生成式模型分析差异程序代码,得到目标分析结果,包括:利用目标引导信息,引导生成式模型分析脱敏后的差异程序代码,得到目标分析结果。
在该实施例中,可以对差异程序代码中的敏感信息进行脱敏处理,可以利用目标引导信息,引导生成式模型对脱敏后的差异程序代码进行分析,得到目标分析结果。其中,脱敏处理可以为信息脱敏处理,可以用于筛选或屏蔽产品中的敏感信息。其中,脱敏处理可以为信息脱敏处理,可以用于筛选或屏蔽产品中的敏感信息。
可选地,差异程序代码虽然只是没有上下文的代码片段,但是,其中仍然可能会包含涉及产品敏感信息的数据,比如,数据库的互联网协议地址(Internet Protocol,简称为IP)、接口地址、账号密码、密钥等信息,因此,为避免信息的泄露,可以在将差异程序代码传输至生成式模型之前,可以对敏感信息进行筛选屏蔽,以防止信息泄露。
该实施例中可以对获取到的差异程序代码中的敏感信息进行脱敏处理,且对差异程序代码进行目标引导信息的加工。可以利用目标引导信息,引导生成式模型对脱敏后的差异程序代码进行分析,得到目标分析结果。
作为一种可选的实施例,对差异程序代码进行脱敏处理,包括:对差异程序代码中的目标数据进行屏蔽处理,其中,目标数据为测试场景中禁止泄漏的数据。
在该实施例中,可以对差异程序代码中的目标数据进行屏蔽处理。其中,目标数据可以为敏感信息,可以为测试场景中禁止泄露的数据,可以为常见的统一资源定位符(Uniform Resource Locator,简称为URL)信息、接口信息、数据库信息(Structured QueryLanguage,简称为SQL)、敏感函数方法(比如,加密解密函数)、互联网协议地址、敏感服务等信息,此处仅为举例说明,不对目标数据的类型做具体限制。
可选地,差异程序代码中可能会涉及产品敏感信息的目标数据,可以根据不同业务场景确定对应的目标数据,可以对差异程序代码中的目标数据进行筛选屏蔽处理,以防止信息的泄露。
举例而言,可以预先设定统一资源定位符为敏感信息,基于预先设置的敏感信息对拉取到的差异程序代码进行脱敏处理。或者可以设置黑名单,比如,可以设置目标数据为黑名单中所有的函数名,则可以按照函数名进行过滤,以达到对差异程序代码中的目标数据进行屏蔽处理的目的。
作为一种可选的实施例,步骤S204,获取与差异程序代码相匹配的目标引导信息,包括:确定与差异程序代码相匹配的目标类型,其中,目标类型用于表示差异程序代码在测试场景对应的应用场景中的功能;获取目标类型下的目标引导信息。
在该实施例中,可以确定与差异程序代码相匹配的目标类型,获取目标类型下的目标引导信息。其中,目标类型可以用于表示差异程序代码在测试场景对应的应用场景中的功能。应用场景可以为代码应用场景。功能可以为不同类型的服务或软件产品中不同类型的业务,可以为游戏中的不同玩法,比如,副本玩法、大世界玩法等,也可以为直播软件中的不同基础功能,比如,语音直播、视频直播等功能,又可以为聊天软件中的不同模块,比如,聊天模块、朋友圈模块等,此处仅为举例说明,不对功能的类型做具体限制。
在该实施例中,对提示语进行分类,以最大程度地获取定制化、精细化的差异程序代码相匹配的目标引导信息。
可选地,为了让生成式模型返回有效的信息,基于不同的功能、软件产品在测试场景对应的应用场景,对目标引导信息进行分类,以基于差异程序代码相匹配的目标类型,可以准确的确定与差异程序代码相匹配的目标引导信息。
作为一种可选的实施例,获取测试场景中,分别基于不同描述信息描述的目标类型的原始引导信息,得到多个原始引导信息,其中,描述信息用于表示原始引导信息的语言结构,原始引导信息用于至少分析测试对象的程序代码;获取原始引导信息对应的原始分析结果,其中,原始分析结果为利用原始引导信息,引导生成式模型分析测试对象的程序代码得到;基于原始分析结果,确定目标类型下的目标引导信息。
在该实施例中,可以获取测试场景中,分别基于不同描述信息描述的目标类型的原始引导信息,得到多个原始引导信息。获取原始引导信息对应的原始分析结果,基于原始分析结果,可以确定目标类型下的目标引导信息。其中,描述信息可以用于表示原始引导信息的语言结构。原始引导信息可以用于至少分析测试对象的程序代码。原始分析结果可以为利用原始引导信息,引导生成式模型分析的测试对象的程序代码得到。语言结构可以为程序中符合编程语言语音,可以由计算机运行的部分,可以根据编程语言的规则由一个或多个语法标记组成。
可选地,获取测试场景中,同一段内容用不同的语言结构描述的目标类型的原始引导信息,得到多个原始引导信息。可以获取原始引导信息对应的原始分析结果,基于原始分析结果,确定目标类型下的目标引导信息。
在该实施例中,通过对原始引导信息进行多次迭代和优化,达到获取到准确的目标引导信息的目的。
作为一种可选的实施例,基于原始分析结果,确定目标类型下的目标引导信息,包括:在与多个原始引导信息对应的多个原始分析结果中,选取至少一第一原始分析结果,其中,第一原始分析结果的内容完整程度,高于多个原始分析结果中除第一原始分析结果之外的第二原始分析结果;基于第一原始分析结果,确定目标类型下的目标引导信息。
在该实施例中,获取测试场景中,分别基于不同描述信息描述的目标类型的原始引导信息,得到多个原始引导信息且获取多个原始引导信息对应的多个原始分析结果,在多个原始分析结果中,可以选取多个原始分析结果中内容完整程度高于第二原始分析结果的至少一第一原始分析结果,基于第一原始分析结果,确定目标类型下的目标引导信息。
可选地,在多个原始引导信息对应的多个原始分析结果中,从多个原始分析结果中选取内容完整程度高于第二原始分析结果的至少一原始分析结果,在至少一原始分析结果的基础上,继续择优,以确定目标类型下的目标引导信息。
作为一种可选的实施例,步骤S206,基于第一原始分析结果,确定目标类型下的目标引导信息,包括:对第一原始分析结果对应的原始引导信息的语言结构进行调整,得到目标类型下的目标引导信息,其中,目标引导信息对应的目标分析结果的内容完成程度,高于第一原始分析结果的内容完整程度。
在该实施例中,可以对第一原始分析结果对应的原始引导信息的语言结构进行调整,得到内容完成程度高于第一原始分析结果的内容完整程度的、目标类型下的目标引导信息。
可选地,通过将同一段内容用不同的语言结构描述给生成式模型,利用生成式模型从至少一第一原始分析结果中选取回复内容最完备的一种或几种的第一原始分析结果。在此基础上,继续微调第一原始分析结果对应的原始引导信息的语言结构,继续择优,以得到目标分析结果的内容完成程度,高度第一原始分析结果的内容完整程度的目标引导信息。
在该实施例中,为了让生成式模型返回有效可用的信息,可以对第一原始分析结果进行多次的迭代和优化,并针对不同的服务、代码应用场景对第一原始分析结果进行分类,从而做到最大程度地获取定制化、精细化的目标分析结果的目的。
在本申请实施例中,将第一询问信息中的差异程序代码配合目标引导信息(比如,提示语)传输至生成式模型中,由生成式模型分析得到目标分析结果,并将包含目标分析结果的第一答复信息显示在生成式交互界面中,从而降低差异程序代码的分析门槛,进而实现了提高分析差异程序代码效率的技术效果,解决了分析差异程序代码的效率低的技术问题。
下面结合优选的实施方式对本申请实施例的技术方案进行进一步的举例介绍。具体以一种基于生成式人工智能完成的代码内容自动分析和测试方法进行进一步说明。
目前,代码差异比较是一种比较不同版本代码之间差异的技术,在软件开发和测试过程中具有重要意义。持续进行的代码修改和更新可能导致潜在的问题和风险,代码diff可以帮助开发人员和测试工程师迅速发现和解决这些问题,提高软件的质量和稳定性。
可选地,通过对比代码差异,测试工程师可以迅速找出代码修改的关键部分,从而针对性地设计和执行测试用例,提高测试效率且代码diff工作可以帮助测试工程师更好地理解代码的变更,找出可能存在风险的修改,有助于制定更全面的测试策略,尽早发现和预防潜在的问题,提高整体测试质量。同时,代码diff工作有助于加深测试工程师对开发人员工作的了解,促进双方更好地沟通和协作。当测试工程师发现代码中的问题时,可以通过代码diff工具与开发人员一起分析问题,共同解决问题。同时,当发现系统问题时,测试工程师可以通过分析代码diff来定位问题的原因,从而有效地为开发人员提供解决问题的线索。这有助于缩短问题修复周期,提高整体项目进度。
代码diff工作还有助于测试工程师了解各个版本之间的差异,确保每次发布的版本在功能和性能上都达到预期,有利于测试工程师为发布的版本提供更全面、更详细的测试报告,提高项目管理的效率和质量。在多人协作开发的过程中,可能会出现代码合并冲突的情况,通过代码diff工作,测试工程师可以发现这些冲突,并协助开发人员解决,避免错误的合并导致的问题。
综上,代码diff技术在软件开发和测试过程中具有重要意义。为了充分发挥代码diff技术的作用,开发人员和测试工程师需要掌握和应用相关的技术和工具,共同推动软件项目的成功。
在相关技术中,代码diff分析和检查工作,主要靠测试工程师人工查看不同版本的代码diff对比,图3是根据本申请其中一实施例的一种代码内容自动分析和测试方法的流程图,如图3所示,在相关技术中的代码内容的分析和测试可以包括以下步骤:
步骤S301,代码中心拉取差异程序代码。
在该实施例中,通过代码监控系统拉取到差异程序代码,比如,代码diff片段。
步骤S302,按照个人经验对拉取到的差异程序代码进行分析。
在该实施例中,通过与开发人员沟通、对比需求文档内容,再依赖自身的代码基础以及对开发人员开发习惯的了解,对拉取到的差异程序代码进行人工的分析与判断,以确定代码内容是否有逻辑错误、冗余、配置项错误、可能的性能问题等等。但是,对于不具备较高代码基础的测试人员来说,需要团队中的其他成员,比如,需要开发人员或高技术基础的测试工程师协助进行代码diff工作。
但是,在当前的人工进行代码diff检查工作中,测试工程师需要具备较高的技术基础,以及相对丰富的测试经验。如果一个低技术基础的测试工程师在进行代码diff检查和分析工作时,缺乏对编程语言和技术的深入理解,会导致在分析代码差异时难以理解代码的语义和逻辑,从而无法准确地评估代码修改对系统功能和性能的影响。在评估代码风险方面,低技术基础的测试工程师可能表现较弱,因为他们难以发现代码修改中的潜在风险,比如,性能瓶颈、安全漏洞等,这可能导致测试过程中遗漏重要的问题,影响软件的质量和稳定性。同时,在进行代码diff工作时,可能会存在难以与开发人员有效地沟通和协作的问题,从而导致对代码修改的理解和评估不准确,进而影响项目的进度和质量。即便是具备技术基础的测试工程师,仍有可能对代码diff理解错误、分析遗漏;且完全依靠人工完成此类工作时,效率相对较低,无法高效的完成后续针对代码diff的测试、修改等工作,从而存在分析差异程序代码的效率低的技术问题。
为帮助测试工程师在不具备任何技术基础的情况下,也能理解代码diff内容、分析代码逻辑错误并高效地完成后续测试工作的情况下,本申请实施例提出了一种基于生成式AI完成的代码内容自动分析和测试方法,该方法通过代码提交监控、提交详情查看、代码diff查看、代码外放监控、外放详情查看、外放代码diff查看等能力,大幅提升代码外放质量,避免了代码漏放、多放、未经测试就外放等问题;在代码diff查看的能力中引入聊天生成预训练变换模型的分析能力,提供测试人员diff解释、代码潜在程序错误(bug)、以及测试建议等信息,有效降低代码测试门槛,很大程度上避免因测试人员技术基础较弱而导致的潜在风险,从而实现了大大降低本工作的技术门槛,提升本工作的效率的目的。
下面对该方法进行进一步介绍。
图4是根据本申请其中一实施例的一种基于生成式AI完成的代码内容自动分析和测试方法的流程图,如图4所示,该方法可以包括如下步骤:
步骤S401,代码中心拉取差异程序代码。
在该实施例中,通过代码监控系统拉取到的代码diff片段。
步骤S402,对拉取到的差异程序代码进行信息脱敏。
在该实施例中,对拉取到的差异程序代码中的敏感信息进行脱敏处理,并进行具体AI提示语的加工。其中,AI提示语的加工可以与AI提示类型对应,可以为配合对应的AI提示以达成不同目的,可以根据具体业务场景对加工方式进行设定。其中,业务场景可以为代码逻辑错误检查、潜在性能问题、边界值分析等场景,此处仅为举例说明,不对业务场景的类型做具体限制。
可选地,根据不同业务场景可以确定对应的敏感信息,比如,敏感信息可以包含常见的统一资源定位符(Uniform Resource Locator,简称为URL)信息、接口信息、数据库信息(Structured Query Language,简称为SQL)、敏感函数(比如,加密解密函数)、互联网协议地址(Internet Protocol,简称为IP)、敏感服务等信息,此处仅为举例说明,不对脱敏信息的类型做具体限制。
举例而言,可以预先设定统一资源定位符的敏感信息,基于预先设置的敏感信息对拉取到的代码进行信息脱敏。
可选地,差异程序代码虽然只是没有上下文的代码片段,但是其中仍然可能会包含涉及产品敏感信息的数据,比如,数据库IP、接口地址、账号密码、密钥(token)等,可以在传输至ChatGPT之前,对差异程序代码中的敏感信息进行筛选屏蔽,以防止信息泄露。
步骤S403,按照预设的提示将脱敏后的差异程序代码输入至人工智能中进行处理。
在该实施例中,可以将脱敏后的差异程序代码传输至人工智能,比如,传输至生成式模型的接口入参中进行处理。
可选地,可以由ChatGPT定义接口入参,可以按照生成式AI的输入规范对脱敏后的代码进行分析。
需要说明的是,可以对脱敏后的代码进行分析的生成式人工智能均在本申请的保护范围内,对代码进行分析的过程并不仅限于ChatGPT。
步骤S404,人工智能给出目标分析结果。
在该实施例中,可以由ChatGPT给出包含diff内容解析、潜在bug分析以及后续测试建议等内容的目标分析结果。
可选地,该实施例为了让ChatGPT返回有效可用的信息,可以对返回提示语进行多次的迭代和优化,并针对不同的服务、代码应用场景对提示语进行分类,从而做到最大程度地获取定制化、精细化的代码diff分析及测试建议。其中,服务可以指的是软件产品中不同类型的业务,可以为游戏中的不同玩法,比如,副本玩法、大世界玩法等,也可以为直播软件中的不同基础功能,比如,语音直播、视频直播等功能,又可以为聊天软件中的不同模块,比如,聊天模块、朋友圈模块等,此处仅为举例说明,不对服务的类型做具体限制。
可选地,该实施例可以基于软件产品不同的应用场景对提示语进行分类,或者可以针对不同产品对自身工作的侧重点,比如,侧重发现代码逻辑错误、侧重给出测试方案、侧重分析性能隐患等侧重点,对提示语进行分类,以达到输出合适的提示语的目的。
可选地,可以通过将同一段内容用不同的语言结构描述给ChatGPT,选取回复内容最完备的一种或几种,在此基础上,继续微调语言结构,继续择优,以完成对返回的提示语的迭代和优化。
步骤S405,将获取到的信息通过前端页面加工显示给用户。
在该实施例中,可以基于目标分析结果生成第一答复信息显示在生成式交互界面上。
可选地,该实施例可以将代码解释、逻辑错误分析、测试意见等信息通过前端页面加工展示给用户。同时,为了控制成本并提升使用效率,相同的代码diff不进行二次接口调用,直接将第一次调用接口时的ChatGPT输出保存并进行展示,且提供重新获取ChatGPT返回的选项。
可选地,将原始程序代码(简称为原代码)和目标程序代码(又可以称为新提交的代码)作为一组数据,且定义原始程序代码和目标程序代码之间的差异程序代码为:一段代码diff。在使用过程中,由于用户可能在各种场景下操作,导致同一段代码diff可能会重复调用生成式模型,使得效率损失,使用成本也会增加。因此,在该实施例中,当对同一段代码diff进行处理时,可以调用第一次保存的结果并进行展示,从而达到提高ChatGPT数据处理效率的目的。
可选地,ChatGPT是根据使用次数及令牌(token)数量计费的,因此,不去对相同的代码diff进行重复接口调用,不仅会提升系统的使用速度,还会大大降低使用生成式模型的成本。
在该实施例中,为了解决代码diff测试的高门槛问题,引入了AI的代码分析能力,通过代码diff流程,测试工程师即使没有任何技术基础也能顺利完成复杂的代码diff检查分析工作,从而可以极大降低代码diff分析工作的门槛,更加准确的分析可能的缺陷和风险。同时,可以大大缩短此类工作的所需时间,提高工作效率,进而解决了分析差异程序代码的效率低的技术问题,实现了提高分析差异程序代码的效率的技术效果。
根据本申请实施例的一个方面,还提供了一种程序代码的处理方法。作为一种可选的实施方式,上述程序代码的处理方法可以但不限于应用于如图5所示的应用场景。图5是根据本申请其中一实施例的一种程序代码的处理方法的应用场景的示意图,如图5所示,在应用场景中,终端设备502可以但不限于通过网络504与服务器506进行通信,服务器506可以但不限于对数据库508执行操作,例如,写数据操作或读数据操作。上述终端设备502可以但不限包括人机交互屏幕、处理器及存储器。上述人机交互屏幕可以但不限于用于显示在终端设备502上显示第一询问信息、第一答复信息等。上述处理器可以但不限于用于响应上述人机交互操作,执行对应的操作,或者,生成对应的指令,并将生成的指令发送给服务器506。上述存储器用于存储相关处理数据,如目标引导信息、目标分析结果等。
作为一种可选的方式,可以在服务器506上执行程序代码的处理方法中的以下步骤:步骤S52,在生成式交互界面上显示第一询问信息;步骤S54,获取与差异程序代码相匹配的目标引导信息;步骤S56,利用目标引导信息,引导测试场景下的生成式模型分析差异程序代码,得到目标分析结果;步骤S58,在生成式交互界面上,显示第一询问信息对应的第一答复信息。
采用上述方式,将第一询问信息中的差异程序代码配合目标引导信息(比如,提示语)传输至生成式模型中,由生成式模型分析得到目标分析结果,并将包含目标分析结果的第一答复信息显示在生成式交互界面中,从而降低差异程序代码的分析门槛,进而实现了提高分析差异程序代码效率的技术效果,解决了分析差异程序代码的效率低的技术问题。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例的方法。
在本实施例中还提供了一种代码程序的处理装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“单元”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图6是根据本申请其中一实施例的一种代码程序的处理装置的结构框图,如图6所示,该代码程序的处理装置600可以包括:第一显示单元602、获取单元604、分析单元606和第二显示单元608。
第一显示单元602,用于在生成式交互界面上显示第一询问信息,其中,第一询问信息包括测试对象在测试场景中的原始程序代码与目标程序代码之间的差异程序代码。
获取单元604,用于获取与差异程序代码相匹配的目标引导信息,其中,目标引导信息用于至少分析差异程序代码。
分析单元606,用于利用目标引导信息,引导测试场景下的生成式模型分析差异程序代码,得到目标分析结果,其中,目标分析结果至少用于在测试场景下测试差异程序代码。
第二显示单元608,用于在生成式交互界面上,显示第一询问信息对应的第一答复信息,其中,第一答复信息包括目标分析结果。
在该实施例中,通过第一显示单元,在生成式交互界面上显示第一询问信息,其中,第一询问信息包括测试对象在测试场景中的原始程序代码与目标程序代码之间的差异程序代码;通过获取单元,获取与差异程序代码相匹配的目标引导信息,其中,目标引导信息用于至少分析差异程序代码;通过分析单元,用于利用目标引导信息,引导测试场景下的生成式模型分析差异程序代码,得到目标分析结果,其中,目标分析结果至少用于在测试场景下测试差异程序代码;通过第二显示单元,在生成式交互界面上,显示第一询问信息对应的第一答复信息,其中,第一答复信息包括目标分析结果,从而实现了提高分析差异程序代码的效率技术效果,解决了分析差异程序代码的效率低的技术问题。
需要说明的是,上述各个单元是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述单元均位于同一处理器中;或者,上述各个单元以任意组合的形式分别位于不同的处理器中。
本申请的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,在生成式交互界面上显示第一询问信息,其中,第一询问信息包括测试对象在测试场景中的原始程序代码与目标程序代码之间的差异程序代码;
S2,获取与差异程序代码相匹配的目标引导信息,其中,目标引导信息用于至少分析差异程序代码;
S3,利用目标引导信息,引导测试场景下的生成式模型分析差异程序代码,得到目标分析结果,其中,目标分析结果至少用于在测试场景下测试差异程序代码;
S4,在生成式交互界面上,显示第一询问信息对应的第一答复信息,其中,第一答复信息包括目标分析结果。
可选地,在本实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本申请的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,在生成式交互界面上显示第一询问信息,其中,第一询问信息包括测试对象在测试场景中的原始程序代码与目标程序代码之间的差异程序代码;
S2,获取与差异程序代码相匹配的目标引导信息,其中,目标引导信息用于至少分析差异程序代码;
S3,利用目标引导信息,引导测试场景下的生成式模型分析差异程序代码,得到目标分析结果,其中,目标分析结果至少用于在测试场景下测试差异程序代码;
S4,在生成式交互界面上,显示第一询问信息对应的第一答复信息,其中,第一答复信息包括目标分析结果。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
图7是根据本申请其中一实施例的一种电子装置的示意图。如图7所示,电子装置700仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,电子装置700以通用计算设备的形式表现。电子装置700的组件可以包括但不限于:上述至少一个处理器710、上述至少一个存储器720、连接不同系统组件(包括存储器720和处理器710)的总线730和显示器740。
其中,上述存储器720存储有程序代码,程序代码可以被处理器710执行,使得处理器710执行本申请实施例的上述方法部分中描述的根据本申请各种示例性实施方式的步骤。
存储器720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)10201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(ROM)10203,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。
在一些实例中,存储器720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。存储器720可进一步包括相对于处理器710远程设置的存储器,这些远程存储器可以通过网络连接至电子装置700。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理器710或者使用多种总线结构中的任意总线结构的局域总线。
显示器740可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与电子装置700的用户界面进行交互。
可选地,电子装置700也可以与一个或多个外部设备760(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子装置700交互的设备通信,和/或与使得该电子装置700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750进行。并且,电子装置700还可以通过网络适配器770与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图7所示,网络适配器770通过总线730与电子装置700的其它模块通信。应当明白,尽管图7中未示出,可以结合电子装置700使用其它硬件和/或软件模块,可以包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、独立冗余磁盘阵列(Redundant Array of Independent Disk,简称为RAID)系统、磁带驱动器以及数据备份存储系统等。
上述电子装置700还可以包括:键盘、光标控制设备(如鼠标)、输入/输出接口(I/O接口)、网络接口、电源和/或相机。
本领域普通技术人员可以理解,图7所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,电子装置700还可包括比图7中所示更多或者更少的组件,或者具有与图1所示不同的配置。存储器720可用于存储计算机程序及对应的数据,如本申请实施例中的代码程序的处理方法对应的计算机程序及对应的数据。处理器710通过运行存储在存储器720内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的程序代码的处理方法。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对相关技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (14)
1.一种程序代码的处理方法,其特征在于,包括:
在生成式交互界面上显示第一询问信息,其中,所述第一询问信息包括测试对象在测试场景中的原始程序代码与目标程序代码之间的差异程序代码;
获取与所述差异程序代码相匹配的目标引导信息,其中,所述目标引导信息用于至少分析所述差异程序代码;
利用所述目标引导信息,引导所述测试场景下的生成式模型分析所述差异程序代码,得到目标分析结果,其中,所述目标分析结果至少用于在所述测试场景下测试所述差异程序代码;
在所述生成式交互界面上,显示所述第一询问信息对应的第一答复信息,其中,所述第一答复信息包括所述目标分析结果。
2.根据权利要求1所述的方法,其特征在于,利用所述目标引导信息,引导所述测试场景下的生成式模型分析所述差异程序代码,得到目标分析结果,包括:
调用第一接口,将所述目标引导信息和所述差异程序代码输入至所述生成式模型中,以利用所述目标引导信息引导所述生成式模型分析所述差异程序代码,得到所述目标分析结果,其中,所述第一接口包括第一参数,所述第一参数的参数值为所述目标引导信息和所述差异程序代码。
3.根据权利要求2所述的方法,其特征在于,调用第一接口,将所述差异程序代码输入至所述生成式模型中,以利用所述目标引导信息引导所述生成式模型分析所述差异程序代码,得到所述目标分析结果,包括:
响应于在第一时段内,未调用过所述第一接口将所述差异程序代码输入至所述生成式模型中,则在所述第一时段之后的第二时段内,调用所述第一接口将所述差异程序代码输入至所述生成式模型中,以在所述第二时段内利用所述目标引导信息引导所述生成式模型分析所述差异程序代码,得到所述目标分析结果。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述第二时段内,调用第二接口将所述目标分析结果传输至目标存储位置进行存储,其中,所述第二接口包括第二参数,所述第二参数的参数值为所述目标分析结果;
响应于在所述第二时段之后的第三时段内,在所述生成式交互界面上显示包括所述差异程序代码的第二询问信息,则从所述目标存储位置获取所述差异程序代码对应的所述目标分析结果;
在所述第三时段内,在所述生成式交互界面上显示包括所述目标分析结果的第二答复信息,其中,所述第二答复信息用于答复所述第二询问信息。
5.根据权利要求2所述的方法,其特征在于,所述方法还包括:
响应于在第一时段内,已调用过所述第一接口将所述差异程序代码输入至所述生成式模型中,则在所述第一时段之后的第二时段内,禁止调用所述第一接口将所述差异程序代码输入至所述生成式模型中。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述差异程序代码进行脱敏处理;
利用所述目标引导信息,引导所述测试场景下的生成式模型分析所述差异程序代码,得到目标分析结果,包括:利用所述目标引导信息,引导所述生成式模型分析脱敏后的所述差异程序代码,得到所述目标分析结果。
7.根据权利要求6所述的方法,其特征在于,对所述差异程序代码进行脱敏处理,包括:
对所述差异程序代码中的目标数据进行屏蔽处理,其中,所述目标数据为所述测试场景中禁止泄漏的数据。
8.根据权利要求1所述的方法,其特征在于,获取与所述差异程序代码相匹配的目标引导信息,包括:
确定与所述差异程序代码相匹配的目标类型,其中,所述目标类型用于表示所述差异程序代码在所述测试场景对应的应用场景中的功能;
获取所述目标类型下的所述目标引导信息。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
获取所述测试场景中,分别基于不同描述信息描述的所述目标类型的原始引导信息,得到多个所述原始引导信息,其中,所述描述信息用于表示所述原始引导信息的语言结构,所述原始引导信息用于至少分析所述测试对象的程序代码;
获取所述原始引导信息对应的原始分析结果,其中,所述原始分析结果为利用所述原始引导信息,引导所述生成式模型分析所述测试对象的程序代码得到;
基于所述原始分析结果,确定所述目标类型下的所述目标引导信息。
10.根据权利要求9所述的方法,其特征在于,基于所述原始分析结果,确定所述目标类型下的所述目标引导信息,包括:
在与多个所述原始引导信息对应的多个所述原始分析结果中,选取至少一第一原始分析结果,其中,所述第一原始分析结果的内容完整程度,高于多个所述原始分析结果中除所述第一原始分析结果之外的第二原始分析结果;
基于所述第一原始分析结果,确定所述目标类型下的所述目标引导信息。
11.根据权利要求10所述的方法,其特征在于,基于所述第一原始分析结果,确定所述目标类型下的所述目标引导信息,包括:
对所述第一原始分析结果对应的所述原始引导信息的语言结构进行调整,得到所述目标类型下的所述目标引导信息,其中,所述目标引导信息对应的所述目标分析结果的内容完成程度,高于所述第一原始分析结果的内容完整程度。
12.一种程序代码的处理装置,其特征在于,包括:
第一显示单元,用于在生成式交互界面上显示第一询问信息,其中,所述第一询问信息包括测试对象在测试场景中的原始程序代码与目标程序代码之间的差异程序代码;
获取单元,用于获取与所述差异程序代码相匹配的目标引导信息,其中,所述目标引导信息用于至少分析所述差异程序代码;
分析单元,用于利用所述目标引导信息,引导所述测试场景下的生成式模型分析所述差异程序代码,得到目标分析结果,其中,所述目标分析结果至少用于在所述测试场景下测试所述差异程序代码;
第二显示单元,用于在所述生成式交互界面上,显示所述第一询问信息对应的第一答复信息,其中,所述第一答复信息包括所述目标分析结果。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为被处理器运行时执行所述权利要求1至11中任一项中所述的方法。
14.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行所述权利要求1至11中任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311224375.1A CN117348917A (zh) | 2023-09-20 | 2023-09-20 | 程序代码的处理方法、装置、存储介质和电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311224375.1A CN117348917A (zh) | 2023-09-20 | 2023-09-20 | 程序代码的处理方法、装置、存储介质和电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117348917A true CN117348917A (zh) | 2024-01-05 |
Family
ID=89356631
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311224375.1A Pending CN117348917A (zh) | 2023-09-20 | 2023-09-20 | 程序代码的处理方法、装置、存储介质和电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117348917A (zh) |
-
2023
- 2023-09-20 CN CN202311224375.1A patent/CN117348917A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10642721B2 (en) | Generation of automated testing scripts by converting manual test cases | |
US10387292B2 (en) | Determining application test results using screenshot metadata | |
US10216377B2 (en) | Visual regression analysis | |
CN110944048B (zh) | 业务逻辑配置方法及装置 | |
CN108845930B (zh) | 界面操作测试方法和装置、存储介质及电子装置 | |
CN106649084A (zh) | 函数调用信息的获取方法及装置、测试设备 | |
CN103984626B (zh) | 一种生成测试用例脚本的方法及装置 | |
US20130283100A1 (en) | Testing device | |
US10078510B1 (en) | Late-stage software feature reduction tool for security and performance | |
CN110221959B (zh) | 应用程序的测试方法、设备以及计算机可读介质 | |
CN112732576B (zh) | 基于用户界面的自动化测试方法、装置及设备 | |
CN113268243B (zh) | 内存预测方法及装置、存储介质、电子设备 | |
KR20180129623A (ko) | 연관된 다중 파일 정적 분석 장치 | |
CN115803734A (zh) | 使用动作解释的自然语言丰富 | |
CN113778897A (zh) | 接口的自动测试方法、装置、设备及存储介质 | |
US20240086310A1 (en) | What-if analysis for notebooks | |
CN112860587A (zh) | Ui自动测试方法和装置 | |
CN111949510B (zh) | 测试处理方法、装置、电子设备及可读存储介质 | |
CN116432573A (zh) | 性能仿真方法及电子设备和存储介质 | |
CN115858556A (zh) | 一种数据处理方法、装置、存储介质及电子设备 | |
CN117348917A (zh) | 程序代码的处理方法、装置、存储介质和电子装置 | |
CN115577363A (zh) | 恶意代码反序列化利用链的检测方法及装置 | |
CN114443467A (zh) | 基于沙箱的界面交互方法、装置、电子设备、介质及产品 | |
US20080195453A1 (en) | Organisational Representational System | |
CN115981711B (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 |