CN110928770A - 软件测试的方法、装置、系统、存储介质和电子设备 - Google Patents
软件测试的方法、装置、系统、存储介质和电子设备 Download PDFInfo
- Publication number
- CN110928770A CN110928770A CN201911040158.0A CN201911040158A CN110928770A CN 110928770 A CN110928770 A CN 110928770A CN 201911040158 A CN201911040158 A CN 201911040158A CN 110928770 A CN110928770 A CN 110928770A
- Authority
- CN
- China
- Prior art keywords
- software
- test case
- tested
- target
- code
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 112
- 238000013522 software testing Methods 0.000 title claims abstract description 48
- 238000012360 testing method Methods 0.000 claims abstract description 342
- 238000012544 monitoring process Methods 0.000 claims abstract description 24
- 230000003068 static effect Effects 0.000 claims abstract description 19
- 230000008569 process Effects 0.000 claims description 29
- 238000004590 computer program Methods 0.000 claims description 15
- 238000002347 injection Methods 0.000 claims description 7
- 239000007924 injection Substances 0.000 claims description 7
- 238000010586 diagram Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000004044 response Effects 0.000 description 6
- 230000005236 sound signal Effects 0.000 description 4
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000011423 initialization method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000012545 processing 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—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/368—Test management for test version control, e.g. updating test cases to a new software version
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Prevention of errors by analysis, debugging or testing of software
- G06F11/3668—Testing of software
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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)
- Stored Programmes (AREA)
Abstract
本公开涉及一种软件测试的方法、装置、系统、存储介质和电子设备,应用于服务端,该方法包括:将新版待测软件的源码和旧版待测软件的源码进行静态比对,以获取存在差异的目标代码行,根据代码行与测试用例的关联关系,在预设的测试用例集中确定与目标代码行对应的目标测试用例,关联关系为客户端通过预设的动态字节码,监听旧版待测软件执行测试用例集中的每个测试用例而确定,并由客户端发送至服务端的关系,输出目标测试用例,以使用户根据目标测试用例对新版待测软件进行测试。本公开通过静态比对,得到存在差异的目标代码行,再根据目标代码行与测试用例的关联关系,确定目标测试用例,以避免出现重测和漏测,提高了软件测试的效率和可靠性。
Description
技术领域
本公开涉及电子信息技术领域,具体地,涉及一种软件测试的方法、装置、系统、存储介质和电子设备。
背景技术
随着电子信息技术的不断发展,软件更新的速度越来越快,软件每更新一个版本,都需要对软件进行测试,以保证新版本软件能够符合发布标准,能够实现预期的功能。若对新版本软件进行全面测试,工作量大,效率低,容易导致新版本软件上线时间的延迟,因此需要对测试用例进行筛选。通常情况下,需要通过执行测试用例的运行日志、覆盖率文件,来确定软件的源码与测试用例之间的关系,来筛选需要的测试用例,无法准确覆盖软件版本更新带来的功能变更,因此容易重测或漏测,降低了软件测试的效率和准确度。
发明内容
本公开的目的是提供一种软件测试的方法、装置、系统、存储介质和电子设备,用于解决现有技术中存在重测或漏测测试用例,导致软件测试效率低、测试结果不可靠的问题。
为了实现上述目的,根据本公开实施例的第一方面,提供一种软件测试的方法,应用于服务端,所述方法包括:
将新版待测软件的源码和旧版待测软件的源码进行静态比对,以获取存在差异的目标代码行;
根据代码行与测试用例的关联关系,在预设的测试用例集中确定与所述目标代码行对应的目标测试用例,所述关联关系为客户端通过预设的动态字节码,监听所述旧版待测软件执行所述测试用例集中的每个测试用例而确定,并由所述客户端发送至所述服务端的关系;
输出所述目标测试用例,以使用户根据所述目标测试用例对所述新版待测软件进行测试。
可选地,在所述将新版待测软件的源码和旧版待测软件的源码进行静态比对,以获取存在差异的目标代码行之前,所述方法还包括:
获取所述新版待测软件的第一标识和所述旧版待测软件的第二标识;
根据所述第一标识和所述第二标识,确定所述新版待测软件的源码,和所述旧版待测软件的源码。
可选地,所述方法还包括:
向所述客户端发送用例录制信号,以使所述客户端响应于所述用例录制信号,在所述旧版待测软件上执行每个所述测试用例,并使所述客户端通过所述动态字节码监听每个所述测试用例的执行过程,从而确定每个所述测试用例对应的代码行;
接收所述客户端发送的所述关联关系,所述关联关系为所述客户端根据每个所述测试用例,和每个所述测试用例对应的代码行确定的关系。
可选地,在所述将新版待测软件的源码和旧版待测软件的源码进行静态比对,以获取存在差异的目标代码行之后,所述方法还包括:
根据所述目标代码行,确定所述目标代码行在所述新版待测软件的源码中所在分支的分支信息;
输出所述分支信息。
根据本公开实施例的第二方面,提供一种软件测试的方法,应用于客户端,所述方法包括:
将预设的动态字节码注入待测软件的源码;
接收服务端发送的用例录制信号;
响应于所述用例录制信号,在所述待测软件上执行预设的测试用例集中的每个测试用例,并通过所述动态字节码监听每个所述测试用例的执行过程,以确定每个所述测试用例对应的代码行;
根据每个所述测试用例,和每个所述测试用例对应的代码行确定代码行与测试用例的关联关系,并将所述关联关系发送至所述服务端,以使所述服务端在确定新版待测软件的源码和旧版待测软件的源码中存在差异的目标代码行后,根据所述关联关系确定与所述目标代码行对应的目标测试用例。
可选地,所述将预设的动态字节码注入待测软件的源码,包括:
确定所述待测软件的源码中需要监控的类作为目标类;
将用于监控所述目标类的所述动态字节码注入所述待测软件的源码。
根据本公开实施例的第三方面,提供一种软件测试的装置,应用于服务端,所述装置包括:
对比模块,用于将新版待测软件的源码和旧版待测软件的源码进行静态比对,以获取存在差异的目标代码行;
第一确定模块,用于根据代码行与测试用例的关联关系,在预设的测试用例集中确定与所述目标代码行对应的目标测试用例,所述关联关系为客户端通过预设的动态字节码,监听所述旧版待测软件执行所述测试用例集中的每个测试用例而确定,并由所述客户端发送至所述服务端的关系;
输出模块,用于输出所述目标测试用例,以使用户根据所述目标测试用例对所述新版待测软件进行测试。
可选地,所述装置还包括:
获取模块,用于在所述将新版待测软件的源码和旧版待测软件的源码进行静态比对,以获取存在差异的目标代码行之前,获取所述新版待测软件的第一标识和所述旧版待测软件的第二标识;
第二确定模块,用于根据所述第一标识和所述第二标识,确定所述新版待测软件的源码,和所述旧版待测软件的源码。
可选地,所述装置还包括:
发送模块,用于向所述客户端发送用例录制信号,以使所述客户端响应于所述用例录制信号,在所述旧版待测软件上执行每个所述测试用例,并使所述客户端通过所述动态字节码监听每个所述测试用例的执行过程,从而确定每个所述测试用例对应的代码行;
接收模块,用于接收所述客户端发送的所述关联关系,所述关联关系为所述客户端根据每个所述测试用例,和每个所述测试用例对应的代码行确定的关系。
可选地,所述装置还包括:
第三确定模块,用于在所述将新版待测软件的源码和旧版待测软件的源码进行静态比对,以获取存在差异的目标代码行之后,根据所述目标代码行,确定所述目标代码行在所述新版待测软件的源码中所在分支的分支信息;
所述输出模块,还用于输出所述分支信息。
根据本公开实施例的第四方面,提供一种软件测试的装置,应用于客户端,所述装置包括:
注入模块,用于将预设的动态字节码注入待测软件的源码;
接收模块,用于接收服务端发送的用例录制信号;
执行模块,用于响应于所述用例录制信号,在所述待测软件上执行预设的测试用例集中的每个测试用例,并通过所述动态字节码监听每个所述测试用例的执行过程,以确定每个所述测试用例对应的代码行;
确定模块,用于根据每个所述测试用例,和每个所述测试用例对应的代码行确定代码行与测试用例的关联关系,并将所述关联关系发送至所述服务端。
可选地,所述注入模块包括:
确定子模块,用于确定所述待测软件的源码中需要监控的类作为目标类;
注入子模块,用于将用于监控所述目标类的所述动态字节码注入所述待测软件的源码。
根据本公开实施例的第五方面,提供一种软件测试的系统,所述系统包括服务端和客户端;
所述服务端用于执行本公开实施例的第一方面中任一项所述方法的步骤;
所述客户端用于执行本公开实施例的第二方面中任一项所述方法的步骤。
根据本公开实施例的第六方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开实施例的第一方面中任一项所述方法的步骤。
根据本公开实施例的第七方面,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本公开实施例的第二方面中任一项所述方法的步骤。
根据本公开实施例的第八方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开实施例的第一方面中任一项所述方法的步骤。
根据本公开实施例的第九方面,提供一种电子设备,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现本公开实施例的第二方面中任一项所述方法的步骤。
通过上述技术方案,本公开中服务端首先将新版待测软件的源码和旧版待测软件的源码进行静态比对,以获取存在差异的目标代码行,然后根据代码行与测试用例的关联关系,在预设的测试用例集中确定与目标代码行对应的目标测试用例,其中关联关系为客户端通过预设的动态字节码,监听旧版待测软件执行测试用例集中的每个测试用例而确定,并由客户端发送至服务端的关系,最后服务端输出目标测试用例,以使用户根据目标测试用例对新版待测软件进行测试。本公开通过静态比对,得到存在差异的目标代码行,再根据目标代码行与测试用例的关联关系,确定目标测试用例,以便用户根据目标测试用例进行测试,准确度高,能够避免出现重测和漏测,提高了软件测试的效率和可靠性。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是根据一示例性实施例示出的一种软件测试的方法的流程图;
图2是根据一示例性实施例示出的另一种软件测试的方法的流程图;
图3是根据一示例性实施例示出的另一种软件测试的方法的流程图;
图4是根据一示例性实施例示出的另一种软件测试的方法的流程图;
图5是根据一示例性实施例示出的一种软件测试的方法的流程图;
图6是根据一示例性实施例示出的另一种软件测试的方法的流程图;
图7是根据一示例性实施例示出的一种软件测试的装置的框图;
图8是根据一示例性实施例示出的另一种软件测试的装置的框图;
图9是根据一示例性实施例示出的另一种软件测试的装置的框图;
图10是根据一示例性实施例示出的另一种软件测试的装置的框图;
图11是根据一示例性实施例示出的一种软件测试的装置的框图;
图12是根据一示例性实施例示出的另一种软件测试的装置的框图;
图13是根据一示例性实施例示出的一种软件测试的系统的框图;
图14是根据一示例性实施例示出的一种电子设备的框图;
图15是根据一示例性实施例示出的一种电子设备的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的方法和装置的例子。
在介绍本公开提供的软件测试的方法、装置、系统、存储介质和电子设备之前,首先对本公开各个实施例所涉及的应用场景进行介绍。该应用场景中包括服务端和客户端,服务端和客户端之间能够通过物理连线或无线通信技术实现信息传输,例如服务端和客户端之间可以通过网线、光纤等物理连线来传输信息,也可以通过WLAN(英文:WirelessLocal Area Network,中文:无线局域网)、蓝牙、ZigBee(中文:紫蜂协议)等无线通信技术实现信息交互。服务端例如可以是服务器,可以包括但不限于:实体服务器、服务器集群或云端服务器等。客户端可以是智能手机、平板电脑、智能电视、PDA(英文:Personal DigitalAssistant,中文:个人数字助理)、便携计算机等移动终端,也可以是台式计算机等固定终端。本实施例中的待测软件(包括新版待测软件和旧版待测软件)的源码,例如可以是Java程序,本公开对此不作限定。
图1是根据一示例性实施例示出的一种软件测试的方法的流程图,如图1所示,该方法应用于服务端,包括以下步骤:
步骤101,将新版待测软件的源码和旧版待测软件的源码进行静态比对,以获取存在差异的目标代码行。
举例来说,随着用户需求、业务范围的不断改进,待测软件也会不断更新版本,在发布新版待测软件之前,需要对更新后的新版待测软件进行测试。首先通过服务端静态比对新版待测软件的源码和旧版待测软件的源码,以获取存在差异的目标代码行,目标代码行可以是一行或多行代码行。其中,服务端可以利用代码比较工具进行源码的静态比对,代码比较工具例如可以是Beyond compare、DiffMerge、WinMerge等,本公开对此不作具体限定。旧版待测软件可以是新版待测软件之前的任一版待测软件。静态比对后得到的存在差异的代码行,即为目标代码行。获取到目标代码行后,可以将目标代码行或者能够反映目标代码行位置的信息(例如目标代码行的行号)存储起来,以便于服务端对目标代码行进行处理,例如将目标代码行或者能够反映目标代码行位置的信息存储至预先部署在服务端上的数据库中,也可以存储至服务端能够通过网络访问的其他终端设备中。
步骤102,根据代码行与测试用例的关联关系,在预设的测试用例集中确定与目标代码行对应的目标测试用例,关联关系为客户端通过预设的动态字节码,监听旧版待测软件执行测试用例集中的每个测试用例而确定,并由客户端发送至服务端的关系。
示例的,预设的测试用例集由能够测试待测软件不同功能的多个测试用例组成,可以理解为,测试用例集为用于对待测软件进行测试的最完整的用例集合,在第一次发布待测软件之前,需要执行测试用例集中的每个测试用例,以保证待测软件的功能。在对新版待测软件进行测试时,由于新版待测软件与旧版待测软件相比,往往只是修改了部分源码,因此不需要执行测试用例集中的每个测试用例。
可以根据代码行与测试用例的关联关系,依次判断存在差异的目标代码行中每行代码行所属的测试用例,将该测试用例作为目标测试用例。其中,代码行与测试用例的关联关系,是由客户端发送给服务端的,客户端上安装有旧版待测软件,并通过动态字节码监听在旧版待测软件上执行测试用例集中的每个测试用例的执行过程,从而确定每个测试用例对应的代码行,每个测试用例对应的代码行可以包括一行或多行代码行。其中,客户端可以是一个或多个,例如可以将测试用例集中的测试用例分配给多个客户端,每个客户端上都设置有动态字节码,能够监听在旧版待测软件上执行测试用例的执行过程。
需要说明的是,客户端将预设的动态字节码注入旧版待测软件的源码中,以实现动态字节码对旧版待测软件中每个测试用例的执行过程的监听。动态字节码可以通过监听JVM(英文:Java Virtual Machine,中文:Java虚拟机)的运行,来监听每个测试用例的执行过程。例如,可以利用javaagent与javassist技术在旧版待测软件的源码中注入动态字节码,这样,就可以通过动态字节码对旧版待测软件中每个测试用例的执行过程进行监听,确定每个测试用例对应的代码行,从而确定代码行与测试用例之间的关联关系。在得到代码行与测试用例之间的关联关系后,客户端可以通过socket通信的方式将关联关系发送给服务端,服务端在接收到关联关系后,可以先将其存储起来(例如存储至预先部署在服务端上的数据库中),以便于服务端在确定目标代码行后,能够根据预先存储的关联关系,在预设的测试用例集中确定与目标代码行对应的目标测试用例。
步骤103,输出目标测试用例,以使用户根据目标测试用例对新版待测软件进行测试。
举例来说,在确定目标测试用例以后,由服务端输出目标测试用例,以供用户选择,例如用户可以直接选择全部的目标测试用例对新版待测软件进行测试,也可以根据不同的测试需求,从目标测试用例中选择符合测试需求的测试用例对新版待测软件进行测试。输出目标测试用例的方式,例如可以是通过服务端将目标测试用例直接发送至客户端进行显示,也可以是将目标测试用例存储至服务端,在用户需要测试新版待测软件时进行查看,例如用户可以通过登录浏览器等方式查看服务端存储的目标测试用例。其中,目标测试用例可以是一个,也可以是多个。
综上所述,本公开中服务端首先将新版待测软件的源码和旧版待测软件的源码进行静态比对,以获取存在差异的目标代码行,然后根据代码行与测试用例的关联关系,在预设的测试用例集中确定与目标代码行对应的目标测试用例,其中关联关系为客户端通过预设的动态字节码,监听旧版待测软件执行测试用例集中的每个测试用例而确定,并由客户端发送至服务端的关系,最后服务端输出目标测试用例,以使用户根据目标测试用例对新版待测软件进行测试。本公开通过静态比对,得到存在差异的目标代码行,再根据目标代码行与测试用例的关联关系,确定目标测试用例,以便用户根据目标测试用例进行测试,准确度高,能够避免出现重测和漏测,提高了软件测试的效率和可靠性。
图2是根据一示例性实施例示出的另一种软件测试的方法的流程图,如图2所示,在步骤101之前,该方法还包括:
步骤104,获取新版待测软件的第一标识和旧版待测软件的第二标识。
步骤105,根据第一标识和第二标识,确定新版待测软件的源码,和旧版待测软件的源码。
举例来说,每个版本的待测软件都具有唯一能够标识该版本的标识,可以根据不同的标识来确定不同版本的待测软件,从而确定不同版本的待测软件对应的源码。标识可以由数字、字母等符号组成,用以表示待测软件的出版厂家、发布日期、版本号等。在对新版待测软件的源码和旧版待测软件的源码进行静态比对之前,服务端首先分别获取新版待测软件的第一标识和旧版待测软件的第二标识,然后根据获取的第一标识和第二标识,分别确定新版待测软件的源码,和旧版待测软件的源码。新版待测软件的源码和旧版待测软件的源码可以预先存储在服务端上的数据库中,也可以存储在服务端能够通过网络访问的其他终端设备中。
图3是根据一示例性实施例示出的另一种软件测试的方法的流程图,如图3所示,该方法还包括:
步骤106,向客户端发送用例录制信号,以使客户端响应于用例录制信号,在旧版待测软件上执行每个测试用例,并使客户端通过动态字节码监听每个测试用例的执行过程,从而确定每个测试用例对应的代码行。
步骤107,接收客户端发送的关联关系,关联关系为客户端根据每个测试用例,和每个测试用例对应的代码行确定的关系。
示例的,服务端可以定期检测是否存储有客户端发送的关联关系,或者检测存储的关联关系是否是最新的关联关系。若没有存储关联关系,或者存储的不是最新的关联关系(例如:测试用例集中增加了新的测试用例,而关联关系中没有包括新的测试用例对应的代码行),那么可以向客户端发送用例录制信号,使得客户端接收到用例录制信号后,在旧版待测软件上执行每个测试用例。客户端通过动态字节码监听每个测试用例的执行过程,从而确定每个测试用例对应的代码行。之后客户端根据每个测试用例,和每个测试用例对应的代码行确定关联关系,再将关联关系发送至服务端。服务端接收关联关系,并将接收到的关联关系进行存储,或者用接收到的关联关系替换原有的关联关系。
图4是根据一示例性实施例示出的另一种软件测试的方法的流程图,如图4所示,在步骤101之后,该方法还包括:
步骤108,根据目标代码行,确定目标代码行在新版待测软件的源码中所在分支的分支信息。
步骤109,输出分支信息。
进一步的,在确定目标代码行之后,还可以确定目标代码行在新版待测软件的源码中所在分支的分支信息。其中,分支信息例如可以包括目标代码行在新版待测软件的源码中所在分支的行号范围。在对目标代码行的分支信息进行确定时,依次判断存在差异的目标代码行中每行代码行是否属于新版待测软件的源码中的分支(例如:if分支、if…else分支、switch分支等),若该代码行属于某个分支,那么将该分支所包含的代码行的行号范围作为分支信息。最后输出分支信息,以供用户参考。例如,用户可以根据分支信息,在步骤102中确定的目标测试用例的基础上,进一步选择能够覆盖分支信息的测试用例,对新版待测软件进行测试。输出分支信息的方式,例如可以是通过服务端将分支信息直接发送至客户端进行显示,也可以是将分支信息存储至服务端,在用户需要测试新版待测软件时进行查看,例如用户可以通过登录浏览器等方式查看服务端存储的分支信息。
综上所述,本公开中服务端首先将新版待测软件的源码和旧版待测软件的源码进行静态比对,以获取存在差异的目标代码行,然后根据代码行与测试用例的关联关系,在预设的测试用例集中确定与目标代码行对应的目标测试用例,其中关联关系为客户端通过预设的动态字节码,监听旧版待测软件执行测试用例集中的每个测试用例而确定,并由客户端发送至服务端的关系,最后服务端输出目标测试用例,以使用户根据目标测试用例对新版待测软件进行测试。本公开通过静态比对,得到存在差异的目标代码行,再根据目标代码行与测试用例的关联关系,确定目标测试用例,以便用户根据目标测试用例进行测试,准确度高,能够避免出现重测和漏测,提高了软件测试的效率和可靠性。
图5是根据一示例性实施例示出的一种软件测试的方法的流程图,如图5所示,该方法应用于客户端,包括以下步骤:
步骤201,将预设的动态字节码注入待测软件的源码。
举例来说,在对新版待测软件测试之前,首先在客户端上预先安装待测软件,然后将预设的动态字节码注入待测软件的源码,其中待测软件为已发布版本的待测软件,即是需要在服务端上进行测试的新版待测软件的之前任一版待测软件。可以利用javaagent与javassist技术在待测软件的源码中注入动态字节码,动态字节码与源码中的各种类是对应的,即在注入动态字节码时,可以预先设置动态字节码关注的类。
步骤202,接收服务端发送的用例录制信号。
步骤203,响应于用例录制信号,在待测软件上执行预设的测试用例集中的每个测试用例,并通过动态字节码监听每个测试用例的执行过程,以确定每个测试用例对应的代码行。
示例的,服务端可以定期检测是否存储有客户端发送的关联关系,或者检测存储的关联关系是否是最新的关联关系。若没有存储关联关系,或者存储的不是最新的关联关系,服务端会向客户端发送用例录制信号。客户端接收用例录制信号后,作为对用例录制信号的响应,开始在待测软件上执行预设的测试用例集中的每个测试用例,并通过步骤201中注入的动态字节码监听每个测试用例的执行过程,以确定每个测试用例对应的代码行,每个测试用例对应的代码行可以包括一行或多行代码行。
步骤204,根据每个测试用例,和每个测试用例对应的代码行确定代码行与测试用例的关联关系,并将关联关系发送至服务端,以使服务端在确定新版待测软件的源码和旧版待测软件的源码中存在差异的目标代码行后,根据关联关系确定与目标代码行对应的目标测试用例。
示例的,在确定了每个测试用例对应的代码行之后,可以确定每个测试用例与代码行之间的关联关系。关联关系例如可以是表格形式,每一行中包含一个测试用例(或者该测试用例的编号),和该测试用例对应的代码行(或者代码行的行号)。之后,客户端将关联关系发送至服务端,服务端在确定新版待测软件的源码和旧版待测软件的源码中存在差异的目标代码行后,根据接收到的关联关系确定与目标代码行对应的目标测试用例。
其中,客户端可以是一个或多个,例如可以通过服务端将测试用例集中的测试用例分为5个子集,将5个子集分别分配给5个客户端,每个客户端上都设置有动态字节码,能够监听在待测软件上执行的5个子集中每一个子集中的测试用例的执行过程。之后每个客户端将对应子集中每个测试用例与代码行的关联关系发送至服务端,由服务端将5个客户端发送的关联关系组合成整个测试用例集对应的关联关系。
图6是根据一示例性实施例示出的另一种软件测试的方法的流程图,如图6所示,步骤201包括:
步骤2011,确定待测软件的源码中需要监控的类作为目标类。
步骤2012,将用于监控目标类的动态字节码注入待测软件的源码。
具体的,动态字节码与源码中的各种类是对应的,而待测软件的源码中包括了大量的类,其中包括实现待测软件的具体功能的类,还可以包括实现中间件方法、平台方法、Java初始化方法等方法的类。在对待测软件进行测试时,通常只关注实现待测软件的具体功能的类,因此可以先在待测软件的源码中确定需要监控的类作为目标类,然后再将用于监控目标类的动态字节码注入待测软件的源码。这样,在步骤203中,动态字节码监听每个测试用例的执行过程时,能够去除中间件方法、平台方法、Java初始化方法等方法中涉及到的类对应的代码行,从而得到与每个测试用例对应的更准确的代码行,进一步提高软件测试的效率和可靠性。
综上所述,本公开中,客户端先将预设的动态字节码注入待测软件的源码,然后接收服务端发送的用例录制信号,之后响应于用例录制信号,在待测软件上执行预设的测试用例集中的每个测试用例,并通过动态字节码监听每个测试用例的执行过程,以确定每个测试用例对应的代码行,最后确定代码行与测试用例的关联关系,并将关联关系发送至服务端,使得服务端在确定新版待测软件的源码和旧版待测软件的源码中存在差异的目标代码行后,根据关联关系确定与目标代码行对应的目标测试用例。本公开通过注入动态字节码来监听测试用例的执行过程,从而确定代码行与测试用例的关联关系,以便服务端确定目标测试用例,从而使用户根据目标测试用例进行测试,准确度高,能够避免出现重测和漏测,提高了软件测试的效率和可靠性。
图7是根据一示例性实施例示出的一种软件测试的装置的框图,如图7所示,该装置300应用于服务端,包括:
对比模块301,用于将新版待测软件的源码和旧版待测软件的源码进行静态比对,以获取存在差异的目标代码行。
第一确定模块302,用于根据代码行与测试用例的关联关系,在预设的测试用例集中确定与目标代码行对应的目标测试用例,关联关系为客户端通过预设的动态字节码,监听旧版待测软件执行测试用例集中的每个测试用例而确定,并由客户端发送至服务端的关系。
输出模块303,用于输出目标测试用例,以使用户根据目标测试用例对新版待测软件进行测试。
图8是根据一示例性实施例示出的另一种软件测试的装置的框图,如图8所示,该装置300还包括:
获取模块304,用于在将新版待测软件的源码和旧版待测软件的源码进行静态比对,以获取存在差异的目标代码行之前,获取新版待测软件的第一标识和旧版待测软件的第二标识。
第二确定模块305,用于根据第一标识和第二标识,确定新版待测软件的源码,和旧版待测软件的源码。
图9是根据一示例性实施例示出的另一种软件测试的装置的框图,如图9所示,该装置300还包括:
发送模块306,用于向客户端发送用例录制信号,以使客户端响应于用例录制信号,在旧版待测软件上执行每个测试用例,并使客户端通过动态字节码监听每个测试用例的执行过程,从而确定每个测试用例对应的代码行。
接收模块307,用于接收客户端发送的关联关系,关联关系为客户端根据每个测试用例,和每个测试用例对应的代码行确定的关系。
图10是根据一示例性实施例示出的另一种软件测试的装置的框图,如图10所示,该装置300还包括:
第三确定模块308,用于在将新版待测软件的源码和旧版待测软件的源码进行静态比对,以获取存在差异的目标代码行之后,根据目标代码行,确定目标代码行在新版待测软件的源码中所在分支的分支信息。
输出模块303,还用于输出分支信息。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
综上所述,本公开中服务端首先将新版待测软件的源码和旧版待测软件的源码进行静态比对,以获取存在差异的目标代码行,然后根据代码行与测试用例的关联关系,在预设的测试用例集中确定与目标代码行对应的目标测试用例,其中关联关系为客户端通过预设的动态字节码,监听旧版待测软件执行测试用例集中的每个测试用例而确定,并由客户端发送至服务端的关系,最后服务端输出目标测试用例,以使用户根据目标测试用例对新版待测软件进行测试。本公开通过静态比对,得到存在差异的目标代码行,再根据目标代码行与测试用例的关联关系,确定目标测试用例,以便用户根据目标测试用例进行测试,准确度高,能够避免出现重测和漏测,提高了软件测试的效率和可靠性。
图11是根据一示例性实施例示出的一种软件测试的装置的框图,如图11所示,该装置400应用于客户端,包括:
注入模块401,用于将预设的动态字节码注入待测软件的源码。
接收模块402,用于接收服务端发送的用例录制信号。
执行模块403,用于响应于用例录制信号,在待测软件上执行预设的测试用例集中的每个测试用例,并通过动态字节码监听每个测试用例的执行过程,以确定每个测试用例对应的代码行。
确定模块404,用于根据每个测试用例,和每个测试用例对应的代码行确定代码行与测试用例的关联关系,并将关联关系发送至服务端。
图12是根据一示例性实施例示出的另一种软件测试的装置的框图,如图12所示,注入模块401包括:
确定子模块4011,用于确定待测软件的源码中需要监控的类作为目标类。
注入子模块4012,用于将用于监控目标类的动态字节码注入待测软件的源码。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
综上所述,本公开中,客户端先将预设的动态字节码注入待测软件的源码,然后接收服务端发送的用例录制信号,之后响应于用例录制信号,在待测软件上执行预设的测试用例集中的每个测试用例,并通过动态字节码监听每个测试用例的执行过程,以确定每个测试用例对应的代码行,最后确定代码行与测试用例的关联关系,并将关联关系发送至服务端,使得服务端在确定新版待测软件的源码和旧版待测软件的源码中存在差异的目标代码行后,根据关联关系确定与目标代码行对应的目标测试用例。本公开通过注入动态字节码来监听测试用例的执行过程,从而确定代码行与测试用例的关联关系,以便服务端确定目标测试用例,从而使用户根据目标测试用例进行测试,准确度高,能够避免出现重测和漏测,提高了软件测试的效率和可靠性。
图13是根据一示例性实施例示出的一种软件测试的系统的框图,如图13所示,该系统500包括服务端501和客户端502。
服务端501用于执行上述实施例中应用于服务端的软件测试的方法的步骤。
客户端502用于执行上述实施例中应用于客户端的软件测试的方法的步骤。
关于上述实施例中的系统,其中各个部分执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
综上所述,本公开中,客户端先将预设的动态字节码注入待测软件的源码,然后接收服务端发送的用例录制信号,之后响应于用例录制信号,在待测软件上执行预设的测试用例集中的每个测试用例,并通过动态字节码监听每个测试用例的执行过程,以确定每个测试用例对应的代码行,最后确定代码行与测试用例的关联关系,并将关联关系发送至服务端。服务端接收客户端发送的关联关系后,首先将新版待测软件的源码和旧版待测软件的源码进行静态比对,以获取存在差异的目标代码行,然后根据客户端发送的代码行与测试用例的关联关系,在预设的测试用例集中确定与目标代码行对应的目标测试用例,最后服务端输出目标测试用例,以使用户根据目标测试用例对新版待测软件进行测试。本公开中客户端通过注入动态字节码来监听测试用例的执行过程,从而确定代码行与测试用例的关联关系,并将关联关系发送至服务端,服务端接收关联关系后,首先通过静态比对,得到存在差异的目标代码行,再根据目标代码行与测试用例的关联关系,确定目标测试用例,以便用户根据目标测试用例进行测试,准确度高,能够避免出现重测和漏测,提高了软件测试的效率和可靠性。
图14是根据一示例性实施例示出的一种电子设备600的框图。如图14所示,该电子设备600可以包括:处理器601,存储器602。该电子设备600还可以包括多媒体组件603,输入/输出(I/O)接口604,以及通信组件605中的一者或多者。
其中,处理器601用于控制该电子设备600的整体操作,以完成上述的应用于客户端的软件测试的方法中的全部或部分步骤。存储器602用于存储各种类型的数据以支持在该电子设备600的操作,这些数据例如可以包括用于在该电子设备600上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器602可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,简称EPROM),可编程只读存储器(Programmable Read-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。多媒体组件603可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器602或通过通信组件605发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口604为处理器601和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件605用于该电子设备600与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near FieldCommunication,简称NFC),2G、3G、4G、NB-IOT、eMTC、或其他5G等等,或它们中的一种或几种的组合,在此不做限定。因此相应的该通信组件605可以包括:Wi-Fi模块,蓝牙模块,NFC模块等等。
在一示例性实施例中,电子设备600可以被一个或多个应用专用集成电路(Application Specific Integrated Circuit,简称ASIC)、数字信号处理器(DigitalSignal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field Programmable Gate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的应用于客户端的软件测试的方法。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的应用于客户端的软件测试的方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器602,上述程序指令可由电子设备600的处理器601执行以完成上述的应用于客户端的软件测试的方法。
综上所述,本公开中,客户端先将预设的动态字节码注入待测软件的源码,然后接收服务端发送的用例录制信号,之后响应于用例录制信号,在待测软件上执行预设的测试用例集中的每个测试用例,并通过动态字节码监听每个测试用例的执行过程,以确定每个测试用例对应的代码行,最后确定代码行与测试用例的关联关系,并将关联关系发送至服务端,使得服务端在确定新版待测软件的源码和旧版待测软件的源码中存在差异的目标代码行后,根据关联关系确定与目标代码行对应的目标测试用例。本公开通过注入动态字节码来监听测试用例的执行过程,从而确定代码行与测试用例的关联关系,以便服务端确定目标测试用例,从而使用户根据目标测试用例进行测试,准确度高,能够避免出现重测和漏测,提高了软件测试的效率和可靠性。
图15是根据一示例性实施例示出的一种电子设备700的框图。例如,电子设备700可以被提供为一服务器。参照图15,电子设备700包括处理器722,其数量可以为一个或多个,以及存储器732,用于存储可由处理器722执行的计算机程序。存储器732中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器722可以被配置为执行该计算机程序,以执行上述的应用于服务端的软件测试的方法。
另外,电子设备700还可以包括电源组件726和通信组件750,该电源组件726可以被配置为执行电子设备700的电源管理,该通信组件750可以被配置为实现电子设备700的通信,例如,有线或无线通信。此外,该电子设备700还可以包括输入/输出(I/O)接口758。电子设备700可以操作基于存储在存储器732的操作系统,例如Windows ServerTM,Mac OSXTM,UnixTM,LinuxTM等等。
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的应用于服务端的软件测试的方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器732,上述程序指令可由电子设备700的处理器722执行以完成上述的应用于服务端的软件测试的方法。
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的应用于服务端的软件测试的方法的代码部分。
综上所述,本公开中服务端首先将新版待测软件的源码和旧版待测软件的源码进行静态比对,以获取存在差异的目标代码行,然后根据代码行与测试用例的关联关系,在预设的测试用例集中确定与目标代码行对应的目标测试用例,其中关联关系为客户端通过预设的动态字节码,监听旧版待测软件执行测试用例集中的每个测试用例而确定,并由客户端发送至服务端的关系,最后服务端输出目标测试用例,以使用户根据目标测试用例对新版待测软件进行测试。本公开通过静态比对,得到存在差异的目标代码行,再根据目标代码行与测试用例的关联关系,确定目标测试用例,以便用户根据目标测试用例进行测试,准确度高,能够避免出现重测和漏测,提高了软件测试的效率和可靠性。
以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,本领域技术人员在考虑说明书及实践本公开后,容易想到本公开的其他实施方案,均属于本公开的保护范围。
另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
Claims (11)
1.一种软件测试的方法,其特征在于,应用于服务端,所述方法包括:
将新版待测软件的源码和旧版待测软件的源码进行静态比对,以获取存在差异的目标代码行;
根据代码行与测试用例的关联关系,在预设的测试用例集中确定与所述目标代码行对应的目标测试用例,所述关联关系为客户端通过预设的动态字节码,监听所述旧版待测软件执行所述测试用例集中的每个测试用例而确定,并由所述客户端发送至所述服务端的关系;
输出所述目标测试用例,以使用户根据所述目标测试用例对所述新版待测软件进行测试。
2.根据权利要求1所述的方法,其特征在于,在所述将新版待测软件的源码和旧版待测软件的源码进行静态比对,以获取存在差异的目标代码行之前,所述方法还包括:
获取所述新版待测软件的第一标识和所述旧版待测软件的第二标识;
根据所述第一标识和所述第二标识,确定所述新版待测软件的源码,和所述旧版待测软件的源码。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
向所述客户端发送用例录制信号,以使所述客户端响应于所述用例录制信号,在所述旧版待测软件上执行每个所述测试用例,并使所述客户端通过所述动态字节码监听每个所述测试用例的执行过程,从而确定每个所述测试用例对应的代码行;
接收所述客户端发送的所述关联关系,所述关联关系为所述客户端根据每个所述测试用例,和每个所述测试用例对应的代码行确定的关系。
4.根据权利要求1-3中任一项所述的方法,其特征在于,在所述将新版待测软件的源码和旧版待测软件的源码进行静态比对,以获取存在差异的目标代码行之后,所述方法还包括:
根据所述目标代码行,确定所述目标代码行在所述新版待测软件的源码中所在分支的分支信息;
输出所述分支信息。
5.一种软件测试的方法,其特征在于,应用于客户端,所述方法包括:
将预设的动态字节码注入待测软件的源码;
接收服务端发送的用例录制信号;
响应于所述用例录制信号,在所述待测软件上执行预设的测试用例集中的每个测试用例,并通过所述动态字节码监听每个所述测试用例的执行过程,以确定每个所述测试用例对应的代码行;
根据每个所述测试用例,和每个所述测试用例对应的代码行确定代码行与测试用例的关联关系,并将所述关联关系发送至所述服务端,以使所述服务端在确定新版待测软件的源码和旧版待测软件的源码中存在差异的目标代码行后,根据所述关联关系确定与所述目标代码行对应的目标测试用例。
6.根据权利要求5所述的方法,其特征在于,所述将预设的动态字节码注入待测软件的源码,包括:
确定所述待测软件的源码中需要监控的类作为目标类;
将用于监控所述目标类的所述动态字节码注入所述待测软件的源码。
7.一种软件测试的装置,其特征在于,应用于服务端,所述装置包括:
对比模块,用于将新版待测软件的源码和旧版待测软件的源码进行静态比对,以获取存在差异的目标代码行;
第一确定模块,用于根据代码行与测试用例的关联关系,在预设的测试用例集中确定与所述目标代码行对应的目标测试用例,所述关联关系为客户端通过预设的动态字节码,监听所述旧版待测软件执行所述测试用例集中的每个测试用例而确定,并由所述客户端发送至所述服务端的关系;
输出模块,用于输出所述目标测试用例,以使用户根据所述目标测试用例对所述新版待测软件进行测试。
8.一种软件测试的装置,其特征在于,应用于客户端,所述装置包括:
注入模块,用于将预设的动态字节码注入待测软件的源码;
接收模块,用于接收服务端发送的用例录制信号;
执行模块,用于响应于所述用例录制信号,在所述待测软件上执行预设的测试用例集中的每个测试用例,并通过所述动态字节码监听每个所述测试用例的执行过程,以确定每个所述测试用例对应的代码行;
确定模块,用于根据每个所述测试用例,和每个所述测试用例对应的代码行确定代码行与测试用例的关联关系,并将所述关联关系发送至所述服务端。
9.一种软件测试的系统,其特征在于,所述系统包括服务端和客户端;
所述服务端用于执行权利要求1-4中任一项所述方法的步骤;
所述客户端用于执行权利要求5或6所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1-4或5-6中任一项所述方法的步骤。
11.一种电子设备,其特征在于,包括:
存储器,其上存储有计算机程序;
处理器,用于执行所述存储器中的所述计算机程序,以实现权利要求1-4或5-6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911040158.0A CN110928770B (zh) | 2019-10-29 | 2019-10-29 | 软件测试的方法、装置、系统、存储介质和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911040158.0A CN110928770B (zh) | 2019-10-29 | 2019-10-29 | 软件测试的方法、装置、系统、存储介质和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110928770A true CN110928770A (zh) | 2020-03-27 |
CN110928770B CN110928770B (zh) | 2023-11-28 |
Family
ID=69849778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911040158.0A Active CN110928770B (zh) | 2019-10-29 | 2019-10-29 | 软件测试的方法、装置、系统、存储介质和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110928770B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112597050A (zh) * | 2020-12-28 | 2021-04-02 | 上海品顺信息科技有限公司 | 关联源码与测试用例的测试方法、系统、设备及存储介质 |
CN113127357A (zh) * | 2021-04-21 | 2021-07-16 | 北京百度网讯科技有限公司 | 单元测试方法、装置、设备、存储介质及程序产品 |
CN113568839A (zh) * | 2021-08-03 | 2021-10-29 | 京东科技控股股份有限公司 | 软件测试和统计测试覆盖率的方法、装置、设备及介质 |
CN113704112A (zh) * | 2021-08-30 | 2021-11-26 | 浙江网商银行股份有限公司 | 数据处理方法及系统 |
CN113778849A (zh) * | 2021-03-15 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 用于测试代码的方法、装置、设备以及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020129338A1 (en) * | 2001-03-07 | 2002-09-12 | Macdonell Kevin | Method and system for on-line submission and debug of software code for a portable computer system or electronic device |
CN103198010A (zh) * | 2012-01-06 | 2013-07-10 | 腾讯科技(深圳)有限公司 | 软件测试方法、装置及系统 |
CN103425584A (zh) * | 2013-08-27 | 2013-12-04 | 上海复深蓝信息技术有限公司 | 基于Java字节码的大型应用回归测试信息处理方法 |
US20150161031A1 (en) * | 2013-12-06 | 2015-06-11 | Testfire, Inc. | Embedded test management for mobile applications |
CN105302710A (zh) * | 2014-07-03 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 一种确定需要回归测试的测试用例的方法和装置 |
US20160162386A1 (en) * | 2014-12-04 | 2016-06-09 | Hcl Technologies Ltd. | Code change analysis to optimize testing lifecycle |
CN106201857A (zh) * | 2015-05-05 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 测试用例的选取方法及装置 |
CN106547678A (zh) * | 2015-09-16 | 2017-03-29 | 伊姆西公司 | 用于白盒测试的方法和装置 |
CN106775911A (zh) * | 2016-11-25 | 2017-05-31 | 努比亚技术有限公司 | 一种用于应用开发的测试方法及装置 |
CN107423214A (zh) * | 2017-04-18 | 2017-12-01 | 恒生电子股份有限公司 | 软件回归测试用例获取方法、装置及存储介质和电子设备 |
CN107515826A (zh) * | 2017-08-28 | 2017-12-26 | 广州阿里巴巴文学信息技术有限公司 | 测试用例精准推荐方法、装置、系统、设备及存储介质 |
CN108628746A (zh) * | 2018-05-04 | 2018-10-09 | 艺龙网信息技术(北京)有限公司 | 接口自动化测试方法与系统 |
CN108664372A (zh) * | 2018-05-08 | 2018-10-16 | 平安科技(深圳)有限公司 | 测试过程的监控装置、方法及计算机可读存储介质 |
CN110109820A (zh) * | 2019-03-19 | 2019-08-09 | 深圳壹账通智能科技有限公司 | 回归测试用例确定方法、装置、计算机设备及存储介质 |
-
2019
- 2019-10-29 CN CN201911040158.0A patent/CN110928770B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020129338A1 (en) * | 2001-03-07 | 2002-09-12 | Macdonell Kevin | Method and system for on-line submission and debug of software code for a portable computer system or electronic device |
CN103198010A (zh) * | 2012-01-06 | 2013-07-10 | 腾讯科技(深圳)有限公司 | 软件测试方法、装置及系统 |
CN103425584A (zh) * | 2013-08-27 | 2013-12-04 | 上海复深蓝信息技术有限公司 | 基于Java字节码的大型应用回归测试信息处理方法 |
US20150161031A1 (en) * | 2013-12-06 | 2015-06-11 | Testfire, Inc. | Embedded test management for mobile applications |
CN105302710A (zh) * | 2014-07-03 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 一种确定需要回归测试的测试用例的方法和装置 |
US20160162386A1 (en) * | 2014-12-04 | 2016-06-09 | Hcl Technologies Ltd. | Code change analysis to optimize testing lifecycle |
CN106201857A (zh) * | 2015-05-05 | 2016-12-07 | 阿里巴巴集团控股有限公司 | 测试用例的选取方法及装置 |
CN106547678A (zh) * | 2015-09-16 | 2017-03-29 | 伊姆西公司 | 用于白盒测试的方法和装置 |
CN106775911A (zh) * | 2016-11-25 | 2017-05-31 | 努比亚技术有限公司 | 一种用于应用开发的测试方法及装置 |
CN107423214A (zh) * | 2017-04-18 | 2017-12-01 | 恒生电子股份有限公司 | 软件回归测试用例获取方法、装置及存储介质和电子设备 |
CN107515826A (zh) * | 2017-08-28 | 2017-12-26 | 广州阿里巴巴文学信息技术有限公司 | 测试用例精准推荐方法、装置、系统、设备及存储介质 |
CN108628746A (zh) * | 2018-05-04 | 2018-10-09 | 艺龙网信息技术(北京)有限公司 | 接口自动化测试方法与系统 |
CN108664372A (zh) * | 2018-05-08 | 2018-10-16 | 平安科技(深圳)有限公司 | 测试过程的监控装置、方法及计算机可读存储介质 |
CN110109820A (zh) * | 2019-03-19 | 2019-08-09 | 深圳壹账通智能科技有限公司 | 回归测试用例确定方法、装置、计算机设备及存储介质 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112597050A (zh) * | 2020-12-28 | 2021-04-02 | 上海品顺信息科技有限公司 | 关联源码与测试用例的测试方法、系统、设备及存储介质 |
CN113778849A (zh) * | 2021-03-15 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 用于测试代码的方法、装置、设备以及存储介质 |
CN113127357A (zh) * | 2021-04-21 | 2021-07-16 | 北京百度网讯科技有限公司 | 单元测试方法、装置、设备、存储介质及程序产品 |
CN113127357B (zh) * | 2021-04-21 | 2023-10-03 | 北京百度网讯科技有限公司 | 单元测试方法、装置、设备、存储介质及程序产品 |
CN113568839A (zh) * | 2021-08-03 | 2021-10-29 | 京东科技控股股份有限公司 | 软件测试和统计测试覆盖率的方法、装置、设备及介质 |
CN113704112A (zh) * | 2021-08-30 | 2021-11-26 | 浙江网商银行股份有限公司 | 数据处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110928770B (zh) | 2023-11-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110928770B (zh) | 软件测试的方法、装置、系统、存储介质和电子设备 | |
US10671367B2 (en) | System and method for analyzing user experience of a software application across disparate devices | |
CN106294102B (zh) | 应用程序的测试方法、客户端、服务器及系统 | |
US20190087310A1 (en) | Mobile application program testing method, server, terminal, and storage medium | |
CN110320378B (zh) | 质控测试申请方法、装置、设备及计算机可读存储介质 | |
CN108228444B (zh) | 一种测试方法和装置 | |
CN105389177A (zh) | 一种软件版本确认方法、装置及系统 | |
CN113485918B (zh) | 一种测试方法、装置、电子设备及存储介质 | |
CN109683997B (zh) | 通过沙箱访问应用程序接口的方法、沙箱及沙箱设备 | |
CN113672441B (zh) | 对智能设备的测试方法及装置 | |
CN111694582B (zh) | 应用程序资源包的处理方法、装置、设备及可读存储介质 | |
JP2021192214A (ja) | アプリケーションの動作状態を検証する方法および装置 | |
CN109218041B (zh) | 用于服务器系统的请求处理方法和装置 | |
CN111221727A (zh) | 测试方法、装置、电子设备和计算机可读介质 | |
CN110221857A (zh) | 应用程序的问题修复方法、装置、电子设备及存储介质 | |
CN111654495B (zh) | 用于确定流量产生来源的方法、装置、设备及存储介质 | |
CN109684112B (zh) | 程序文件运行方法、装置、终端及存储介质 | |
CN107577600A (zh) | 一种设备的测试方法、装置和计算机设备 | |
CN108647139B (zh) | 系统的测试方法、装置、存储介质及电子装置 | |
CN103838651A (zh) | 主板功能测试管控系统及方法 | |
CN111124627B (zh) | 应用程序的调起者确定方法、装置、终端及存储介质 | |
CN116126687A (zh) | 接口模拟方法、装置、电子设备及存储介质 | |
CN111585844B (zh) | 基于验证码的测试方法、系统、服务器及存储介质 | |
CN108287792B (zh) | 用于输出信息的方法和装置 | |
CN112306858A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |