CN112988552B - 应用程序测试方法、装置、设备及存储介质 - Google Patents
应用程序测试方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112988552B CN112988552B CN201911272934.XA CN201911272934A CN112988552B CN 112988552 B CN112988552 B CN 112988552B CN 201911272934 A CN201911272934 A CN 201911272934A CN 112988552 B CN112988552 B CN 112988552B
- Authority
- CN
- China
- Prior art keywords
- data
- application program
- operation data
- segment
- instruction
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/219—Managing data history or versioning
-
- 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)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例公开了一种应用程序测试方法、装置、设备及存储介质,属于计算机技术领域。方法包括:获取第一应用程序的历史运行数据,历史运行数据包括第一应用程序在历史运行过程中的多组状态数据和指令集合,每组指令集合包括在状态数据指示的状态下执行的至少一条指令;获取切割信息,切割信息指示第一应用程序中待测试的目标片段;根据切割信息对历史运行数据进行切割处理,得到片段运行数据,片段运行数据包括目标片段的多组状态数据和指令集合;基于片段运行数据,对目标片段进行测试,减少了测试需要运行的数据,从而减少了测试时间、加快了测试速度、提高了测试效率。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种应用程序测试方法、装置、设备及存储介质。
背景技术
随着计算机技术的发展,多种应用程序逐渐兴起,如游戏应用程序、社交应用程序、信息分享应用程序等。为了确保应用程序的性能良好,及时发现应用程序中存在的缺陷,需要对应用程序进行测试。
目前,对应用程序进行测试可以包括:获取应用程序的历史运行数据,该历史运行数据包括应用程序的多组指令集合;基于该历史运行数据,对该应用程序进行测试,在测试过程中,需要重新执行历史运行数据中的每组指令集合,因此,该测试过程较长,测试效率较低。
发明内容
本申请实施例提供了一种应用程序测试方法、装置、设备及存储介质,解决了相关技术存在的测试效率较低的问题。所述技术方案如下:
一方面,提供了一种应用程序测试方法,所述方法包括:
获取第一应用程序的历史运行数据,所述历史运行数据包括所述第一应用程序在历史运行过程中的多组状态数据和指令集合,每组指令集合包括在所述状态数据指示的状态下执行的至少一条指令;
获取切割信息,所述切割信息指示所述第一应用程序中待测试的目标片段;
根据所述切割信息对所述历史运行数据进行切割处理,得到片段运行数据,所述片段运行数据包括所述目标片段的多组状态数据和指令集合;
基于所述片段运行数据,对所述目标片段进行测试。
一方面,提供了一种应用程序测试装置,所述装置包括:
数据获取模块,用于取第一应用程序的历史运行数据,所述历史运行数据包括所述第一应用程序在历史运行过程中的多组状态数据和指令集合,每组指令集合包括在所述状态数据指示的状态下执行的至少一条指令;
切割信息获取模块,用于获取切割信息,所述切割信息指示所述第一应用程序中待测试的目标片段;
切割模块,用于根据所述切割信息对所述历史运行数据进行切割处理,得到片段运行数据,所述片段运行数据包括所述目标片段的多组状态数据和指令集合;
测试模块,用于基于所述片段运行数据,对所述目标片段进行测试。
在一种可能实现方式中,所述切割信息指示所述目标片段的起始时间和终止时间;所述切割模块,包括:
第一确定单元,用于根据所述切割信息,确定所述目标片段的起始时间和终止时间;
第一获取单元,用于从所述历史运行数据中,获取位于所述起始时间至所述终止时间的时间段内的多组状态数据和指令集合;
组成单元,用于将获取的多组状态数据和指令集合,组成片段运行数据。
在一种可能实现方式中,所述切割信息包括起始时间和终止时间;或者,所述切割信息包括起始时间和所述目标片段的持续时长。
在一种可能实现方式中,所述切割信息包括测试虚拟对象标识,所述第一应用程序中包括至少一个虚拟对象,指令集合包括对任一虚拟对象触发的指令;所述切割模块,包括:
筛选单元,用于根据所述测试虚拟对象标识,从所述历史运行数据的多组指令集合中筛选出与所述虚拟对象对应的指令集合;
组成单元,用于将筛选出的多组指令集合与所述多组指令集合对应的状态数据,组成所述片段运行数据。
在一种可能实现方式中,所述切割模块,包括:
组成单元,用于将所述目标片段的多组指令集合和所述目标片段的起始时间的状态数据组成所述片段运行数据。
在一种可能实现方式中,组成单元,还用于将所述状态数据转换为与所述指令集合相同的数据格式。
在一种可能实现方式中,所述切割模块,用于根据所述切割信息对所述历史运行数据进行切割处理,得到第一片段运行数据;
所述切割模块,还用于将所述第一片段运行数据的数据格式转换为第二应用程序支持的数据格式,得到第二片段运行数据,所述第二应用程序与所述第一应用程序为同一应用程序的不同版本;
所述测试模块,用于在所述第二应用程序中,基于所述第二片段运行数据,对所述目标片段进行测试。
在一种可能实现方式中,所述切割信息包括测试虚拟对象标识,所述切割模块,用于根据所述切割信息对所述历史运行数据进行切割处理,得到第三片段运行数据;获取所述第一应用程序的初始场景数据,所述初始场景数据包括至少一个虚拟对象的初始状态数据;根据所述测试虚拟对象标识,对所述初始场景数据进行切割处理,得到测试虚拟对象的目标场景数据;将所述目标场景数据与所述第三片段运行数据组成第四片段运行数据。
在一种可能实现方式中,所述装置还包括:
所述数据获取模块,用于获取所述第一应用程序在所述历史运行过程中采集的多组指令集合;
采集模块,用于在所述第一应用程序中,依次执行每组指令集合中的指令,并依次采集所述每组指令集合对应的状态数据;
构成模块,用于将采集到的所述每组状态数据和指令集合构成所述历史运行数据,多组状态数据和所述多组指令集合按照在所述历史运行过程中的时间依次排列。
在一种可能实现方式中,所述装置还包括:
接收模块,用于每隔预设时长,接收服务器下发的指令集合;
运行模块,用于运行所述指令集合中的每条指令,将所述指令集合与顺序标识对应存储,所述顺序标识指示运行所述指令集合的顺序。
再一方面,提供了一种计算机设备,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行上述方面所述的应用程序测试方法中所执行的操作。
再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如所述的应用程序测试方法中所执行的操作。
本申请实施例提供的技术方案带来的有益效果至少包括:
本申请实施例提供的应用程序测试方法、装置、设备及存储介质,通过获取第一应用程序的历史运行数据,根据切割信息,对历史运行数据进行切割,得到目标片段的片段运行数据;基于片段运行数据,对目标片段进行测试,减少了测试过程需要运行的数据,且测试人员在对应用程序进行测试时,可能仅是根据应用程序的历史运行过程的一个片段来获取测试结果,因此基于完整的历史运行数据,对第一应用程序进行测试会导致执行较多的无用指令集合,还会消耗较长的时间。而将需要进行测试的目标片段的片段运行数据从历史运行数据中切割出来,基于片段运行数据,对目标片段进行测试,减少了需要运行的无用指令集合,从而缩短了测试时间,加快了测试速度,提高了测试效率,同时也提高了测试的精准度。
应用程序的历史运行过程中可以包括多个待测试的片段,一旦第二应用程序中某些功能发生变化时,会导致测试过程中无法还原第一应用程序的历史运行过程,从而导致多个待测试片段无法测试,需要对第二应用程序的运行过程进行录制。而本申请实施例提供的应用程序测试方法,是根据目标片段的片段运行数据进行测试的,而片段运行数据中不仅包括多组指令集合,还包括多组指令集合对应的状态数据,每组指令集合中的指令是在其对应的状态数据指示的状态下执行的,使得在运行片段运行数据时,能先还原目标片段起始时间的状态,若该目标片段未涉及被改变的功能时,也不会影响测试结果。
并且,由于将目标片段的起始时间的状态数据和目标片段的多组指令集合组成片段运行数据,保证了回放过程与历史运行过程的一致性,从而使得测试结果更加准确,解耦了片段与片段之间的联系,每个待测试的目标片段彼此独立,互不影响。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通测试人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种实施环境的示意图;
图2是本申请实施例提供的一种应用程序测试方法的流程图;
图3是本申请实施例提供的一种应用程序测试方法的流程图;
图4是本申请实施例提供的一种获取片段运行数据方法的流程图;
图5是本申请实施例提供的一种获取指令集合方法的流程图;
图6是本申请实施例提供的一种切割设置界面的示意图;
图7是本申请实施例提供的一种获取片段运行数据方法的流程图;
图8是本申请实施例提供的一种获取片段运行数据方法的流程图;
图9是本申请实施例提供的一种获取片段运行数据方法的流程图;
图10是本申请实施例提供的一种应用程序测试装置的结构示意图;
图11是本申请实施例提供的一种应用程序测试装置的结构示意图;
图12是本申请实施例提供的一种终端的结构框图;
图13是本申请实施例提供的一种服务器的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
可以理解,本申请所使用的术语“第一”、“第二”等可在本文中用于描述各种概念,但除非特别说明,这些概念不受这些术语限制。这些术语仅用于将一个概念与另一个概念区分。举例来说,在不脱离本申请的范围的情况下,可以将第一片段运行数据称为第二片段运行数据,且类似地,可将第二片段运行数据称为第一片段运行数据。
本申请实施例提供的应用程序测试方法可以应用于计算机设备中,在一种可能实现方式中,该计算机设备可以为手机、电脑、平板电脑等终端。终端可以获取第一应用程序的历史运行数据,根据切割信息,对历史运行数据进行切割处理,得到片段运行数据,基于该片段运行数据,对目标片段进行测试。
在一种可能实现方式中,终端可以在第一应用程序的运行过程中,将该第一应用程序的运行数据保存在本地,作为历史运行数据。终端获取第一应用程序的历史运行数据,可以包括:从本地获取第一应用程序的历史运行数据。
在另一种可能实现方式中,终端获取第一应用程序的历史运行数据,可以包括:从服务器中获取第一应用程序的历史运行数据。
其中,服务器可以存储有第一应用程序的历史运行数据,该历史运行数据可以是服务器向运行第一应用程序的终端发送的数据,例如,服务器将下发给终端的数据进行保存,得到历史运行数据。该历史运行数据还可以是安装有第一应用程序的终端上传至服务器中的,本申请实施例对于历史运行数据的来源不做限定。
图1是本申请实施例提供的一种实施环境的示意图,参见图1,该实施环境包括:第一终端101和服务器102,第一终端101和服务器102通过网络连接。
其中,第一终端101可以为手机、电脑、平板电脑等安装有第一应用程序的终端,该服务器102可以是一台服务器,也可以是若干台服务器组成的服务器集群,或者是一个云计算服务中心。
另外,终端基于片段运行数据,对目标片段进行测试时,可以在第二应用程序中,对目标片段进行测试,其中,第二应用程序为第一应用程序的更新版本,这样在应用程序的版本升级之后,还可以基于更新前的应用程序版本产生的历史运行数据进行测试。另外,还可以将目标片段在第二应用程序中的测试结果与该目标片段在第一应用程序中的测试结果进行比较,根据比较结果,确定是否对第二应用程序进行改进。
该实施环境还可以包括:第二终端103。
该第二终端103可以为手机、电脑、平板电脑等安装有第二应用程序的终端,第二终端103可以获取目标片段的片段运行数据,在第二应用程序中,基于片段运行数据,对目标片段进行测试。
本申请实施例提供的方法可以应用于对应用程序进行测试的场景下。
例如,应用程序的功能测试:
一个应用程序可以为用户提供多种功能,测试人员可以对应用程序的任一功能进行测试,采用本申请实施例提供的应用程序测试方法,在获取到该应用程序的历史运行数据之后,获取与该功能匹配的切割信息,根据该切割信息对历史运行数据进行切割处理,得到片段运行数据,该片段运行数据为历史运行数据中与该功能相关的数据;根据该片段运行数据,对目标片段进行测试,根据测试结果确定是否对该功能进行改进。通过将历史运行数据中与该功能相关的数据筛选出来,使用筛选出的数据进行测试,减少了测试使用的数据,因此加快了测试速度,提高了测试效率。
例如,应用程序的虚拟对象的性能测试:
应用程序中可以包括至少一个虚拟对象,可以对应用程序中的虚拟对象的性能进行测试,采用本申请实施例提供的应用程序测试方法,在获取到该应用程序的历史运行数据之后,获取与该虚拟对象匹配的切割信息,根据该切割信息对历史运行数据进行切割处理,得到片段运行数据,该片段运行数据为历史运行数据中与该虚拟对象相关的数据;根据该片段运行数据,对目标片段进行测试,根据测试结果确定是否调整虚拟对象的性能参数,通过将历史运行数据中与该虚拟对象相关的数据筛选出来,使用筛选出的数据进行测试,减少了测试使用的数据,因此,加快了测试速度,提高了测试效率。
本申请实施例提供的应用程序测试方法可以应用于对升级后的应用程序进行测试的场景,本申请实施例对此不做限定。
图2是本申请实施例提供的一种应用程序测试方法的流程图,执行主体可以为终端。参见图2,该方法包括:
201、获取第一应用程序的历史运行数据,该历史运行数据包括该第一应用程序在历史运行过程中的多组状态数据和指令集合,每组指令集合包括在该状态数据指示的状态下执行的至少一条指令。
其中,第一应用程序可以为被测试的应用程序或者与被测试的应用程序相关的应用程序,其中,与被测试的应用程序相关的应用程序可以是与被测试的应用程序版本不同的应用程序。第一应用程序可以为即时通信类应用程序、电子支付类应用程序、游戏类应用程序等任一应用程序,本申请实施例对第一应用程序不做限定。
第一应用程序在运行过程中,第一应用程序会执行用户触发的指令,并且执行该指令还会导致第一应用程序的状态发生变化,因此,获取第一应用程序的历史运行数据可以包括:获取第一应用程序在历史运行过程中的多组状态数据和指令集合。其中,每组指令集合包括在该状态数据指示的状态下执行的至少一条指令。
例如,第一应用程序可以提供有至少一个虚拟对象,第一应用程序的状态数据可以包括至少一个虚拟对象的状态数据,指令集合可以包括对该至少一个虚拟对象执行的至少一条指令。
202、获取切割信息,该切割信息指示该第一应用程序中待测试的目标片段。
其中,切割信息可以为指示待测试的目标片段,根据该切割信息可以切割出该目标片段对应的片段运行数据。
203、根据该切割信息对该历史运行数据进行切割处理,得到片段运行数据,该片段运行数据包括该目标片段的多组状态数据和指令集合。
其中,对历史运行数据进行切割处理可以理解为获取历史运行数据中的部分历史运行数据,将该部分历史运行数据作为片段运行数据。
204、基于该片段运行数据,对该目标片段进行测试。
其中,基于该片段运行数据,对目标片段进行测试可以是:在应用程序中,根据片段运行数据中的状态数据,依次执行片段运行数据中的多组指令集合中的指令,获取执行指令之后得到的状态数据,根据该状态数据得到测试结果。
本申请实施例提供的应用程序测试方法、装置、设备及存储介质,通过获取第一应用程序的历史运行数据,根据切割信息,对历史运行数据进行切割,得到目标片段的片段运行数据;基于片段运行数据,对目标片段进行测试,减少了测试过程需要运行的数据,且测试人员在对应用程序进行测试时,可能仅是根据应用程序的历史运行过程的一个片段来获取测试结果,因此基于完整的历史运行数据,对第一应用程序进行测试会导致执行较多的无用指令集合,还会消耗较长的时间。而将需要进行测试的目标片段的片段运行数据从历史运行数据中切割出来,基于片段运行数据,对目标片段进行测试,减少了需要运行的无用指令集合,从而缩短了测试时间,加快了测试速度,提高了测试效率,同时也提高了测试的精准度。
在上述实施例的基础上,本申请实施例提供了一种可选方式,在上述步骤201中获取历史运行数据之前,该方法还可以包括如下构成历史运行数据的过程:
获取第一应用程序在历史运行过程中采集的多组指令集合;在第一应用程序中,依次执行每组指令集合中的指令,并依次采集每组指令集合对应的状态数据;将采集到的每组状态数据和指令集合构成历史运行数据,多组状态数据和多组指令集合按照在历史运行过程中的时间依次排列。
另外,在获取第一应用程序在历史运行过程中采集的多组指令集合之前,还需要采集多组指令集合。因此该方法还包括如下采集指令集合的过程:
每隔预设时长,接收服务器下发的指令集合;运行指令集合中的每条指令,将指令集合与顺序标识对应存储,顺序标识指示运行指令集合的顺序。
对于上述步骤202,本申请实施例提供了一种可选方式,步骤202可以包括:获取切割信息,该切割信息指示目标片段的起始时间和终止时间。
可选地,该切割信息可以包括起始时间和终止时间;或者,该切割信息包括起始时间和所述目标片段的持续时长。
对于上述步骤202,本申请实施例还提供了另一种可选方式,步骤202可以包括:获取切割信息,该切割信息包括测试虚拟对象标识。
切割信息指示目标片段的起始时间和终止时间的情况下,对于上述步骤203,本申请实施例提供了一种可选方式,步骤203可以包括:根据切割信息,确定目标片段的起始时间和终止时间;从历史运行数据中,获取位于起始时间至终止时间的时间段内的多组状态数据和指令集合;将获取的多组状态数据和指令集合,组成片段运行数据。
切割信息可以包括测试虚拟对象标识,第一应用程序中包括至少一个虚拟对象,指令集合包括对任一虚拟对象触发的指令的情况下,对于上述步骤203,本申请实施例提供了一种可选方式,步骤203可以包括:根据测试虚拟对象标识,从历史运行数据的多组指令集合中筛选出与虚拟对象对应的指令集合;将筛选出的多组指令集合与多组指令集合对应的状态数据,组成片段运行数据。
对于上述步骤203,本申请实施例还提供了一种可选方式,步骤203可以包括:将目标片段的多组指令集合和目标片段的起始时间的状态数据组成片段运行数据。
对于上述步骤203,本申请实施例还提供了一种可选方式,步骤203可以包括:根据该切割信息对该历史运行数据进行切割处理,得到第一片段运行数据;将该第一片段运行数据的数据格式转换为第二应用程序支持的数据格式,得到第二片段运行数据,该第二应用程序与该第一应用程序为同一应用程序的不同版本。
对于上述步骤203,本申请实施例还提供了一种可选方式,步骤203可以包括:根据该切割信息对该历史运行数据进行切割处理,得到第三片段运行数据;获取该第一应用程序的初始场景数据,该初始场景数据包括至少一个虚拟对象的初始状态数据;根据该测试虚拟对象标识,对该初始场景数据进行切割处理,得到测试虚拟对象的目标场景数据;将该目标场景数据与该第三片段运行数据组成第四片段运行数据。
对于上述步骤203的多个可选方式中的任一可选方式,在将多组状态数据和指令集合,组成片段运行数据之前,还可以将状态数据转换为与指令集合相同的数据格式。
对于上述步骤204,本申请实施例还提供了一种可选方式,步骤204可以包括:在第二应用程序中,基于片段运行数据,对目标片段进行测试,其中,第二应用程序与第一应用程序为同一应用程序的不同版本。
随着应用程序版本的升级,应用程序支持的数据格式可能会发生变化,当第二应用程序支持的数据格式与第一应用程序支持的数据格式不同时,可以将片段运行数据的格式转换为第二应用程序支持的数据格式,得到第二片段运行数据,在第二应用程序中,基于第二片段运行数据,对目标片段进行测试。
图3是本申请实施例提供的一种应用程序测试方法的流程图,执行主体可以为终端。参见图3,该方法包括:
301、获取第一应用程序的历史运行数据,该历史运行数据包括第一应用程序在历史运行过程中的多组状态数据和指令集合,每组指令集合包括在该状态数据指示的状态下执行的至少一条指令。
第一应用程序可以为被测试的应用程序或者与被测试的应用程序相关的应用程序,其中,与被测试的应用程序相关的应用程序可以是与被测试的应用程序版本不同的应用程序,第一应用程序可以为即时通信类应用程序、电子支付类应用程序、游戏类应用程序等任一应用程序,本申请实施例对第一应用程序不做限定。
由于第一应用程序在运行过程中,随着用户的操作,显示界面显示的内容可能会随之动态变化,因此,在第一应用程序中的运行过程可以看做是不断执行接收到的指令,从而导致显示界面显示的内容不断变化的过程。例如,第一应用程序可以提供至少一个虚拟对象,在终端运行第一应用程序时,可以根据该至少一个虚拟对象的状态数据,渲染显示界面,后续终端接收到用户触发的指令时,执行该指令,从而使得当前至少一个虚拟对象的状态数据发生变化,从而终端渲染出的显示界面也发生变化。
因此,获取第一应用程序的运行过程的数据可以包括:获取第一应用程序在运行过程中的多组状态数据和指令集合,状态数据可以包括终端显示界面上至少一个虚拟对象的状态数据,该状态数据对应的指令集合,可以包括在该状态数据指示的状态下执行的至少一条指令,该多组状态数据和指令集合按照在运行过程中的时间依次排列,将排列好的多组状态数据和指令集合作为历史运行数据。
其中,状态数据可以包括第一应用程序提供的任一虚拟对象的状态数据,该虚拟对象可以包括虚拟角色、虚拟建筑、虚拟按键中的至少一项,该虚拟对象的状态数据可以包括虚拟对象的血量、虚拟对象的经验值、虚拟对象的技能、虚拟对象的装备、虚拟对象的显示状态、虚拟对象的位置等中的至少一项,本申请实施例对状态数据不做限定。
其中,终端执行的指令集合可以是终端根据用户的操作触发的,还可以是服务器下发至该终端的,也即第一应用程序可以为离线应用程序,也可以为在线应用程序。指令集合可以包括一条指令,也可以包括多条指令,本申请实施例对指令集合不做限定。
另外,在生成历史运行数据时,可以在第一应用程序的一次运行过程中,获取多组状态数据和指令集合,也可以在第一应用程序的一次运行过程中,获取多组指令集合,后续可以基于获取的多组指令集合,回放该运行过程,在回放该过程时,获取每组指令集合对应的状态数据。
在一种可能实现方式中,生成第一应用程序的历史运行数据可以包括:在第一应用程序运行时,采集当前的状态数据,接收服务器下发的指令集合,在当前的状态数据指示的状态下,运行该指令集合中的每条指令,将采集到的每组状态数据和指令集合构成历史运行数据。
在一种可能实现方式中,如图4所示,生成第一应用程序的历史运行数据可以包括:获取第一应用程序在历史运行过程中采集的多组指令集合;在该第一应用程序中,依次执行每组指令集合中的指令,并依次采集每组指令集合对应的状态数据;将采集到的每组状态数据和指令集合构成历史运行数据。
其中,多组指令集合可以是终端在第一应用程序的历史运行过程中实时采集的,也可以是服务器在第一应用程序的历史运行过程中实时采集的。在一种可能实现方式中,终端在第一应用程序的历史运行过程中,接收用户触发的指令集合,运行该指令集合中的每一条指令,此时终端存储该指令集合,以实现指令集合的采集。其中,用户触发的指令集合可以是终端用户触发的指令集合,也可以是其他终端用户触发的指令集合。例如,第一应用程序为MOBA(Multiplayer Online Battle Arena,多人在线战术竞技游戏)时,在一局对战中,参与该对战的每个终端会将其终端用户触发的指令发送至服务器,服务器将多个终端发送的指令汇总成指令集合,将指令集合发送至参与该对战的每个终端上,因此,上述方法中,接收用户触发的指令集合可以为接收服务器下发的多个用户触发的指令集合。因此,在一种可能实现方式中,采集第一应用程序在运行过程中的多组指令集合可以包括:每隔预设时长,接收服务器下发的指令集合;运行该指令集合中的每条指令,将该指令集合与顺序标识对应存储,该顺序标识指示运行该指令集合的顺序。
可选地,将采集到的每组状态数据和指令集合构成历史运行数据可以包括:同一组中的状态数据和指令集合与同一顺序标识对应存储,其中,顺序标识用于指示接收多个指令集合的顺序,每个指令集合具有唯一对应的顺序标识,该顺序标识可以为数字,也可以为接收时间等,本申请实施例对顺序标识不做限定。例如,某组状态数据和指令集合是在历史运行过程中,获取的第8组状态数据和指令集合,可以将状态数据与8对应存储,指令集合也与8对应存储,在历史运行数据中多组状态数据按顺序依次排列,多组指令集合按顺序依次排列。
在一种可能实现方式中,终端在接收用户触发的指令集合后,可以将该指令集合与顺序标识对应存储,得到该运行过程中接收的多个指令集合,实现指令集合的采集。后续,根据指令集合对应的顺序标识,可以按照顺序标识指示的顺序,依次执行该多个指令集合中的指令,以实现历史运行过程的回放。
例如,终端可以将第一应用程序在历史运行过程中采集的多组指令集合存储为一个指令文件。该指令文件中多组指令集合可以与顺序标识对应存储,并按照顺序标识指示的顺序,依次排列该多组指令集合。后续,终端可以在任意时刻回放该指令文件,回放该指令文件是指终端可以在第一应用程序中,按照顺序标识指示的顺序,重新执行该指令文件中的每组指令集合中的指令。并且终端在回放过程中,可以采集每组指令集合对应的状态数据。
其中,第一应用程序的历史运行过程可以是从开启应用程序到关闭该应用程序的运行过程,也可以是应用程序中的某个环节的运行过程。例如,第一应用程序为MOBA时,一次运行过程可以是游戏的一局对战过程。另外,生成指令文件的终端和采集状态数据的终端可以为同一终端也可以为不同的终端,只需终端上安装有第一应用程序即可,本申请实施例对终端不做限定。
例如,第一应用程序为MOBA时,采集指令集合可以如图5所示,第一终端向服务器发送在第7个逻辑帧下触发的指令1,该指令1为虚拟对象A向虚拟对象B释放技能a,第二终端向服务器发送在第7个逻辑帧下触发的指令2,该指令2为虚拟对象B向虚拟对象A释放技能b,第二终端还向服务器发送在第8个逻辑帧下触发的指令3,该指令3为虚拟对象B向虚拟对象A释放技能c,服务器接收到第一终端和第二终端发送的指令之后,将第一终端和第二终端的指令进行汇总,得到指令集合(逻辑帧7:虚拟对象A向虚拟对象B释放技能1,虚拟对象B向虚拟对象A释放技能2;逻辑帧8:虚拟对象B向虚拟对象A释放技能c),并将该指令集合发送至第一终端和第二终端,第一终端和第二终端接收该指令集合,按照逻辑帧的顺序,依次执行指令集合中的指令。其中,第一终端在接收到指令集合之后,还可以存储该指令集合,例如,将指令1和指令2与逻辑帧的帧号7对应存储,将指令3与逻辑帧的帧号8对应存储;后续第一终端和第二终端还可以向服务器发送指令4和指令5,服务器将指令4和指令5汇总成指令集合,发送给第一终端和第二终端,本申请实施例在此不再一一赘述。
其中,当第一应用程序为MOBA时,在第一应用程序的运行过程中,可以每个预设时长设置一个逻辑帧,该逻辑帧可以为逻辑帧索引,如帧的帧号或者帧的编号等,因此,逻辑帧可以指示运行的时间,也可以指示运行的先后顺序,在第一应用程序的运行过程中,若当前逻辑帧为第6帧时,接收到指令集合,可以将该指令集合与逻辑帧索引对应存储,从而能够表示,接收该指令集合的时间,也能指示在回放过程中,运行该指令集合的时机。
另外,第一应用程序的历史运行数据可以是第一应用程序的普通用户在使用第一应用程序程序过程中产生的,也可以是测试人员为了测试而使用第一应用程序的过程中产生的。本申请实施例对历史运行数据对应的终端用户不做限定。
302、获取切割信息,该切割信息指示第一应用程序中待测试的目标片段。
其中,切割信息为指示如何对第一应用程序的历史运行数据进行切割的信息,根据该切割信息,对历史运行数据进行切割处理,能够得到第一应用程序中待测试的目标片段。
在一种可能实现方式中,切割信息可以指示目标片段的起始时间和终止时间。例如,该切割信息可以包括起始时间和终止时间;或者,该切割信息可以包括起始时间和目标片段的持续时长。
另外,在对应用程序的测试过程中,可能是对应用程序的某一测试虚拟对象进行测试。而第一应用程序在历史运行过程中除了测试虚拟对象可能还会有其他虚拟对象,因此,有些时间应用程序会显示测试虚拟对象,而有些时间应用程序可能不显示测试虚拟对象,而显示其他虚拟对象。由于测试人员仅需要对测试虚拟对象的功能或性能等进行测试,因此,可以不对第一应用程序完整的运行过程进行测试,仅需对出现测试虚拟对象的目标片段进行测试即可。因此,切割信息可以指示待测试的测试虚拟对象,例如切割信息包括测试虚拟对象标识,后续可以从历史运行数据中切割出包括测试虚拟对象的目标片段。
其中,测试虚拟对象可以为测试人员想要测试的第一应用程序中的虚拟对象,该测试虚拟对象可以为应用程序中的任一虚拟对象,例如:虚拟角色、虚拟按键等,本申请实施例对测试虚拟对象不做限定。
另外,需要说明的是,目标片段的起始时间和终止时间也可以是根据测试虚拟对象得到的。例如,在多人对战游戏应用的一局对战过程中,包括10个虚拟对象,而测试人员想要测试虚拟对象A和虚拟对象B的性能,因此,可以对虚拟对象A和虚拟对象B的对战过程进行测试,而该虚拟对象A和虚拟对象B的对战过程为第15帧至第35帧,切割信息可以为第15帧的逻辑帧标识和第35帧的逻辑帧标识。
又如,在多人对战游戏应用的一局对战过程中,包括10个虚拟对象,而测试人员想要测试虚拟对象A和虚拟对象B的性能,因此,可以对虚拟对象A和虚拟对象B的对战过程进行测试,而虚拟对象A和虚拟对象B进行了两次对战,第一次对战过程为第15帧至第35帧,第二次对战过程为第50帧至第63帧。因此,切割信息可以包括第15帧的逻辑帧标识、第63帧的逻辑帧标识、虚拟对象A的标识和虚拟对象B的标识。
在一种可能实现方式中,终端获取切割信息,可以包括:终端获取用户输入的切割信息。例如,终端显示切割设置界面,用户可以在该切割设置界面上输入切割信息,该切割设置界面可以如图6所示,该切割设置界面可以包括依次排列的多个逻辑帧下至少一个虚拟对象的状态数据,该多个逻辑帧下至少一个虚拟对象的状态数据可以用曲线图表示。用户可以根据该曲线图确定目标片段的起始逻辑帧和终止逻辑帧。例如,用户可以在曲线图上选择目标片段的起始逻辑帧和终止逻辑帧;或者,用户在曲线图上选择目标片段的起始逻辑帧,还可以设置目标片段的长度,如切割长度为155个逻辑帧,终端可以根据用户选择的起始逻辑帧和切割长度,可以确定目标片段的终止逻辑帧。
或者,终端的切割设置界面上可以显示至少一个虚拟对象的选项,用户还可以在切割设置界面上选择相应的虚拟对象,终端获取用户选择的虚拟对象的虚拟对象标识作为测试虚拟对象标识。
在另一种可能实现方式中,终端获取切割信息,可以包括:终端根据测试用例指示的测试虚拟对象,获取与测试虚拟对象匹配的切割信息。其中,测试用例可以为测试人员为测试虚拟对象而编制的一组测试输入、执行条件以及预期效果的数据,以便核实测试虚拟对象是否满足特定要求。
其中,测试用例可以包括测试用例名称,该测试用例名称用于指示该测试用例的关注点,该关注点可以是该测试用例的测试虚拟对象以及测试目的。在一种可能实现方式中,终端根据测试用例指示的测试虚拟对象,获取与测试虚拟对象匹配的切割信息可以包括:终端获取测试用例,根据测试用例的名称,确定该测试用例指示的测试虚拟对象的测试虚拟对象标识,将该测试虚拟对象标识作为切割信息。
在另一种可能实现方式中,终端根据测试用例指示的测试虚拟对象,获取与测试虚拟对象匹配的切割信息可以包括:终端获取测试用例,根据测试用例的名称确定该测试用例指示的测试虚拟对象的测试虚拟对象标识,可以根据测试虚拟对象标识,从历史运行数据的多组指令集合中筛选出与测试虚拟对象对应的指令集合。
指令集合包括对任一虚拟对象触发的指令,其中,与测试虚拟对象对应的指令集合是指:该指令集合中的至少一条指令用于指示其他虚拟对象对测试虚拟对象执行操作,或者,该指令集合中的至少一条指令用于指示测试虚拟对象对其他虚拟对象执行操作。
在一种可能实现方式中,切割信息还可以包括多个顺序标识,该多个顺序标识可以是用户在切割设置界面上输入的。
在获取切割信息会后,可以根据切割信息对历史运行数据进行切割处理,得到片段运行数据,其中,根据切割信息对历史运行数据进行切割处理,得到片段运行数据的过程可以如步骤303至步骤305所示。
303、根据切割信息,获取目标片段的多组指令集合。
在一种可能实现方式中,切割信息指示目标片段的起始时间和终止时间,终端根据起始时间和终止时间,获取该目标片段的多组指令集合可以包括:根据切割信息,确定目标片段的起始时间和终止时间;从历史运行数据中,获取位于起始时间至终止时间的时间段内的多组状态数据和指令集合;将获取的多组状态数据和指令集合组成片段运行数据。
其中,切割信息可以包括起始时间和终止时间,根据切割信息,获取目标片段的多组指令集合可以包括:将切割信息中的起始时间,作为目标片段的起始时间;将切割信息中的终止时间作为目标片段的终止时间,获取位于起始时间至终止时间的时间段内的多组指令集合,作为目标片段的多组指令集合。
或者,切割信息可以包括起始时间和目标片段的持续时长,根据切割信息,获取目标片段的多组指令集合可以包括:将起始时间,作为目标片段的起始时间;根据起始时间和目标片段的持续时长,确定目标片段的终止时间,获取位于起始时间至终止时间的时间段内的多组指令集合,作为目标片段的多组指令集合。
在另一种可能实现方式中,切割信息包括多个顺序标识,且该多个顺序标识可以是连续的顺序标识,也可以是间断的顺序标识,本申请实施例对此不做限定。终端根据切割信息,获取该目标片段的多组指令集合可以包括:终端根据多个顺序标识,将多个顺序标识对应的多组指令集合,确定为目标片段的多组指令集合。
在另一种可能实现方式中,切割信息包括测试虚拟对象标识,第一应用程序中包括至少一个虚拟对象,指令集合包括对任一虚拟对象触发的指令。其中,终端根据切割信息,获取该目标片段的多组指令集合,可以包括:根据该测试虚拟对象标识,从历史运行数据中筛选出与虚拟对象对应的指令集合;将筛选出的多组指令集合作为目标片段的指令集合。其中,根据该测试虚拟对象标识,从历史运行数据中筛选出与虚拟对象对应的指令集合的方式可以参考步骤302中,根据测试用例指示的测试虚拟对象标识,根据该测试虚拟对象标识,从历史运行数据中筛选出与虚拟对象对应的指令集合的过程,本申请实施例在此不再一一赘述。
在另一种可能实现方式中,切割信息包括测试虚拟对象标识、起始时间和目标片段的持续时长,终端根据切割信息,获取该目标片段的多组指令集合,可以包括:根据起始时间和目标片段的持续时长,确定终止时间;根据该测试虚拟对象标识,从位于起始时间至终止时间的时间段内的多组指令集合中,筛选出与测试虚拟对象对应的指令集合;将将筛选出的多组指令集合作为该目标片段的指令集合。
需要说明的是,本申请实施例提供的切割信息中的各项参数,可以任意组合,均可根据切割信息,获取到目标片段的多组指令集合。
304、根据切割信息,获取目标片段中的多组状态数据。
目标片段中的每组指令集合仅能指示终端按照该指令集合中的每条指令执行相应的操作,若仅基于目标片段的指令集合,对目标片段进行测试的话,终端会先加载第一应用程序的初始状态数据,该初始状态数据可以包括第一应用程序中至少一个虚拟对象的初始状态数据;第一应用程序根据该至少一个虚拟对象的初始状态数据,执行目标片段的指令集合中的第一条指令,从而修改指定虚拟对象的状态数据,指定虚拟对象可以为执行该指令的虚拟对象,或者,该指定虚拟对象可以该指令指向的虚拟对象。例如,指令为虚拟对象A向虚拟对象B释放技能a,其中,虚拟对象A为执行该指令的虚拟对象,虚拟对象B为该指令指向的虚拟对象。
但是在终端的历史运行过程中,终端在执行目标片段的指令集合中的第一条指令时,会根据第一应用程序的至少一个虚拟对象的当前状态数据,执行目标片段的指令集合中的第一条指令,修改指定虚拟对象的当前状态数据。因此,该目标片段的指令集合中第一条指令不是历史运行过程中的第一条指令的话,第一应用程序的至少一个虚拟对象的当前状态数据与该至少一个虚拟对象的初始状态数据是不同的,因此,同样执行完目标片段的指令集合中的第一条指令后,得到的结果也是不同的。因此,仅基于目标片段中的指令集合,无法还原第一应用程序的历史运行过程。
因此,终端还可以获取目标片段的多组指令集合对应的状态数据,由于目标片段中每组指令集合对应的状态数据与第一应用程序的历史运行过程中相应指令集合对应的状态数据一致,因此,若基于目标片段中每组指令集合的状态数据,在第一应用程序中执行指令集合中的每条指令,能够还原第一应用程序的历史运行过程,使得测试结果准确。
305、根据目标片段的多组状态数据和指令集合,组成片段运行数据。
其中,目标片段的指令集合中的指令可以指示终端在当前状态数据指示的状态下,按照该指令的内容,执行相应的操作,因此,终端在接收到指令集合时,可以执行相应的指令,但是若终端接收到状态数据时,无法按照将终端上的当前状态数据调整为获取到的状态数据。因此,可以将获取到的状态数据转换为与目标片段的指令集合相同的数据格式,相当于将状态数据封装为指令的形式,以便终端能够根据片段运行数据中的状态数据执行修改状态数据的操作。
其中,目标片段的指令集合中的指令的数据格式可以为终端与服务器交互的协议格式。例如,指令集合中的指令的数据格式为帧协议数据,在将目标片段的指令集合和目标片段的起始时间的状态数据组成片段运行数据,将状态数据封装为状态帧协议数据。
另外,得到的片段运行数据可以在第一应用程序中进行测试,也可以在第二应用程序中进行测试,其中,第二应用程序与第一应用程序的版本不同,第二应用程序可以为更新后的第一应用程序。在一种可能实现方式中,终端根据切割信息对历史运行数据进行切割处理,得到第一片段运行数据,将该第一片段运行数据的数据格式转换为第二应用程序支持的数据格式,得到第二片段运行数据,将该第二片段运行数据作为目标片段的片段运行数据。
例如,第一应用程序支持的数据格式包括3个字段,第二应用程序支持的数据格式包括4个字段,可以在第一片段运行数据的数据字段中添加一个字段,为了避免该添加的字段对测试结果造成影响,可以将该添加的字段设置为默认值。
需要说明的是,片段运行数据中还可以包括初始场景数据,其中初始场景数据用于加载第一应用程序中的至少一个虚拟对象。终端在基于片段运行数据,对目标片段进行测试时,可以使用服务器下发的完整的初始场景数据,也可以使用简单的场景数据。其中,简单的场景数据是指初始场景数据中的部分数据。例如,完整的初始场景数据中包括10个虚拟对象的初始状态数据,而基于片段运行数据对目标片段进行测试,仅需对虚拟对象1和虚拟对象2进行测试,简单的场景数据可以为虚拟对象1和虚拟对象2的初始状态数据。
在一种可能实现方式中,终端获取第一应用程序的初始场景数据,该初始场景数据包括至少一个虚拟对象的初始状态数据;根据测试虚拟对象对原始场景数据进行切割处理,得到包括测试对象的目标场景数据;根据切割信息对历史运行数据进行切割处理,得到第三片段运行数据,将目标场景数据与第三片段运行数据组成第四片段运行数据,将该第四片段运行数据作为目标片段的片段运行数据,也即从初始场景数据中筛选出与测试对象匹配的部分初始场景数据。
另外,初始场景数据中还可以包括随机种子的初始状态数据,根据测试虚拟对象对初始场景数据进行切割处理,得到包括测试对象的目标场景数据,还可以包括:将随机种子的初始状态数据设置为目标片段中起始时间下随机种子的当前状态数据。
其中,终端获取第一应用程序的初始场景数据,可以包括:从第一应用程序的历史运行数据中获取该初始场景数据;或者,从第一应用程序的服务器中下载该初始场景数据。本申请实施例对初始场景数据的来源不做限定。
在一种可能实现方式中,将多组指令集合与多组指令集合对应的状态数据,组成片段运行数据:按照顺序标识指示的顺序,依次排布每组状态数据和指令集合,得到片段运行数据,其中,任一组的状态数据位于指令集合之前;或者,按照顺序标识指示的顺序,依次排布每组指令集合;按照顺序标识指示的顺序,依次排布每组的状态数据;将排布好的多组指令集合和状态数据,作为片段运行数据。
当片段运行数据包括目标场景数据时,由于回放过程中,需要先加载场景,后控制场景中的虚拟对象执行操作,因此,在一种可能实现方式中,将多组指令集合与多组指令集合对应的状态数据,组成片段运行数据可以包括:将目标场景数据置于多组指令集合和状态数据之前,之后,按照顺序标识指示的顺序,依次排布每组状态数据和指令集合,得到片段运行数据。
需要说明的是,本申请实施例仅是以根据目标片段的多组状态数据和指令集合,组成片段运行数据为例进行说明,本申请实施例对片段运行数据不做限定。由于目标片段中任一组的指令集合与第一应用程序的历史运行过程中,相应的指令集合是相同的,因此,若只还原目标片段的起始时间的状态数据,后续的运行过程便可还原。因此,在另一实施例中,还可以将目标片段的多组指令集合和该目标片段的起始时间的状态数据组成片段运行数据。
在一种可能实现方式中,将目标片段的多组指令集合和该目标片段的起始时间的状态数据组成片段运行数据可以包括:将目标片段的起始时间的状态数据置于目标片段的多组指令集合之前,目标片段的每组指令集合按照顺序标识指示的顺序依次排布,得到片段运行数据。
当片段运行数据中还包括目标场景数据时,由于回放过程中,需要先加载场景,后控制场景中的虚拟对象执行操作,因此,在一种可能实现方式中,如图7所示,将目标片段的多组指令集合和该目标片段的起始时间的状态数据组成片段运行数据可以包括:将目标场景数据置于起始时间的状态数据之前,将起始时间的状态数据置于多组指令集合之前,多组指令集合按照顺序标识指示的顺序依次排布,得到片段运行数据。
306、基于片段运行数据,对目标片段进行测试。
在获取到片段运行数据之后,可以立刻根据片段运行数据,对目标片段进行测试,也可以将片段运行数据进行存储,在需要对目标片段进行测试时,获取片段运行数据,基于该片段运行数据,对目标片段进行测试。本申请实施例对此不做限定。
在一种可能实现方式中,基于片段运行数据,对目标片段进行测试可以包括:采用测试用例,运行该片段运行数据,使得第一应用程序的历史运行过程能够回放;根据回放内容,获取测试结果。
需要说明的是,在基于片段运行数据,对目标片段进行测试时,可以包括:在第二应用程序中,基于片段运行数据,对目标片段进行测试,根据测试结果,确定是否对第二应用程序进行修正。
其中,第二应用程序为第一应用程序的更新版本,因此,第二应用程序中的某个功能可能与第一应用程序中的某些功能不同。例如,在第一应用程序中,虚拟对象A释放技能a,能够使敌方虚拟对象眩晕,在第二应用程序中,虚拟对象A释放技能a,能够使敌方虚拟对象减少100生命值。测试人员想要了解虚拟对象C与虚拟对象D的对战情况,但是由于在第二应用程序中,虚拟对象A的技能a发生变化,导致虚拟对象A将虚拟对象D杀死,在虚拟对象C与虚拟对象D对战之前,虚拟对象D已经死亡,因此,无法完成测试。因此,若使用第一应用程序的历史运行过程中的多组指令集合,在第二应用程序中进行测试,可能会导致回放过程与历史运行过程不同,从而无法进行测试的问题。
而本申请中将目标片段的多组状态数据和指令集合,组成片段运行数据,使得在测试过程中,能够先还原历史运行过程中,虚拟对象C与虚拟对象D在对战时,虚拟对象C和虚拟对象D的状态数据,因此,后续可以基于目标片段的每组指令集合完成回放,从而完成测试。
并且,如果虚拟对象C和虚拟对象D的技能未发生变化,且虚拟对象C和虚拟对象D执行的指令也相同,那么回放中的虚拟对象C的状态和虚拟对象D的状态和历史运行过程中的虚拟对象C的状态和虚拟对象D的状态应该完全相同,因此若二者不同时,可能是第二应用程序中的部分代码存在bug(漏洞),可以对该代码进行修正。
需要说明的是,本申请实施例中执行上述步骤的终端可以为同一终端,也可以为不同的终端,如图8和图9所示,安装有第一应用程序的终端1从服务器中获取指令文件,终端1在第一应用程序中回放该指令文件,并获取回放过程中每组指令集合对应的状态数据,将状态数据传输至终端2上,在发送状态数据时,可以实时发送,也可以在获取到多组状态数据之后,将多组状态数据一同发送至安装有切割工具的终端2,还可以通过TCP(Transmission Control Protocol传输控制协议)将状态数据传输给终端2。终端2获取同一指令文件,根据切割信息、指令文件和多组状态数据,获取目标片段的片段运行数据。
本申请实施例提供的应用程序测试方法、装置、设备及存储介质,通过获取第一应用程序的历史运行数据,根据切割信息,对历史运行数据进行切割,得到目标片段的片段运行数据;基于片段运行数据,对目标片段进行测试,减少了测试过程需要运行的数据,且测试人员在对应用程序进行测试时,可能仅是根据应用程序的历史运行过程的一个片段来获取测试结果,因此基于完整的历史运行数据,对第一应用程序进行测试会导致执行较多的无用指令集合,还会消耗较长的时间。而将需要进行测试的目标片段的片段运行数据从历史运行数据中切割出来,基于片段运行数据,对目标片段进行测试,减少了需要运行的无用指令集合,从而缩短了测试时间,加快了测试速度,提高了测试效率,同时也提高了测试的精准度。
应用程序的历史运行过程中可以包括多个待测试的片段,一旦第二应用程序中某些功能发生变化时,会导致测试过程中无法还原第一应用程序的历史运行过程,从而导致多个待测试片段无法测试,需要对第二应用程序的运行过程进行录制。而本申请实施例提供的应用程序测试方法,是根据目标片段的片段运行数据进行测试的,而片段运行数据中不仅包括多组指令集合,还包括多组指令集合对应的状态数据,每组指令集合中的指令是在其对应的状态数据指示的状态下执行的,使得在运行片段运行数据时,能先还原目标片段起始时间的状态,若该目标片段未涉及被改变的功能时,也不会影响测试结果。
并且,由于将目标片段的起始时间的状态数据和目标片段的多组指令集合组成片段运行数据,保证了回放过程与历史运行过程的一致性,从而使得测试结果更加准确,解耦了片段与片段之间的联系,每个待测试的目标片段彼此独立,互不影响。
图10是本发明实施例提供的一种图像渲染装置的结构示意图,参见图10,该装置包括:数据获取模块1001、切割信息获取模块1002、切割模块1003和测试模块1004。
数据获取模块1001,用于取第一应用程序的历史运行数据,该历史运行数据包括该第一应用程序在历史运行过程中的多组状态数据和指令集合,每组指令集合包括在该状态数据指示的状态下执行的至少一条指令;
切割信息获取模块1002,用于获取切割信息,该切割信息指示该第一应用程序中待测试的目标片段;
切割模块1003,用于根据该切割信息对该历史运行数据进行切割处理,得到片段运行数据,该片段运行数据包括该目标片段的多组状态数据和指令集合;
测试模块1004,用于基于该片段运行数据,对该目标片段进行测试。
如图11所示,在一种可能实现方式中,该切割信息指示该目标片段的起始时间和终止时间;该切割模块1003,包括:
第一确定单元1031,用于根据该切割信息,确定该目标片段的起始时间和终止时间;
第一获取单元1032,用于从该历史运行数据中,获取位于该起始时间至该终止时间的时间段内的多组状态数据和指令集合;
组成单元1033,用于将获取的多组状态数据和指令集合,组成片段运行数据。
在一种可能实现方式中,该切割信息包括起始时间和终止时间;或者,该切割信息包括起始时间和该目标片段的持续时长。
在一种可能实现方式中,该切割信息包括测试虚拟对象标识,该第一应用程序中包括至少一个虚拟对象,指令集合包括对任一虚拟对象触发的指令;该切割模块1003,包括:
筛选单元1034,用于根据该测试虚拟对象标识,从该历史运行数据的多组指令集合中筛选出与该虚拟对象对应的指令集合;
组成单元1033,用于将筛选出的多组指令集合与该多组指令集合对应的状态数据,组成该片段运行数据。
在一种可能实现方式中,该切割模块1003,包括:
组成单元1033,用于将该目标片段的多组指令集合和该目标片段的起始时间的状态数据组成该片段运行数据。
在一种可能实现方式中,组成单元1033,还用于将该状态数据转换为与该指令集合相同的数据格式。
在一种可能实现方式中,该切割模块1003,用于根据该切割信息对该历史运行数据进行切割处理,得到第一片段运行数据;
该切割模块1003,还用于将该第一片段运行数据的数据格式转换为第二应用程序支持的数据格式,得到第二片段运行数据,该第二应用程序与该第一应用程序为同一应用程序的不同版本;
该测试模块1004,用于在该第二应用程序中,基于该第二片段运行数据,对该目标片段进行测试。
在一种可能实现方式中,该切割信息包括测试虚拟对象标识,该切割模块1003,用于根据该切割信息对该历史运行数据进行切割处理,得到第三片段运行数据;获取该第一应用程序的初始场景数据,该初始场景数据包括至少一个虚拟对象的初始状态数据;根据该测试虚拟对象标识,对该初始场景数据进行切割处理,得到测试虚拟对象的目标场景数据;将该目标场景数据与该第三片段运行数据组成第四片段运行数据。
在一种可能实现方式中,该装置还包括:
该数据获取模块1001,用于获取该第一应用程序在该历史运行过程中采集的多组指令集合;
采集模块1005,用于在该第一应用程序中,依次执行每组指令集合中的指令,并依次采集该每组指令集合对应的状态数据;
构成模块1006,用于将采集到的该每组状态数据和指令集合构成该历史运行数据,多组状态数据和多组指令集合按照在历史运行过程中的时间依次排列。
在一种可能实现方式中,该装置还包括:
接收模块1007,用于每隔预设时长,接收服务器下发的指令集合;
运行模块1008,用于运行该指令集合中的每条指令,将该指令集合与顺序标识对应存储,该顺序标识指示运行该指令集合的顺序。
需要说明的是:上述实施例提供的应用程序测试的装置在测试应用程序时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的应用程序测试的装置与应用程序测试的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图12是本申请实施例提供的一种终端的结构框图。该终端1200用于执行上述实施例中终端执行的步骤,可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1200还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1200包括有:处理器1201和存储器1202。
处理器1201可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器1201可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器1201也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1201可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1201还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器1202可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器1202还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1202中的非暂态的计算机可读存储介质用于存储至少一条指令,该至少一条指令用于被处理器1201所执行以实现本申请中方法实施例提供的通信连接建立方法。
在一些实施例中,终端1200还可选包括有:外围设备接口1203和至少一个外围设备。处理器1201、存储器1202和外围设备接口1203之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口1203相连。具体地,外围设备包括:射频电路1204、触摸显示屏1205、摄像头组件1206、音频电路1207、定位组件1208和电源1209中的至少一种。
外围设备接口1203可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1201和存储器1202。在一些实施例中,处理器1201、存储器1202和外围设备接口1203被集成在同一芯片或电路板上;在一些其他实施例中,处理器1201、存储器1202和外围设备接口1203中的任意一个或两个可以在单独的芯片或电路板上实现,本申请实施例对此不加以限定。
射频电路1204用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1204通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1204将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1204包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路1204可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:万维网、城域网、内联网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1204还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1205用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏1205是触摸显示屏时,显示屏1205还具有采集在显示屏1205的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器1201进行处理。此时,显示屏1205还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1205可以为一个,设置终端1200的前面板;在另一些实施例中,显示屏1205可以为至少两个,分别设置在终端1200的不同表面或呈折叠设计;在再一些实施例中,显示屏1205可以是柔性显示屏,设置在终端1200的弯曲表面上或折叠面上。甚至,显示屏1205还可以设置成非矩形的不规则图形,也即异形屏。显示屏1205可以采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1206用于采集图像或视频。可选地,摄像头组件1206包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1206还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路1207可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1201进行处理,或者输入至射频电路1204以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端1200的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1201或射频电路1204的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1207还可以包括耳机插孔。
定位组件1208用于定位终端1200的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件1208可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统或俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源1209用于为终端1200中的各个组件进行供电。电源1209可以是交流电、直流电、一次性电池或可充电电池。当电源1209包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
本领域测试人员可以理解,图12中示出的结构并不构成对终端1200的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图13是本申请实施例提供的一种服务器的结构示意图,该服务器1300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central ProcessingUnits,CPU)1301和一个或一个以上的存储器1302,其中,存储器1302中存储有至少一条指令,至少一条指令由处理器1301加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
服务器1300可以用于执行上述应用程序的测试过程中服务器所执行的步骤。
本申请实施例还提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令,该指令由该处理器加载并执行上述实施例的应用程序测试方法中所执行的操作。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条指令,该指令由处理器加载并执行以实现上述实施例的应用程序测试方法中所执行的操作。
本申请实施例还提供了一种计算机程序,该计算机程序中存储有至少一条指令,该至少一条指令由处理器加载并执行,以实现上述实施例的应用程序测试方法中所执行的操作。
本领域普通测试人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种应用程序测试方法,其特征在于,所述方法包括:
获取第一应用程序的历史运行数据,所述历史运行数据包括所述第一应用程序在历史运行过程中的多组状态数据和指令集合,每组指令集合包括在所述状态数据指示的状态下执行的至少一条指令;
获取切割信息,所述切割信息指示所述第一应用程序中待测试的目标片段;
所述切割信息包括测试虚拟对象标识,根据所述切割信息对所述历史运行数据进行切割处理,得到第三片段运行数据;获取所述第一应用程序的初始场景数据,所述初始场景数据包括至少一个虚拟对象的初始状态数据;根据所述测试虚拟对象标识,对所述初始场景数据进行切割处理,得到测试虚拟对象的目标场景数据;将所述目标场景数据与所述第三片段运行数据组成第四片段运行数据,所述第三片段运行数据包括所述目标片段的多组状态数据和指令集合;
基于所述第四片段运行数据,对所述目标片段进行测试。
2.根据权利要求1所述的方法,其特征在于,所述切割信息指示所述目标片段的起始时间和终止时间;所述方法还包括:
根据所述切割信息,确定所述目标片段的起始时间和终止时间;
从所述历史运行数据中,获取位于所述起始时间至所述终止时间的时间段内的多组状态数据和指令集合;
将获取的多组状态数据和指令集合,组成片段运行数据;
基于所述片段运行数据,对所述目标片段进行测试。
3.根据权利要求2所述的方法,其特征在于,所述切割信息包括起始时间和终止时间;或者,所述切割信息包括起始时间和所述目标片段的持续时长。
4.根据权利要求1所述的方法,其特征在于,所述第一应用程序中包括至少一个虚拟对象,指令集合包括对任一虚拟对象触发的指令;所述根据所述切割信息对所述历史运行数据进行切割处理,得到第三片段运行数据,包括:
根据所述测试虚拟对象标识,从所述历史运行数据的多组指令集合中筛选出与所述虚拟对象对应的指令集合;
将筛选出的多组指令集合与所述多组指令集合对应的状态数据,组成所述第三片段运行数据。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述目标片段的多组指令集合和所述目标片段的起始时间的状态数据组成片段运行数据;
基于所述片段运行数据,对所述目标片段进行测试。
6.根据权利要求5所述的方法,其特征在于,所述将所述目标片段的多组指令集合和所述目标片段的起始时间的状态数据组成所述片段运行数据之前,所述方法还包括:
将所述状态数据转换为与所述指令集合相同的数据格式。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述第四片段运行数据的数据格式转换为第二应用程序支持的数据格式,得到第二片段运行数据,所述第二应用程序与所述第一应用程序为同一应用程序的不同版本;
所述基于所述第四片段运行数据,对所述目标片段进行测试,包括:
在所述第二应用程序中,基于所述第二片段运行数据,对所述目标片段进行测试。
8.根据权利要求1所述的方法,其特征在于,所述获取第一应用程序的历史运行数据之前,所述方法还包括:
获取所述第一应用程序在所述历史运行过程中采集的多组指令集合;
在所述第一应用程序中,依次执行每组指令集合中的指令,并依次采集所述每组指令集合对应的状态数据;
将采集到的所述每组状态数据和指令集合构成所述历史运行数据,多组状态数据和所述多组指令集合按照在所述历史运行过程中的时间依次排列。
9.根据权利要求8所述的方法,其特征在于,所述获取所述第一应用程序在历史运行过程中采集的多组指令集合之前,所述方法还包括:
每隔预设时长,接收服务器下发的指令集合;
运行所述指令集合中的每条指令,将所述指令集合与顺序标识对应存储,所述顺序标识指示运行所述指令集合的顺序。
10.一种应用程序测试装置,其特征在于,所述装置包括:
数据获取模块,用于取第一应用程序的历史运行数据,所述历史运行数据包括所述第一应用程序在历史运行过程中的多组状态数据和指令集合,每组指令集合包括在所述状态数据指示的状态下执行的至少一条指令;
切割信息获取模块,用于获取切割信息,所述切割信息指示所述第一应用程序中待测试的目标片段;
所述切割信息包括测试虚拟对象标识,切割模块,用于根据所述切割信息对所述历史运行数据进行切割处理,得到第三片段运行数据;获取所述第一应用程序的初始场景数据,所述初始场景数据包括至少一个虚拟对象的初始状态数据;根据所述测试虚拟对象标识,对所述初始场景数据进行切割处理,得到测试虚拟对象的目标场景数据;将所述目标场景数据与所述第三片段运行数据组成第四片段运行数据,所述片段运行数据包括所述目标片段的多组状态数据和指令集合;
测试模块,用于基于所述第四片段运行数据,对所述目标片段进行测试。
11.根据权利要求10所述的装置,其特征在于,所述切割信息指示所述目标片段的起始时间和终止时间;所述切割模块,包括:
第一确定单元,用于根据所述切割信息,确定所述目标片段的起始时间和终止时间;
第一获取单元,用于从所述历史运行数据中,获取位于所述起始时间至所述终止时间的时间段内的多组状态数据和指令集合;
组成单元,用于将获取的多组状态数据和指令集合,组成片段运行数据;
所述测试模块,还用于基于所述片段运行数据,对所述目标片段进行测试。
12.根据权利要求11所述的装置,其特征在于,所述切割信息包括起始时间和终止时间;或者,所述切割信息包括起始时间和所述目标片段的持续时长。
13.一种计算机设备,其特征在于,所述计算机设备包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如权利要求1至9任一项所述的应用程序测试方法中所执行的操作。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1至9任一项所述的应用程序测试方法中所执行的操作。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201911272934.XA CN112988552B (zh) | 2019-12-12 | 2019-12-12 | 应用程序测试方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201911272934.XA CN112988552B (zh) | 2019-12-12 | 2019-12-12 | 应用程序测试方法、装置、设备及存储介质 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN112988552A CN112988552A (zh) | 2021-06-18 |
| CN112988552B true CN112988552B (zh) | 2023-06-30 |
Family
ID=76332574
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201911272934.XA Active CN112988552B (zh) | 2019-12-12 | 2019-12-12 | 应用程序测试方法、装置、设备及存储介质 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN112988552B (zh) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113495845B (zh) * | 2021-07-27 | 2022-09-13 | 拉扎斯网络科技(上海)有限公司 | 数据测试方法、装置、电子设备及存储介质 |
| CN115842753B (zh) * | 2021-09-18 | 2025-11-21 | 逸驾智能科技有限公司 | 用于检查服务的方法、装置、设备和计算机可读存储介质 |
| CN114344918B (zh) * | 2021-11-02 | 2025-07-25 | 腾讯科技(深圳)有限公司 | 基于虚拟场景的数据录制方法、装置、设备、介质及产品 |
| CN118672903A (zh) * | 2024-05-31 | 2024-09-20 | 中国科学院软件研究所 | 一种基于离散事件仿真引擎的系统自动测试方法和装置 |
Citations (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009075704A (ja) * | 2007-09-19 | 2009-04-09 | Nec Electronics Corp | テスト方法およびテスト装置並びにプログラム |
| CN101667205A (zh) * | 2009-09-28 | 2010-03-10 | 河南电力试验研究院 | 一种面向快速回放的实时测点数据存储方法 |
| CN102750153A (zh) * | 2012-06-29 | 2012-10-24 | 南京大学 | 一种基于程序变更的回归测试用例集构建方法 |
| CN105335283A (zh) * | 2014-08-01 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 终端设备中的应用测试方法及装置 |
| CN105871662A (zh) * | 2016-06-22 | 2016-08-17 | 腾讯科技(深圳)有限公司 | 一种协议录制、回放方法及终端 |
| CN106897206A (zh) * | 2015-12-18 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 一种业务测试方法及装置 |
| CN107193739A (zh) * | 2017-05-23 | 2017-09-22 | 张泽祎 | 一种黑盒回归测试方法 |
| CN109101423A (zh) * | 2018-08-03 | 2018-12-28 | 挖财网络技术有限公司 | 一种基于服务端日志回放的自动化测试方法 |
| CN109144846A (zh) * | 2017-06-28 | 2019-01-04 | 北京京东尚科信息技术有限公司 | 用于测试服务器的测试方法和装置 |
| CN109189665A (zh) * | 2018-08-01 | 2019-01-11 | 阿里巴巴集团控股有限公司 | 数据录制、数据回放和自动测试的方法及装置 |
| US10204030B1 (en) * | 2017-10-09 | 2019-02-12 | International Business Machines Corporation | Debug session tree recorder with generic playback |
| CN109582579A (zh) * | 2018-11-30 | 2019-04-05 | 腾讯音乐娱乐科技(深圳)有限公司 | 应用程序测试方法、装置、电子设备及存储介质 |
| CN110069375A (zh) * | 2019-05-07 | 2019-07-30 | 北京天际启游科技有限公司 | 一种压力测试的方法以及相关装置 |
| CN110221983A (zh) * | 2019-06-19 | 2019-09-10 | 深圳市腾讯网域计算机网络有限公司 | 测试方法、装置、计算机可读存储介质和计算机设备 |
| CN110287101A (zh) * | 2019-05-22 | 2019-09-27 | 深圳壹账通智能科技有限公司 | 用户界面自动化测试方法、装置、计算机设备及存储介质 |
| CN110377522A (zh) * | 2019-07-22 | 2019-10-25 | 中国工商银行股份有限公司 | 交易场景的测试方法、装置、计算设备以及介质 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7793154B2 (en) * | 2006-11-30 | 2010-09-07 | International Business Machines Corporation | Method and implementation for automating processes using data driven pre-recorded transactions |
| US8271950B2 (en) * | 2009-07-06 | 2012-09-18 | Microsoft Corporation | Test generation from captured user interface status |
| US9038026B2 (en) * | 2011-10-17 | 2015-05-19 | International Business Machines Corporation | System and method for automating test automation |
| US10169210B2 (en) * | 2016-08-09 | 2019-01-01 | International Business Machines Corporation | Association between a test case and source code |
| US10592396B2 (en) * | 2018-04-23 | 2020-03-17 | Microsoft Technology Licensing, Llc | Memory validity states in time-travel debugging |
-
2019
- 2019-12-12 CN CN201911272934.XA patent/CN112988552B/zh active Active
Patent Citations (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2009075704A (ja) * | 2007-09-19 | 2009-04-09 | Nec Electronics Corp | テスト方法およびテスト装置並びにプログラム |
| CN101667205A (zh) * | 2009-09-28 | 2010-03-10 | 河南电力试验研究院 | 一种面向快速回放的实时测点数据存储方法 |
| CN102750153A (zh) * | 2012-06-29 | 2012-10-24 | 南京大学 | 一种基于程序变更的回归测试用例集构建方法 |
| CN105335283A (zh) * | 2014-08-01 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 终端设备中的应用测试方法及装置 |
| CN106897206A (zh) * | 2015-12-18 | 2017-06-27 | 阿里巴巴集团控股有限公司 | 一种业务测试方法及装置 |
| CN105871662A (zh) * | 2016-06-22 | 2016-08-17 | 腾讯科技(深圳)有限公司 | 一种协议录制、回放方法及终端 |
| CN107193739A (zh) * | 2017-05-23 | 2017-09-22 | 张泽祎 | 一种黑盒回归测试方法 |
| CN109144846A (zh) * | 2017-06-28 | 2019-01-04 | 北京京东尚科信息技术有限公司 | 用于测试服务器的测试方法和装置 |
| US10204030B1 (en) * | 2017-10-09 | 2019-02-12 | International Business Machines Corporation | Debug session tree recorder with generic playback |
| CN109189665A (zh) * | 2018-08-01 | 2019-01-11 | 阿里巴巴集团控股有限公司 | 数据录制、数据回放和自动测试的方法及装置 |
| CN109101423A (zh) * | 2018-08-03 | 2018-12-28 | 挖财网络技术有限公司 | 一种基于服务端日志回放的自动化测试方法 |
| CN109582579A (zh) * | 2018-11-30 | 2019-04-05 | 腾讯音乐娱乐科技(深圳)有限公司 | 应用程序测试方法、装置、电子设备及存储介质 |
| CN110069375A (zh) * | 2019-05-07 | 2019-07-30 | 北京天际启游科技有限公司 | 一种压力测试的方法以及相关装置 |
| CN110287101A (zh) * | 2019-05-22 | 2019-09-27 | 深圳壹账通智能科技有限公司 | 用户界面自动化测试方法、装置、计算机设备及存储介质 |
| CN110221983A (zh) * | 2019-06-19 | 2019-09-10 | 深圳市腾讯网域计算机网络有限公司 | 测试方法、装置、计算机可读存储介质和计算机设备 |
| CN110377522A (zh) * | 2019-07-22 | 2019-10-25 | 中国工商银行股份有限公司 | 交易场景的测试方法、装置、计算设备以及介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN112988552A (zh) | 2021-06-18 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN109091869B (zh) | 虚拟对象的动作控制方法、装置、计算机设备及存储介质 | |
| CN112988552B (zh) | 应用程序测试方法、装置、设备及存储介质 | |
| CN111045931B (zh) | 应用程序测试方法、装置、设备及存储介质 | |
| CN110278464B (zh) | 显示榜单的方法和装置 | |
| CN109646944B (zh) | 控制信息处理方法、装置、电子设备及存储介质 | |
| CN111603771B (zh) | 动画生成方法、装置、设备及介质 | |
| CN112468884A (zh) | 动态资源显示方法、装置、终端、服务器及存储介质 | |
| CN108579075B (zh) | 操作请求响应方法、装置、存储介质及系统 | |
| CN108093307A (zh) | 获取播放文件的方法和系统 | |
| CN114449090A (zh) | 数据分享方法、装置、系统及电子设备 | |
| CN112188268B (zh) | 虚拟场景展示方法、虚拟场景的介绍视频生成方法及装置 | |
| CN113509720A (zh) | 虚拟对战的回放方法、装置、终端、服务器及存储介质 | |
| CN114996168A (zh) | 一种多设备协同测试方法、测试设备及可读存储介质 | |
| CN113144595A (zh) | 虚拟道路的生成方法、装置、终端及存储介质 | |
| CN109684278A (zh) | 文件获取方法、装置、终端及存储介质 | |
| CN108831513A (zh) | 录制音频数据的方法、终端、服务器和系统 | |
| CN111841021A (zh) | 账号匹配方法、装置、设备及存储介质 | |
| CN110399193A (zh) | 指导数据发送方法、装置、终端、服务器及存储介质 | |
| US20240042319A1 (en) | Action effect display method and apparatus, device, medium, and program product | |
| HK40046009B (zh) | 应用程序测试方法、装置、设备及存储介质 | |
| CN116962620B (zh) | 演示系统、方法、图形界面及相关装置 | |
| CN117298568B (zh) | 虚拟场景的同步方法、虚拟场景的显示方法、装置及设备 | |
| CN111399796A (zh) | 语音消息聚合方法、装置、电子设备及存储介质 | |
| HK40046009A (zh) | 应用程序测试方法、装置、设备及存储介质 | |
| CN119015693A (zh) | 操作控制方法、装置、设备及计算机可读存储介质 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication | ||
| REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40046009 Country of ref document: HK |
|
| SE01 | Entry into force of request for substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |