CN109388567B - 代码处理方法、装置及介质 - Google Patents
代码处理方法、装置及介质 Download PDFInfo
- Publication number
- CN109388567B CN109388567B CN201811144145.3A CN201811144145A CN109388567B CN 109388567 B CN109388567 B CN 109388567B CN 201811144145 A CN201811144145 A CN 201811144145A CN 109388567 B CN109388567 B CN 109388567B
- Authority
- CN
- China
- Prior art keywords
- code
- record
- abnormal information
- latest
- processing method
- 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.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 27
- 230000002159 abnormal effect Effects 0.000 claims abstract description 78
- 238000012360 testing method Methods 0.000 claims abstract description 59
- 238000013515 script Methods 0.000 claims abstract description 51
- 230000005856 abnormality Effects 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 13
- 238000000034 method Methods 0.000 description 11
- 238000012795 verification Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 238000010998 test method Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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
-
- 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/3692—Test management for test results analysis
-
- 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)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种代码处理方法、装置及介质,其中,所述代码处理方法包括:接收人工人工操作路径对应的操作指令产生的异常信息;基于接收到的人工人工操作路径的操作指令编写自动化脚本;基于所述自动化脚本对所述多条最新代码提交记录启动自动化测试得到测试结果;基于所述测试结果定位多条最新代码提交记录中导致所述异常信息的第一代码提交记录。本发明采用自动化脚本去对多条最新代码提交记录进行自动化测试,得到测试结果,并基于测试结果实现对导致异常信息的第一代码提交记录的确定,由于自动化脚本对多条最新代码提交记录进行自动化测试,有效提高测试效率,避免手动方式逐一回退代码且验证代码时效率低下的问题。
Description
技术领域
本发明涉及代码处理领域,尤其涉及一种代码处理方法、装置及介质。
背景技术
程序员在开发过程中会经常遇到如下场景:对最新代码进行验证时,发现某个人工操作后出现现crash现象(crash在计算机程序中翻译为崩溃),代码崩溃是代码出现异常信息的一种情况,代码验证出现crash说明代码写的有问题这个时候,我们需要定位到导致异常信息的代码提交记录,以便对出现异常信息的代码进行修订且验证通过。
现有技术采用的一种处理方式是对最新代码提交记录挨个回退代码,比如:在未出现异常信息的软件版本与出现异常信息的当前软件版本期间陆续有10笔代码提交,即10笔commit(commit在计算机程序中翻译为提交),这10笔提交中不确定是哪笔代码提交导致应用程序产生异常信息,现有技术中,采用的是对这10笔提交的代码进行手动挨个回退,手动挨个验证,直到回退到引起crash的commit,才可以定位到具体是哪一个提交的代码引起的异常信息。然而,现有技术采用的手动方式挨个回退验证,若提交的笔数超过10笔的话,来回验证等待就会造成时间的巨大浪费,影响效率。
发明内容
本发明的主要目的在于提供一种代码处理方法、装置及介质,旨在解决现有技术中手动方式挨个回退验证提交的代码定位产生crash时效率低下的问题。
为实现上述目的,本发明提供一种代码处理方法,所述代码处理方法包括以下步骤:
接收人工操作路径对应的操作指令产生的异常信息,其中,所述异常信息为多条最新代码提交记录中的一条最新代码提交记录导致的异常;
基于接收到的人工操作路径的操作指令编写自动化脚本,其中,所述自动化脚本用于模拟产生异常信息的人工操作路径;
基于所述自动化脚本对所述多条最新代码提交记录启动自动化测试得到测试结果;
基于所述测试结果定位多条最新代码提交记录中导致所述异常信息的第一代码提交记录。
优选地,所述基于所述自动化脚本对所述多条最新代码提交记录启动自动化测试得到测试结果的步骤包括:
基于所述自动化脚本对所述多条最新代码提交记录进行逐一回退代码,且每次回退代码后均进行异常信息的验证,直至验证出所述异常信息对应的第一代码提交记录。
优选地,所述每次回退代码后均进行异常信息的验证的步骤包括:
每次回退代码后得到回退结果;
对所述回退结果进行编译,得到编译结果;
基于所述编译结果安装应用程序;
基于所述应用程序测试当前最新代码提交记录,其中,所述当前最新代码提交记录为所述回退结果对应的最新代码提交记录。
优选地,所述直至验证出所述异常信息对应的第一代码提交记录的步骤包括:
若所述应用程序测试的当前最新代码提交记录出现所述异常信息,则判定所述当前最新代码提交记录为第一代码提交记录。
优选地,所述基于所述测试结果定位所述最新代码提交记录中导致异常信息的第一代码提交记录的步骤包括:
将所述当前最新代码提交记录确定为所述最新代码提交记录中导致异常信息的第一代码提交记录。
优选地,所述接收人工操作路径对应的操作指令产生的异常信息的步骤包括:
通过查看日记内容获取人工操作路径对应的操作指令产生的异常信息。
优选地,所述基于所述测试结果定位所述最新代码提交记录中导致异常信息的第一代码提交记录的步骤之后,所述代码处理方法还包括:
控制输出所述第一代码提交记录对应的提交信息。
此外,为实现上述目的,本发明还提供一种装置,所述装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的代码处理程序,所述代码处理程序被所述处理器执行时实现上述任一项所述的代码处理方法的步骤。
此外,为实现上述目的,本发明还提供一种介质,所述介质上存储有代码处理程序,所述代码处理程序被处理器执行时实现上述任一项所述的代码处理方法的步骤。
本发明通过基于人工操作路径的操作指令编写自动化脚本,采用自动化脚本去对多条最新代码提交记录进行自动化测试,得到测试结果,并基于测试结果实现对导致异常信息的第一代码提交记录的确定,由于自动化脚本对多条最新代码提交记录进行自动化测试,有效提高测试效率,避免手动方式逐一回退代码且验证代码时效率低下的问题;并且,通过测试结果定位到异常信息对应的第一代码提交记录,定位准确。
附图说明
图1为本发明各个实施例一种装置的硬件结构示意图;
图2为本发明实施例提供的一种通信网络系统框架图;
图3为本发明代码处理方法第一实施例的流程示意图;
图4为本发明代码处理方法第二实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的装置结构示意图。
如图1所示,该装置可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,装置还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。当然,装置还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的装置结构并不构成对装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口单元以及代码处理程序。
在图1所示的装置中,网络接口1004主要用于连接后台装置,与后台装置进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的代码处理程序,并执行以下操作:
接收人工操作路径对应的操作指令产生的异常信息,其中,所述异常信息为多条最新代码提交记录中的一条最新代码提交记录导致的异常;
基于接收到的人工操作路径的操作指令编写自动化脚本,其中,所述自动化脚本用于模拟产生异常信息的人工操作路径;
基于所述自动化脚本对所述多条最新代码提交记录启动自动化测试得到测试结果;
基于所述测试结果定位多条最新代码提交记录中导致所述异常信息的第一代码提交记录。
进一步地,而处理器1001可以用于调用存储器1005中存储的代码处理程序,并执行以下操作:
基于所述自动化脚本对所述多条最新代码提交记录进行逐一回退代码,且每次回退代码后均进行异常信息的验证,直至验证出所述异常信息对应的第一代码提交记录。
进一步地,而处理器1001可以用于调用存储器1005中存储的代码处理程序,并执行以下操作:
每次回退代码后得到回退结果;
对所述回退结果进行编译,得到编译结果;
基于所述编译结果安装应用程序;
基于所述应用程序测试当前最新代码提交记录,其中,所述当前最新代码提交记录为所述回退结果对应的最新代码提交记录。
进一步地,而处理器1001可以用于调用存储器1005中存储的代码处理程序,并执行以下操作:
若所述应用程序测试的当前最新代码提交记录出现所述异常信息,则判定所述当前最新代码提交记录为第一代码提交记录。
进一步地,而处理器1001可以用于调用存储器1005中存储的代码处理程序,并执行以下操作:
将所述当前最新代码提交记录确定为所述最新代码提交记录中导致异常信息的第一代码提交记录。
进一步地,而处理器1001可以用于调用存储器1005中存储的代码处理程序,并执行以下操作:
通过查看日记内容获取人工操作路径对应的操作指令产生的异常信息。
进一步地,而处理器1001可以用于调用存储器1005中存储的代码处理程序,并执行以下操作:
控制输出所述第一代码提交记录对应的提交信息。
装置还可以包括给各个部件供电的电源,优选的,电源可以通过电源管理系统与处理器1001逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管图1未示出,装置还可以包括蓝牙模块等,在此不再赘述。
为了便于理解本发明实施例,下面对本发明的装置所基于的通信网络系统进行描述。
请参阅图2,图2为本发明实施例提供的一种通信网络系统架构图,该通信网络系统为通用移动通信技术的LTE系统,该LTE系统包括依次通讯连接的UE(User Equipment,用户设备)201,E-UTRAN(Evolved UMTS Terrestrial Radio Access Network,演进式UMTS陆地无线接入网)202,EPC(Evolved Packet Core,演进式分组核心网)203和运营商的IP业务204。
具体地,UE201可以是上述装置100,此处不再赘述。
E-UTRAN202包括eNodeB2021和其它eNodeB2022等。其中,eNodeB2021可以通过回程(backhaul)(例如X2接口)与其它eNodeB2022连接,eNodeB2021连接到EPC203,eNodeB2021可以提供UE201到EPC203的接入。
EPC203可以包括MME(Mobility Management Entity,移动性管理实体)2031,HSS(Home Subscriber Server,归属用户装置)2032,其它MME2033,SGW(Serving Gate Way,服务网关)2034,PGW(PDN Gate Way,分组数据网络网关)2035和PCRF(Policy and ChargingRules Function,政策和资费功能实体)2036等。其中,MME2031是处理UE201和EPC203之间信令的控制节点,提供承载和连接管理。HSS2032用于提供一些寄存器来管理诸如归属位置寄存器(图中未示)之类的功能,并且保存有一些有关服务特征、数据速率等用户专用的信息。所有用户数据都可以通过SGW2034进行发送,PGW2035可以提供UE 201的IP地址分配以及其它功能,PCRF2036是业务数据流和IP承载资源的策略与计费控制策略决策点,它为策略与计费执行功能单元(图中未示)选择及提供可用的策略和计费控制决策。
IP业务204可以包括因特网、内联网、IMS(IP Multimedia Subsystem,IP多媒体子系统)或其它IP业务等。
虽然上述以LTE系统为例进行了介绍,但本领域技术人员应当知晓,本发明不仅仅适用于LTE系统,也可以适用于其他无线通信系统,例如GSM、CDMA2000、WCDMA、TD-SCDMA以及未来新的网络系统等,此处不做限定。
基于上述终端硬件结构以及通信网络系统,提出本发明代码处理方法的各个实施例。
本发明还提供一种代码处理方法,参照图3,图3为本发明代码处理方法第一实施例的流程示意图。
在本实施例中,该代码处理方法包括以下步骤:
步骤S10,接收人工操作路径对应的操作指令产生的异常信息,其中,所述异常信息为多条最新代码提交记录中的一条最新代码提交记录导致的异常。
在本实施例中,接收到人工操作路径对应的操作指令产生的异常信息,可以通过抓log得知异常信息,或者是异常信息出现时弹出一个对话框提示异常出现。异常信息即计算机程序中的crash,人工操作路径可以是人为操作产生的操作指令,如按下两个按键时,出现有crash信息提醒,比如,弹出一个对话框显示“程序已停止运行!”,那么,则认为是人工操作路径产生相应的crash,对此,人工操作路径对应的最新代码提交记录则需要检查验证,以便找到最准确的提交记录。假设我们最新代码提交记录是10条commit,分别为1,2,3……10,那么,第一条commit之前都是正常的,且没有出现crash的,因此,我们需要回退代码验证,即验证的顺序是第十条至第一条。
步骤S20,基于接收到的人工操作路径的操作指令编写自动化脚本,其中,所述自动化脚本用于模拟产生异常信息的人工操作路径。
在本实施例中,针对人工操作路径的操作指令编写一个自动化脚本,用于模拟人工操作路径。脚本英文为Script。实际上脚本就是程序,一般都是有应用程序提供的编程语言。应用程序包括浏览器(JavaScript、VBScript)、多媒体创作工具,应用程序的宏和创作系统的批处理语言也可以归入脚本之类,脚本语法比较简单,比较容易掌握,脚本的好处就是易于学习,易于修改。本案采用编写自动化脚本,去模拟产生异常信息的人工操作路径,如让自动化脚本去模拟按下两个按键,是自动化脚本得到异常信息。
步骤S30,基于所述自动化脚本对所述多条最新代码提交记录启动自动化测试得到测试结果。
在本实施例中,通过自动化脚本对多条最新代码提交记录进行自动化测试,得到测试结果。具体测试过程为:自动化脚本回退代码,每回退代码一次,就验证一次,生成应用程序apk一次,且应用程序测试当前的提交记录。比如,最新代码提交记录有10条代码,第一次回退代码,即自动化脚本修改第10条代码,如将第10条代码中的变量有1改成0,修改以后,开始编译,编译完成后安装应用程序apk,然后应用程序apk自动测试修改后的第10条代码commit是否出现crash现象,若否,则接着第二次回退代码,即自动化脚本修改第9条代码,修改以后,再次开始编译,编译完成后安装应用程序apk,然后应用程序apk自动测试修改后的第9条代码commit是否出现crash现象,以此类推,直至测出出现crash现象的代码commit,即确定具体是哪一条代码提交记录产生的异常信息。
通过自动化脚本的自动化测试,有效节约手工回退代码、验证代码浪费的时间,并且,自动化测试提高了测试效率,能顺利找出具体那一条提交记录产生crash现象。
步骤S40,基于所述测试结果定位多条最新代码提交记录中导致所述异常信息的第一代码提交记录。
本实施例中,通过自动化脚本的自动化测试结果定位出多条最新代码提交记录中导致异常信息的第一代码提交记录。自动化脚本自动回退代码,回退验证,每次回退均进行编译、安装apk进行对当前的提交记录进行测试,有效定位出现crash现象的提交记录。
本发明通过基于人工操作路径的操作指令编写自动化脚本,采用自动化脚本去对多条最新代码提交记录进行自动化测试,得到测试结果,并基于测试结果实现对导致异常信息的第一代码提交记录的确定,由于自动化脚本对多条最新代码提交记录进行自动化测试,有效提高测试效率,避免手动方式逐一回退代码且验证代码时效率低下的问题;并且,通过测试结果定位到异常信息对应的第一代码提交记录,定位准确。
进一步地,步骤S30包括:
基于所述自动化脚本对所述多条最新代码提交记录进行逐一回退代码,且每次回退代码后均进行异常信息的验证,直至验证出所述异常信息对应的第一代码提交记录。
本实施例中,具体测试过程为:自动化脚本回退代码,每回退代码一次,就验证一次,生成应用程序apk一次,且应用程序测试当前的提交记录,直至验证出异常信息crash对应的第一代码提交记录。
基于第一实施例,提出本发明代码处理方法的第二实施例,参照图4,在本实施例中,步骤S30包括:
步骤S31,每次回退代码后得到回退结果;
步骤S32,对所述回退结果进行编译,得到编译结果;
步骤S33,基于所述编译结果安装应用程序;
步骤S34,基于所述应用程序测试当前最新代码提交记录,其中,所述当前最新代码提交记录为所述回退结果对应的最新代码提交记录。
本实施例中,每次回退代码后均进行验证具体为:每次回退代码后得到回退结果;对所述回退结果进行编译,得到编译结果;基于所述编译结果安装应用程序;基于所述应用程序测试当前最新代码提交记录。比如,最新代码提交记录有10条代码,第一次回退代码,即自动化脚本修改第10条代码,如将第10条代码中的变量有1改成0,修改以后,开始编译,编译完成后安装应用程序apk,然后应用程序apk自动测试修改后的第10条代码commit是否出现crash现象,若否,则接着第二次回退代码,即自动化脚本修改第9条代码,修改以后,再次开始编译,编译完成后安装应用程序apk,然后应用程序apk自动测试修改后的第9条代码commit是否出现crash现象,以此类推,直至测出出现crash现象的代码commit,即确定具体的异常信息。
通过自动化脚本的自动化测试,有效节约手工回退代码、验证代码浪费的时间,并且,自动化测试提高了测试效率,能顺利找出具体那一条提交记录产生crash现象。
进一步地,步骤S30还包括:
若所述应用程序测试的当前最新代码提交记录出现所述异常信息,则判定所述当前最新代码提交记录为第一代码提交记录。
在本实施例中,基于所述自动化脚本对所述多条最新代码提交记录进行逐一回退代码,且每次回退代码后均进行异常信息的验证,每次验证时,对所述回退结果进行编译,得到编译结果,基于所述编译结果安装应用程序,基于所述应用程序测试当前最新代码提交记录,若所述应用程序测试的当前最新代码提交记录出现所述异常信息,则判定所述当前最新代码提交记录为第一代码提交记录。
通过应用程序apk对当前最新代码提交记录进行测试,得到出现/不出现crash现象的结果,根据该结果判断是否是当前最新代码提交记录出现crash现象。
进一步地,步骤S30还包括:
将所述当前最新代码提交记录确定为所述最新代码提交记录中导致异常信息的第一代码提交记录。
本实施例中,在确认当前最新代码提交记录为出现异常信息的提交记录时,将当前最新代码提交记录定义为第一代码提交记录。由于第一代码提交记录被定义为多条最新代码提交记录中唯一一条出现异常信息的提交记录,因此,当测试到出现异常信息时,即为第一代码提交记录。
进一步地,步骤S10包括:
通过查看日记内容获取人工操作路径对应的操作指令产生的异常信息。
本实施例中,接收到人工操作路径对应的操作指令产生的异常信息,可以通过抓log得知异常信息,或者是异常信息出现时弹出一个对话框提示异常出现。Log即日记,记录输入内容和程序运行情况的日志,里面保存着系统运行的所有记录,可以方便开发组查看到底问题出在哪,好比是飞机上的“黑匣子”,用来复现bug,或发现程序错误。一般都有截log的专业工具。由于提交记录时会产生相应的日记,因此,抓log可以获取人工操作路径对应的操作指令产生的异常信息。
进一步地,步骤S40之后,所述代码处理方法还包括:
控制输出所述第一代码提交记录对应的提交信息。
由于确定了导致所述异常信息的第一代码提交记录,因此,需要控制输出第一代码提交记录对应的提交信息,如弹出一个对话框提示“第N条代码出现异常!”,提示最新代码提交记录中的第N条代码出现异常信息,此时,第一代码提交记录即第N条代码,使得工作人员了解到第N条代码为出现异常信息的第一代码提交记录,进而对第N条代码进行修改等操作。
此外,本发明实施例还提出一种介质,所述介质上存储有代码处理程序,所述代码处理程序被处理器执行时实现如下操作:
接收人工操作路径对应的操作指令产生的异常信息,其中,所述异常信息为多条最新代码提交记录中的一条最新代码提交记录导致的异常;
基于接收到的人工操作路径的操作指令编写自动化脚本,其中,所述自动化脚本用于模拟产生异常信息的人工操作路径;
基于所述自动化脚本对所述多条最新代码提交记录启动自动化测试得到测试结果;
基于所述测试结果定位多条最新代码提交记录中导致所述异常信息的第一代码提交记录。
进一步地,所述代码处理程序被处理器执行时还实现如下操作:
基于所述自动化脚本对所述多条最新代码提交记录进行逐一回退代码,且每次回退代码后均进行异常信息的验证,直至验证出所述异常信息对应的第一代码提交记录。
进一步地,所述代码处理程序被处理器执行时还实现如下操作:
每次回退代码后得到回退结果;
对所述回退结果进行编译,得到编译结果;
基于所述编译结果安装应用程序;
基于所述应用程序测试当前最新代码提交记录,其中,所述当前最新代码提交记录为所述回退结果对应的最新代码提交记录。
进一步地,所述代码处理程序被处理器执行时还实现如下操作:
若所述应用程序测试的当前最新代码提交记录出现所述异常信息,则判定所述当前最新代码提交记录为第一代码提交记录。
进一步地,所述代码处理程序被处理器执行时还实现如下操作:
将所述当前最新代码提交记录确定为所述最新代码提交记录中导致异常信息的第一代码提交记录。
进一步地,所述代码处理程序被处理器执行时还实现如下操作:
通过查看日记内容获取人工操作路径对应的操作指令产生的异常信息。
进一步地,所述代码处理程序被处理器执行时还实现如下操作:
控制输出所述第一代码提交记录对应的提交信息。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者终端中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是装置,计算机,装置,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (7)
1.一种代码处理方法,其特征在于,所述代码处理方法包括以下步骤:
接收人工操作路径对应的操作指令产生的异常信息,其中,所述异常信息为多条最新代码提交记录中的一条最新代码提交记录导致的异常;
基于接收到的人工操作路径的操作指令编写自动化脚本,其中,所述自动化脚本用于模拟产生异常信息的人工操作路径;
基于所述自动化脚本对所述多条最新代码提交记录进行逐一回退代码,且每次回退代码后得到回退结果;
对所述回退结果进行编译,得到编译结果;
基于与每次回退代码对应的编译结果安装应用程序;
基于所述应用程序测试当前最新代码提交记录,直至验证出所述异常信息对应的第一代码提交记录,其中,所述当前最新代码提交记录为所述回退结果对应的最新代码提交记录。
2.如权利要求1所述的代码处理方法,其特征在于,所述直至验证出所述异常信息对应的第一代码提交记录的步骤包括:
若所述应用程序测试的当前最新代码提交记录出现所述异常信息,则判定所述当前最新代码提交记录为第一代码提交记录。
3.如权利要求2所述的代码处理方法,其特征在于,所述基于所述应用程序测试当前最新代码提交记录,直至验证出所述异常信息对应的第一代码提交记录的步骤包括:
将所述当前最新代码提交记录确定为所述最新代码提交记录中导致异常信息的第一代码提交记录。
4.如权利要求1所述的代码处理方法,其特征在于,所述接收人工操作路径对应的操作指令产生的异常信息的步骤包括:
通过查看日记内容获取人工操作路径对应的操作指令产生的异常信息。
5.如权利要求1所述的代码处理方法,其特征在于,所述基于所述应用程序测试当前最新代码提交记录,直至验证出所述异常信息对应的第一代码提交记录的步骤之后,所述代码处理方法还包括:
控制输出所述第一代码提交记录对应的提交信息。
6.一种装置,其特征在于,所述装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的代码处理程序,所述代码处理程序被所述处理器执行时实现如权利要求1至5中任一项所述的代码处理方法的步骤。
7.一种介质,其特征在于,所述介质上存储有代码处理程序,所述代码处理程序被处理器执行时实现如权利要求1至5中任一项所述的代码处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811144145.3A CN109388567B (zh) | 2018-09-28 | 2018-09-28 | 代码处理方法、装置及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811144145.3A CN109388567B (zh) | 2018-09-28 | 2018-09-28 | 代码处理方法、装置及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109388567A CN109388567A (zh) | 2019-02-26 |
CN109388567B true CN109388567B (zh) | 2023-09-08 |
Family
ID=65418322
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811144145.3A Active CN109388567B (zh) | 2018-09-28 | 2018-09-28 | 代码处理方法、装置及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109388567B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113836001A (zh) * | 2021-08-20 | 2021-12-24 | 阿里云计算有限公司 | 代码检测方法、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294171A (zh) * | 2016-08-17 | 2017-01-04 | 北京奇虎科技有限公司 | 产品自动部署的测试系统、方法和装置 |
CN106776231A (zh) * | 2017-01-09 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 基于Git的Android崩溃日志优化方法及系统 |
CN106776245A (zh) * | 2016-11-18 | 2017-05-31 | 维沃移动通信有限公司 | 一种异常应用处理方法、装置及移动终端 |
CN107239292A (zh) * | 2017-06-28 | 2017-10-10 | 郑州云海信息技术有限公司 | 一种自动化构建软件版本的方法与装置 |
CN108268364A (zh) * | 2018-01-19 | 2018-07-10 | 百度在线网络技术(北京)有限公司 | 异常事件回放方法、装置及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9916235B2 (en) * | 2016-08-09 | 2018-03-13 | Seagate Technology Llc | Code failure locator |
-
2018
- 2018-09-28 CN CN201811144145.3A patent/CN109388567B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294171A (zh) * | 2016-08-17 | 2017-01-04 | 北京奇虎科技有限公司 | 产品自动部署的测试系统、方法和装置 |
CN106776245A (zh) * | 2016-11-18 | 2017-05-31 | 维沃移动通信有限公司 | 一种异常应用处理方法、装置及移动终端 |
CN106776231A (zh) * | 2017-01-09 | 2017-05-31 | 武汉斗鱼网络科技有限公司 | 基于Git的Android崩溃日志优化方法及系统 |
CN107239292A (zh) * | 2017-06-28 | 2017-10-10 | 郑州云海信息技术有限公司 | 一种自动化构建软件版本的方法与装置 |
CN108268364A (zh) * | 2018-01-19 | 2018-07-10 | 百度在线网络技术(北京)有限公司 | 异常事件回放方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN109388567A (zh) | 2019-02-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106598835B (zh) | 一种应用的测试方法及装置、系统 | |
CN109634837B (zh) | 自动化测试方法、装置、设备及存储介质 | |
WO2018120965A1 (zh) | 自动化测试方法、计算机可读存储介质及装置 | |
US20160162385A1 (en) | Correlation of violating change sets in regression testing of computer software | |
CN106802814A (zh) | 用于软件版本升级的方法及装置 | |
CN110297767B (zh) | 测试用例自动执行方法、装置、设备及存储介质 | |
CN112214405B (zh) | 一种软件测试方法、装置、电子设备和可读存储介质 | |
EP3818445B1 (en) | Automated control of distributed computing devices | |
CN108804315B (zh) | 应用于动态开发的测试方法、装置、电子设备及存储介质 | |
CN108923997B (zh) | 一种基于python的云服务节点自动测试方法及装置 | |
CN111309602A (zh) | 一种软件测试方法、装置及系统 | |
CN109388567B (zh) | 代码处理方法、装置及介质 | |
CN105743725A (zh) | 一种测试应用程序的方法和装置 | |
CN111382077A (zh) | 应用程序崩溃原因定位方法、装置、电子设备及存储介质 | |
CN110597662A (zh) | 备份数据自动验证方法、装置、用户设备及存储介质 | |
CN102087607B (zh) | 补丁包的安装方法及装置 | |
US11115137B2 (en) | Method and electronic testing device for determining optimal test case for testing user equipment | |
CN103810006B (zh) | 补丁包的安装方法及装置 | |
CN110704307A (zh) | 应用产品的测试方法、装置、用户设备及计算机存储介质 | |
CN103823693A (zh) | 补丁包安装方法 | |
CN111858288A (zh) | 测试用例优化方法、装置、设备及计算机可读存储介质 | |
CN112506782B (zh) | 一种应用程序的测试方法、装置、设备及存储介质 | |
CN114880244A (zh) | 应用测试方法及装置、存储介质及电子设备 | |
CN113986263A (zh) | 代码自动化测试方法、装置、电子设备、存储介质 | |
CN114116466A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20230802 Address after: Building 5, Huigu 302, No. 2-10 Jinlong Avenue, Shahu Community, Biling Street, Pingshan District, Shenzhen City, Guangdong Province, 518000 Applicant after: Shenzhen Haoyun Intelligent Technology Co.,Ltd. Address before: 518057 Dazu Innovation Building, 9018 Beihuan Avenue, Nanshan District, Shenzhen City, Guangdong Province, 6-8, 10-11, 6 and 6-10 floors in Area A, B and C Applicant before: NUBIA TECHNOLOGY Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |