一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

回归测试方法、装置、设备及存储介质与流程

2022-12-20 20:14:35 来源:中国专利 TAG:
1.本公开实施例涉及计算机应用
技术领域
:,尤其涉及一种回归测试方法、装置、设备及存储介质。
背景技术
::2.在一些应用程序中,通过在视频或者图像中的特定位置增加特效,例如在图像中的特定位置处添加虚拟物品,以增加视频或者图像的表现力和趣味性。应用程序的开发者在对这些测试对象进行测试的工作中,随着应用程序的版本更新迭代,需要不断的对此类测试对象进行回归测试,以确保此类测试对象能够在不同的程序版本中正常显示。3.目前,对测试对象进行回归测试的方式,通常是通过在不同版本的应用程序中,分别录制使用该测试对象的对比视频,并进行对比验证,确保测试对象的正常应用。4.然而,实际的测试过程中,基于不同版本的应用程序,测试对象在测试视频中的位置会发生变化,该位置变化并不会影响测试对象的正常应用,然而却会导致对比视频测试不通过的问题,影响测试结果的准确性,降低回归测试效率。技术实现要素:5.本公开实施例提供一种回归测试方法、装置、设备及存储介质,以克服现有技术中的影响测试结果的准确性,降低回归测试效率的问题。6.第一方面,本公开实施例提供一种回归测试方法,包括:7.获取第一视频和第一数据,其中所述第一视频表征通过运行第一程序将测试对象渲染至了原始视频中的预设位置,所述第一数据是运行所述第一程序过程中产生的,用于指示所述预设位置的数据;获取所述原始视频和所述测试对象;运行第二程序,根据所述第一数据将所述测试对象渲染至所述原始视频中的所述预设位置,得到第二视频;其中,所述第二程序为对所述第一程序进行修改后得到的程序;对比所述第一视频和所述第二视频,得到针对于所述测试对象的回归测试结果。8.第二方面,本公开实施例提供一种回归测试装置,包括:9.获取单元,用于获取第一视频和第一数据,其中所述第一视频表征通过运行第一程序将测试对象渲染至了原始视频中的预设位置,所述第一数据是运行所述第一程序过程中产生的,用于指示所述预设位置的数据;10.渲染单元,用于获取所述原始视频和所述测试对象,并运行第二程序,根据所述第一数据将所述测试对象渲染至所述原始视频中的所述预设位置,得到第二视频;其中,所述第二程序为对所述第一程序进行修改后得到的程序;11.对比单元,用于对比所述第一视频和所述第二视频,得到针对于所述测试对象的回归测试结果。12.第三方面,本公开实施例提供一种电子设备,包括:至少一个处理器和存储器;13.所述存储器存储计算机执行指令;14.所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的回归测试方法。15.第四方面,本公开实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的回归测试方法。16.第五方面,本公开实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能的设计所述的回归测试方法。17.本实施例提供的回归测试方法、装置、设备及存储介质,通过获取第一视频和第一数据,其中所述第一视频表征通过运行第一程序将测试对象渲染至了原始视频中的预设位置,所述第一数据是运行所述第一程序过程中产生的,用于指示所述预设位置的数据;获取所述原始视频和所述测试对象;运行第二程序,根据所述第一数据将所述测试对象渲染至所述原始视频中的所述预设位置,得到第二视频;其中,所述第二程序为对所述第一程序进行修改后得到的程序;对比所述第一视频和所述第二视频,得到针对于所述测试对象的回归测试结果。由于在第二程序生成第二视频的过程中,使用了第一程序生成第一视频的第一数据,因此保证了测试对象在第一视频和第二视频中的渲染位置一致性,从而解决了由于测试对象的渲染位置不一致,导致的测试不通过的问题,提高了测试结果的准确性和回归测试效率。附图说明18.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。19.图1为本公开实施例提供的一种应用场景图;20.图2为现有技术中一种对测试对象进行回归测试的示例图;21.图3为本公开实施例提供的回归测试方法流程示意图一;22.图4为本公开实施例提供的一种对测试对象进行回归测试的过程示意图;23.图5为本公开实施例提供的回归测试方法流程示意图二;24.图6为本公开实施例提供的一种用户输入操作指令的示意图;25.图7为本公开实施例提供的另一种用户输入操作指令的示意图;26.图8为本公开实施例提供的一种根据基准测试数据进行回归测试的示意图;27.图9为图5所示实施例中步骤s208的流程示意图;28.图10为本公开实施例提供的一种回归测试装置的结构框图;29.图11为本公开实施例提供的另一种回归测试装置的结构框图;30.图12为本公开实施例提供的一种电子设备的结构示意图;31.图13为本公开实施例提供的一种电子设备的硬件结构示意图。具体实施方式32.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。33.首先对本技术所涉及的名词进行解释:34.回归测试:回归测试是指代码修改后,重新对程序代码进行测试以确认修改没有引入新的错误或导致其他代码产生错误。在软件生命周期中的任何一个阶段,只要程序发生了改变,就可能给该软件带来问题,回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,应用程序开发的各个阶段,以及应用程序每次迭代升级后,都需要进行回归测试,以尽可能的避免应用程序中出现错误。35.下面对本技术实施例的应用场景进行解释:36.图1为本公开实施例提供的一种应用场景图,如图1所示,以视频类应用程序(app)为例,测试对象可以包括应用程序提供的特效,其中特效可以包括贴纸特效,或者增强现实(augmentedreality,ar)特效等。特效可以用于:通过以贴纸特效的方式在视频中的特定位置(例如人物物体或躯干上)添加虚拟物品,以增加短视频的表现力和趣味性。应用程序的开发者在对应用程序进行版本更新迭代的过程中,需要不断地对此类测试对象进行回归测试,以确保此类测试对象能够在不同的程序版本中正常显示。具体地,如图1中所示,在应用程序由1.0版本(版本号:v1.0)升级为1.1版本(版本号:v1.1)后,由于应用程序中程序代码的变化,可能会导致在1.0版本中可以正常使用的特效在1.1版本中无法正常使用,因此,需要对应用程序由1.0版本升级为1.1版本后,对特效进行回归测试,以确保特效的正常使用。同理,在应用程序由1.1版本迭代升级至2.0版本(版本号v2.0)后,需要对特效再次进行回归测试,以确保特效在2.0版本中的正常使用。37.图2为现有技术中一种对测试对象进行回归测试的示例图。参考图2,现有技术中,当发生应用程序版本升级迭代,需要对测试对象(例如,特效)进行回归测试时,通常采用的方法是获取原始视频和测试对象(例如,特效),并分别基于升级前程序和升级后程序进行视频图像识别、视频图像定位、添加测试对象(例如,特效)以及渲染的步骤,再将升级前程序渲染得到的第一视频和升级后程序渲染得到的第二视频进行相似度比较,得到回归测试结果,从而确定测试对象(例如,特效)是否正常显示。然而,在该过程中,通常存在以下情况从而导致测试结果错误:当应用程序升级后,例如由于其内部图像处理方法的变化,导致在视频图像识别和视频图像定位环节,升级前版本和升级后版本的视频图像定位结果不一致,从而使测试对象添加在视频中的位置发生变化,虽然该位置变化并不会影响测试对象的正常应用,但是,由于现有技术中采用的是相似度对比的方法,测试对象的位置因素对相似度结果影响很大,从而导致二者测试结果为不一致,即未通过测试,这就造成了回归测试结果错误的问题。后续必须经过人工核查,才能筛除该问题,导致了影响回归测试结果的准确性,降低回归测试效率的问题。因此,本公开实施例提供一种回归测试方法以解决上述问题。38.图3为本公开实施例提供的回归测试方法流程示意图一。本实施例的方法可以应用在终端设备中,本实施例中的测试对象可以包括特效,该回归测试方法可以包括:39.s101:获取第一视频和第一数据,其中第一视频表征通过运行第一程序将测试对象渲染至了原始视频中的预设位置,第一数据是运行第一程序过程中产生的,用于指示预设位置的数据。40.示例性地,第一程序可以指应用程序修改前的程序代码,更具体地,例如,在应用程序升级迭代的应用场景下,应用程序由v2.1版本升级为v2.2版本,则第一程序可以为升级前版本的程序,即v2.1版本的程序;或者,第一程序也可以为基准版本的程序,如v2.0版本的程序或v1.0版本的程序;相应的,第二程序可以为应用程序修改后的程序代码,具体地,在上述应用程序升级迭代的应用场景下,第二程序例如可以为v2.2版本的程序。41.在对测试对象进行自动化回归测试的过程中,每一测试对象对应至少一个测试用例,一个测试用例对应原始视频和操作指令数据,根据该测试用例对第一程序进行测试后,可以得到第一视频和第一数据,其中,第一视频为将测试对象渲染至原始视频中预设位置的视频,第一数据包括在运行第一程序的过程中产生的数据,示例性地,第一数据可以包括目标点坐标,目标点坐标用于描述测试对象在原始视频中的显示位置。更具体地,例如,在第一程序运行过程中,通过对原始视频进行图像识别,确定原始视频中的目标区域(测试对象被渲染的区域),并根据操作指令数据,在该目标区域添加测试对象,例如“王冠”形状的贴纸,在该过程中,第一数据为用于表征目标区域的位置数据,例如,目标区域的目标点坐标,将测试对象,例如“王冠”形状的贴纸,渲染至原始视频中的目标点坐标,并生成第二视频。其中,对原始视频图像进行图像识别,获得用于表征测试对象添加位置的第一数据,以及对原始视频图像和测试对象进行渲染,生成第一视频的具体方法,可以采用本领域现有技术实现,此处不再赘述。42.在一种可能的实现方式中,可以将第一视频和第一数据保存为测试对象对应的基准测试数据,通过该基准测试数据,获得第一视频和第一数据。基准测试数据可以用于对不同的第二程序进行回归测试。在一些实施方式中,基准测试数据可以是对应用程序的关键版本进行测试而获得的数据,可以作为基准以对之后的各版本进行测试,从而评估在应用程序的关键版本之后升级的版本相对于关键版本的一致性。43.s102:获取原始视频和测试对象,并运行第二程序,根据第一数据将测试对象渲染至原始视频的预设位置,得到第二视频;其中,第二程序为对第一程序进行修改后得到的程序。44.示例性地,第二程序可以为程序修改后的程序代码。具体地,在步骤s101所举示例中,第二程序为升级后版本的应用程序,例如v2.2版本的应用程序。在应用程序进行升级后,需要对测试对象进行回归测试,以保证测试对象在新版本程序中仍然能够正常使用。具体地,在运行第二程序进行测试过程中,可以不再通过第二程序对视频图像进行图像识别和定位等涉及到图像处理的相关步骤,而是直接使用第一数据,将测试对象渲染至原始视频中与第一数据对应的预设位置,得到第二视频。若测试对象通过第二程序,被成功渲染至原始视频中与第一数据对应的预设位置,生成第二视频,则第二视频中测试对象与原始视频的位置关系,与第一视频中测试对象与原始视频的位置关系,是一致的。由此,在后续的相似度判断中,不会造成由于第一视频和第二视频中,测试对象与原始视频的位置关系不一致,而导致二者低相似度的判断,从而影响测试结果的问题。45.其中,运行第二程序,并根据第一数据所指示的预设位置,将测试对象渲染至原始视频中的预设位置的方法可以采用本领域技术人员知晓的现有技术实现,此处不再进行一一赘述。46.s103:对比第一视频和第二视频,得到针对于测试对象的回归测试结果。47.示例性地,确定针对于测试对象的回归测试结果的方法可以包括:计算第一视频和第二视频的相似度,得到相似度值;根据相似度值,确定测试对象的回归测试结果。48.图4为本公开实施例提供的一种对测试对象进行回归测试的过程示意图。如图4所示,通过对测试对象和对应的原始视频,基于第一程序(例如,升级前版本)进行测试后,具体地,例如执行视频图像识别、视频图像定位等步骤,可以得到第一视频和对应的第一数据,将原始视频和第一数据输入第二程序(例如,升级后版本),基于第二程序进行测试,可以得到第二视频,对第一视频和第二视频进行相似度对比,可以得到测试对象的回归测试结果。其中,示例性地,得到第一视频和对应的第一数据的步骤,可以由第一终端设备实现;基于第二程序进行测试,得到第二视频,对第一视频和第二视频进行相似度对比的步骤,可以由第二终端设备实现。此外,得到第一视频和对应的第一数据的步骤,以及基于第二程序进行测试,得到第二视频,并对第一视频和第二视频进行相似度对比的步骤,也可以由同一终端设备实现。49.进一步地,影响测试对象的回归测试结果的因素很多,示例性地,在计算第一视频和第二视频的相似度时,第一视频为代码修改前版本程序对原始视频添加测试对象(例如,特效)的视频,可以认为是基准渲染视频,或正确渲染视频,当第二视频中出现特效全部或部分缺失、颜色改变、形状改变以及位置改变等一种或多种情况时,均会影响相似度的计算结果,从而得到测试不通过的结论。50.然而,在上述导致相似度计算偏低的因素中,位置改变并不是由测试对象所对应的程序代码或模块所导致的,而可能是由于程序中的其他功能函数和模块,例如图像识别的功能模块导致的,因此,由于位置不一致而导致相似度不一致,从而得出测试对象的回归测试不通过的结论,是不精确的。而本实施例中,由于第二视频渲染测试对象所基于的第一数据与第一视频所使用的第一数据一致,因此保证了二者的测试对象在原始视频中位置的一致性,避免了由于位置不一致导致的相似度计算结果不准确的问题,从而使针对于测试对象的回归测试结果具有高可信性。51.当然,本实施例中,除了相似度计算外,还可以采用其他得到针对于测试对象的回归测试结果的方法,例如特征点对比等。在利用其他方法进行对比时,也会面临由于第一视频渲染测试对象的位置和第二视频渲染测试对象的位置不一致而导致的误判问题,此处不再进行一一赘述。52.可以理解的是,本公开实施例中的测试对象可以包括诸如贴纸特效、虚拟物品特效等二维或三维的特效,此处不进行赘述。53.在本实施例中,通过获取第一视频和第一数据,其中,第一视频是对原始视频运行第一程序后得到的渲染视频,第一视频表征测试对象渲染至了原始视频中的预设位置,第一数据是运行第一程序过程中产生的,用于指示预设位置的数据;运行第二程序,根据第一数据将测试对象渲染至原始视频中的预设位置,得到第二视频;其中,第二程序为对第一程序进行修改后得到的程序;对比第一视频和第二视频,得到针对于测试对象的回归测试结果,由于在第二程序生成第二视频的过程中,使用了第一程序生成第一视频的第一数据,因此保证了测试对象在第一视频和第二视频中的渲染位置一致性,从而解决了由于测试对象的渲染位置不一致,导致的测试不通过的问题,提高了测试结果的准确性和回归测试效率。54.图5为本公开实施例提供的回归测试方法流程示意图二。本实施例中对步骤s101-s102进一步细化,其中,测试对象例如为包括贴纸特效等的特效等。该回归测试方法包括:55.s201:对预设的原始视频进行特征检测,确定目标对象关键点信息,目标对象关键点信息用于指示原始视频中可用于渲染测试对象的关键点坐标。56.示例性地,以原始视频为用户拍摄的场景视频为例进行说明,目标对象为场景视频中的目标物体,例如为一个桌子、一棵树等。对预设的原始视频进行特征检测,所确定的目标对象的关键点信息可以为物体关键点信息,物体关键点信息可用于指示原始视频中可用于渲染特效的坐标,即关键点坐标,以实现对在视频中的物体及其周围添加特效。更具体地,在获取原始视频后,终端设备根据图像识别算法,对原始视频进行物体检测,确定目标对象,以及目标对象的物体关键位置对应的坐标,即关键点信息。物体关键位置可以包括例如物体轮廓位置、物体中心位置、物体中心顶点位置等。根据现有的视频图像处理及图像识别算法,可以获得物体关键点信息,此处不对该过程进行赘述。57.s202:获取并响应用户输入的操作指令,操作指令用于将测试对象渲染至原始视频中。58.s203:根据操作指令,生成操作数据,其中,操作数据用于表征将测试对象渲染至原始视频中的操作过程。59.示例性地,其中,用户例如为开发者或者测试人员。步骤s202和s203为获取操作数据的过程,终端设备根据操作数据,能够将测试对象(例如,诸如包括贴纸特效等的特效)添加至原始视频中。更具体地,用户输入的操作指令,例如为选择特效的操作,图6为本公开实施例提供的一种用户输入操作指令的示意图,参考图6,用户通过点击不同特效对应的图标,为原始视频添加特效,具体地,如图6所示,用户通过点击“足球”特效对应的图标,在原始的场景视频中,桌子下的预设位置添加一个足球特效。图7为本公开实施例提供的另一种用户输入操作指令的示意图,参考图7,在另一种可能的实现方式中,用户通过点选并拖动不同特效对应的图标,在原始视频中的不同位置添加特效。更具体地,原始视频中的关键点坐标,是预设的一个或多个用于放置测试对象的坐标,该关键点坐标与目标对象所在位置、大小、轮廓形状等因素有关,通过拖动图标,可以将特效设置在关键点坐标所对应的位置;如图7所示,用户通过拖动“足球”特效对应的图标,将足球特效放置在目标对象(桌子)下的一个关键点坐标的位置。若关键点坐标有多个,可以通过拖动图标,选择关键点坐标所对应的其中一个位置,设置特效,可选地,关键点坐标处,显示有相应的提示标识,用于提示用于在该位置放置被测对象,例如特效。60.操作数据是对用户输入的操作指令的表征信息,当用户输入的操作指令不同时,相应的,终端设备获得的操作数据也不同。通过获取操作数据,可以实现记录用户输入操作指令的过程的目的,因此,在后续步骤中,通过操作数据生成的第一数据,包括了对用户输入操作指令过程的表征,在基于第二程序对测试对象进行测试的过程中,避免了由于用户输入操作指令不同而导致的测试结果不一致,影响测试准确性的问题。61.s204:根据目标对象关键点信息,确定关键点坐标中与测试对象对应的目标点坐标,目标点坐标用于表征原始视频中用于渲染测试对象的位置。62.示例性地,根据目标对象关键点信息,确定用于设置特效的目标点坐标,具体地,例如,物体关键点信息为物体关键点信息,物体关键点信息包括表征目标物体的中心位置的坐标点;根据目标物体的中心位置的坐标点,将目标物体的中心位置的坐标确定为目标点坐标,根据该目标点坐标,可实现对特效的定位,从而,在后续对特效进行渲染的过程中,以目标点坐标为基准,将特效渲染至该位置,实现对目标物品的装饰和美化。63.s205:对目标点坐标和操作数据进行序列化,生成第一数据。64.进一步地,在获取目标点坐标和操作数据后,为了便于数据的传输和存储,可以对上述数据进行序列化,生成第一数据。序列化是将被序列化对象的状态信息转换为可以存储或传输的数据格式的过程。在序列化期间,被序列化对象将其当前状态写入到临时或持久性存储区。之后,可以通过从存储区中读取或反序列化对象的状态,重新创建该对象。序列化后的数据,可以实现跨语言的读取,使其他代码开发的程序、脚本可以对序列化后的数据进行查看或修改,通过序列化生成的第一数据,可以提供给在本终端设备运行的第二程序使用,或者其他终端设备运行的第二程序使用,实现跨平台测试。65.s206:将测试对象渲染至目标点坐标,生成第一视频。66.示例性地,生成第一视频的具体过程可以包括:录制第一程序运行过程中,基于操作指令,将测试对象渲染至原始视频中目标点坐标的过程,生成第一视频。其中,运行第一程序,以及录制第一程序运行过程中的视频,可以由用户输入的操作指令触发,也可以是由终端设备执行的任务信息触发,此处不进行一一举例。67.其中,示例性地,得到第一视频和对应的第一数据的步骤,可以由第一终端设备实现。基于第二程序进行测试,得到第二视频,对第一视频和第二视频进行相似度对比的步骤,可以由第二终端设备实现,此外,该步骤也可以由第一终端设备实现。68.s207:将第一视频和第一数据保存为测试对象对应的基准测试数据。69.图8为本公开实施例提供的一种根据基准测试数据进行回归测试的示意图。如图8所示,具体地,在将第一视频和第一数据保存为基准测试数据后,在后续版本迭代升级过程中,可以不需要再通过运行当前版本的程序,获得对应的第一视频和第一数据后,再输入升级后版本的程序进行验证,而是直接将基准测试数据(例如,版本v1.0生成的第一视频和第一数据)输入升级后版本的程序进行验证,从而在应用程序开发阶段的应用场景下,提高应用程序在快速迭代开发的过程中的回归测试效率。70.s208:根据第一数据将测试对象渲染至原始视频中的预设位置,得到第二视频。71.可选地,如图9所示,步骤s208包括步骤s2081、s2082两个具体的实现步骤:72.s2081:对第一数据进行反序列化,得到目标点坐标和操作数据。73.s2082:按照操作数据对应的操作过程,录制第二程序运行过程中,将测试对象渲染至原始视频中的目标点坐标的视频,生成第二视频。74.示例性地,获取第一数据后,对第一数据进行反序列化,生成适用于当前第二程序的目标点坐标和操作数据,之后,按照操作数据对应的操作过程,录制第二程序运行过程中将测试对象渲染至原始视频中的目标点坐标的视频,相当于完全地还原第一视频的生成过程,避免了由于操作指令不同、测试对象位置不同导致的偏差。通过上述过程生成的第二视频,可以表现出在第二程序中测试对象的渲染效果。75.s209:对比第一视频和第二视频,得到针对于测试对象的回归测试结果。76.本实施例中,步骤s209的实现方式与本技术图3所示实施例中的步骤s103的实现方式相同,在此不再一一赘述。77.其中,需要说明的是,本公开实施例中,步骤s201至步骤s207的执行主体,与步骤s208至s209的执行主体,可以相同或不同,更具体地,例如,步骤s201至步骤s207的执行主体与步骤s208至s209的执行主体为第一终端设备,此时,第一终端设备在执行完步骤s206或s207后,可直接执行后续的步骤s208至s209。再例如,步骤s201至步骤s207的执行主体为第一终端设备,步骤s208至s209的执行主体为第二终端设备,则第一终端设备在执行完步骤s206或s207后,需要将第一数据和第一视频,或者基准测试数据,发送至第二终端设备,之后第二终端设备执行步骤s206或s207。从而实现回归测试的模块化处理,提高测试效率。78.对应于上文实施例的回归测试方法,图10为本公开实施例提供的一种回归测试装置的结构框图。为了便于说明,仅示出了与本公开实施例相关的部分。参照图10,回归测试装置3包括:79.获取单元31,用于获取第一视频和第一数据,其中第一视频表征通过运行第一程序将测试对象渲染至了原始视频中的预设位置,第一数据是运行第一程序过程中产生的,用于指示预设位置的数据;80.渲染单元32,用于获取原始视频和测试对象,并运行第二程序,根据第一数据将测试对象渲染至原始视频中的预设位置,得到第二视频;其中,第二程序为对第一程序进行修改后得到的程序;81.对比单元33,用于对比第一视频和第二视频,得到针对于测试对象的回归测试结果。82.其中,获取单元31、渲染单元32和对比单元33依次连接。本实施例提供的回归测试装置3可以执行如图3所示的方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。83.图11为本公开实施例提供的另一种回归测试装置的结构框图,本实施例提供的回归测试装置4在图10所示的回归测试装置3的基础上,增加了运行单元41,参考图11,回归测试装置4中:84.在本公开的一个实施例中,回归测试装置4还包括:85.运行单元41,用于对预设的原始视频进行特征检测,确定物体关键点信息,物体关键点信息指示原始视频中可用于渲染测试对象的关键点坐标;根据物体关键点信息,确定关键点坐标中与测试对象对应的目标点坐标;目标点坐标用于表征原始视频中用于渲染测试对象的位置;运行第一程序,将测试对象渲染至目标点坐标,生成第一视频。86.在本公开的一个实施例中,第一数据中包括目标点坐标;第一视频是通过将测试对象渲染至目标点坐标生成的。87.在本公开的一个实施例中,目标点坐标包括根据对原始视频进行特征检测后得到的物体关键点信息确定的坐标,其中,物体关键点信息指示原始视频中可用于渲染测试对象的关键点坐标。88.在本公开的一个实施例中,第一数据中还包括操作数据,操作数据是根据用户输入的操作指令生成的,操作数据用于表征将测试对象渲染至原始视频的操作过程。89.在本公开的一个实施例中,第一数据是通过对目标点坐标和操作数据进行序列化而获得的,渲染单元32在运行第二程序,根据第一数据将测试对象渲染至原始视频中的预设位置,得到第二视频时,具体用于:对第一数据进行反序列化,得到目标点坐标和操作数据;根据操作数据,录制基于第二程序,将测试对象渲染至原始视频中的目标点坐标的过程,生成第二视频。90.在本公开的一个实施例中,第一数据是通过对目标点坐标进行序列化而获得的,或者,第一数据是通过对目标点坐标和操作数据进行序列化而获得的。91.在本公开的一个实施例中,运行单元41,还用于:将目标点坐标进行序列化,生成第一数据。92.在本公开的一个实施例中,运行单元41,还用于:获取并响应用户输入的操作指令,操作指令用于将测试对象渲染至原始视频中目标点坐标;录制第一程序运行过程中,基于操作指令,将测试对象渲染至原始视频中目标点坐标的过程,生成第一视频。93.在本公开的一个实施例中,运行单元41在运行第一程序,将测试对象渲染至目标点坐标,生成第一视频时,具体用于:录制第一程序运行过程中,操作指令对应的将测试对象渲染至原始视频中目标点坐标的过程,生成第一视频。94.在本公开的一个实施例中,运行单元41,还用于:根据操作指令,生成操作数据,其中,操作数据用于表征将测试对象渲染至原始视频的操作过程;对目标点坐标和操作数据进行序列化,生成第一数据。95.在本公开的一个实施例中,运行单元41,还用于:将第一视频和第一数据保存为测试对象对应的基准测试数据,基准测试数据用于对不同的第二程序进行回归测试。96.在本公开的一个实施例中,渲染单元32,具体用于:对第一数据进行反序列化,得到目标点坐标和操作数据;按照操作数据对应的操作过程,录制第二程序运行过程中,将测试对象渲染至原始视频中的目标点坐标的过程,生成第二视频。97.在本公开的一个实施例中,对比单元33,具体用于:计算第一视频和第二视频的相似度,得到相似度值;根据相似度值,确定测试对象的回归测试结果。98.其中,运行单元41与获取单元31连接。本实施例提供的回归测试装置4可以执行如图5所示的方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。99.图12为本公开实施例提供的一种电子设备的结构示意图,如图12所示,该电子设备5包括至少一个处理器501和存储器502;100.存储器502存储计算机执行指令;101.至少一个处理器501执行存储器502存储的计算机执行指令,使得至少一个处理器501执行如图3-图9所示实施例中的回归测试方法。102.其中,处理器501和存储器502通过总线503连接。103.相关说明可以对应参见图3-图9所对应的实施例中的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。104.参考图13,其示出了适于用来实现本公开实施例的电子设备900的结构示意图,该电子设备900可以为终端设备或服务器。其中,终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、个人数字助理(personaldigitalassistant,简称pda)、平板电脑(portableandroiddevice,简称pad)、便携式多媒体播放器(portablemediaplayer,简称pmp)、车载终端(例如车载导航终端)、可穿戴电子设备等等的移动终端以及诸如数字tv、台式计算机、智能家居设备等等的固定终端。图13示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。105.如图13所示,电子设备900可以包括处理装置(例如中央处理器、图形处理器等)901,其可以根据存储在只读存储器(readonlymemory,简称rom)902中的程序或者从存储装置908加载到随机访问存储器(randomaccessmemory,简称ram)903中的程序而执行各种适当的动作和处理。在ram903中,还存储有电子设备900操作所需的各种程序和数据。处理装置901、rom902以及ram903通过总线904彼此相连。输入/输出(i/o)接口905也连接至总线904。106.通常,以下装置可以连接至i/o接口905:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置906;包括例如液晶显示器(liquidcrystaldisplay,简称lcd)、扬声器、振动器等的输出装置907;包括例如磁带、硬盘等的存储装置908;以及通信装置909。通信装置909可以允许电子设备900与其他设备进行无线或有线通信以交换数据。虽然图13示出了具有各种装置的电子设备900,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。107.特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置909从网络上被下载和安装,或者从存储装置908被安装,或者从rom902被安装。在该计算机程序被处理装置901执行时,执行本公开实施例的方法中限定的上述功能。108.需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。109.上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。110.上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备执行上述实施例所示的方法。111.可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(localareanetwork,简称lan)或广域网(wideareanetwork,简称wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。112.附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。113.描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。114.本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。115.在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。116.第一方面,根据本公开的一个或多个实施例,提供了一种回归测试方法,包括:117.获取第一视频和第一数据,其中所述第一视频表征通过运行第一程序将测试对象渲染至了原始视频中的预设位置,所述第一数据是运行所述第一程序过程中产生的,用于指示所述预设位置的数据;获取所述原始视频和所述测试对象;运行第二程序,根据所述第一数据将所述测试对象渲染至所述原始视频中的所述预设位置,得到第二视频;其中,所述第二程序为对所述第一程序进行修改后得到的程序;对比所述第一视频和所述第二视频,得到针对于所述测试对象的回归测试结果。118.根据本公开的一个或多个实施例,所述第一数据中包括目标点坐标;所述第一视频是通过将所述测试对象渲染至所述目标点坐标生成的。119.根据本公开的一个或多个实施例,所述目标点坐标包括根据对所述原始视频进行特征检测后得到的物体关键点信息确定的坐标,其中,所述物体关键点信息指示所述原始视频中可用于渲染所述测试对象的关键点坐标。120.根据本公开的一个或多个实施例,所述第一数据中还包括操作数据,所述操作数据是根据用户输入的操作指令生成的,所述操作数据用于表征将所述测试对象渲染至所述原始视频的操作过程。121.根据本公开的一个或多个实施例,所述第一数据是通过对所述目标点坐标和操作数据进行序列化而获得的,其中,所述运行第二程序,根据所述第一数据将所述测试对象渲染至所述原始视频中的所述预设位置,得到第二视频,包括:对所述第一数据进行反序列化,得到所述目标点坐标和所述操作数据;根据所述操作数据,录制基于所述第二程序,将所述测试对象渲染至所述原始视频中的所述目标点坐标的过程,生成所述第二视频。122.根据本公开的一个或多个实施例,所述方法还包括:123.获取并响应用户输入的操作指令,所述操作指令用于将所述测试对象渲染至原始视频中目标点坐标;录制第一程序运行过程中,基于所述操作指令,将所述测试对象渲染至所述原始视频中目标点坐标的过程,生成第一视频。124.根据本公开的一个或多个实施例,所述方法还包括:根据所述操作指令,生成操作数据,其中,所述操作数据用于表征将所述测试对象渲染至所述原始视频的操作过程;对所述目标点坐标和所述操作数据进行序列化,生成第一数据。125.根据本公开的一个或多个实施例,所述方法还包括:将所述第一视频和所述第一数据保存为所述测试对象对应的基准测试数据,所述基准测试数据用于对不同的第二程序进行回归测试。126.根据本公开的一个或多个实施例,对比所述第一视频和所述第二视频,得到针对于所述测试对象的回归测试结果,包括:计算第一视频和所述第二视频的相似度,得到相似度值;根据所述相似度值,确定所述测试对象的回归测试结果。127.根据本公开的一个或多个实施例,所述回归测试方法包括:获取原始视频和测试对象;运行第一程序将所述测试对象渲染至原始视频中的预设位置,并生成第一视频;获取运行所述第一程序过程中产生的第一数据,所述第一数据用于指示所述预设位置;运行第二程序,根据所述第一数据将所述测试对象渲染至所述原始视频中的所述预设位置,得到第二视频;其中,所述第二程序为对所述第一程序进行修改后得到的程序;对比所述第一视频和所述第二视频,得到针对于所述测试对象的回归测试结果。128.第二方面,根据本公开的一个或多个实施例,提供了一种回归测试装置,包括:129.获取单元,用于获取第一视频和第一数据,其中所述第一视频表征通过运行第一程序将测试对象渲染至了原始视频中的预设位置,所述第一数据是运行所述第一程序过程中产生的,用于指示所述预设位置的数据;130.渲染单元,用于获取所述原始视频和所述测试对象,并运行第二程序,根据所述第一数据将所述测试对象渲染至所述原始视频中的所述预设位置,得到第二视频;其中,所述第二程序为对所述第一程序进行修改后得到的程序;131.对比单元,用于对比所述第一视频和所述第二视频,得到针对于所述测试对象的回归测试结果。132.根据本公开的一个或多个实施例,回归测试装置还包括:运行单元,用于对预设的原始视频进行特征检测,确定物体关键点信息,所述物体关键点信息指示所述原始视频中可用于渲染所述测试对象的关键点坐标;根据物体关键点信息,确定关键点坐标中与测试对象对应的目标点坐标;目标点坐标用于表征原始视频中用于渲染测试对象的位置;运行第一程序,将测试对象渲染至目标点坐标,生成第一视频。133.根据本公开的一个或多个实施例,所述第一数据中包括目标点坐标;所述第一视频是通过将所述测试对象渲染至所述目标点坐标生成的。134.根据本公开的一个或多个实施例,所述目标点坐标包括根据对所述原始视频进行特征检测后得到的物体关键点信息确定的坐标,其中,所述物体关键点信息指示所述原始视频中可用于渲染所述测试对象的关键点坐标。135.根据本公开的一个或多个实施例,所述第一数据中还包括操作数据,所述操作数据是根据用户输入的操作指令生成的,所述操作数据用于表征将所述测试对象渲染至所述原始视频的操作过程。136.在本公开的一个实施例中,所述第一数据是通过对所述目标点坐标和操作数据进行序列化而获得的,渲染单元在运行第二程序,根据所述第一数据将所述测试对象渲染至所述原始视频中的所述预设位置,得到第二视频时,具体用于:对所述第一数据进行反序列化,得到所述目标点坐标和所述操作数据;根据所述操作数据,录制基于所述第二程序,将所述测试对象渲染至所述原始视频中的所述目标点坐标的过程,生成所述第二视频。137.根据本公开的一个或多个实施例,所述第一数据是通过对所述目标点坐标进行序列化而获得的,或者,所述第一数据是通过对所述目标点坐标和操作数据进行序列化而获得的。138.根据本公开的一个或多个实施例,运行单元,还用于:将目标点坐标进行序列化,生成第一数据。139.根据本公开的一个或多个实施例,运行单元,还用于:获取并响应用户输入的操作指令,所述操作指令用于将所述测试对象渲染至原始视频中目标点坐标;录制第一程序运行过程中,基于所述操作指令,将所述测试对象渲染至所述原始视频中目标点坐标的过程,生成第一视频。140.根据本公开的一个或多个实施例,运行单元在运行第一程序,将测试对象渲染至目标点坐标,生成第一视频时,具体用于:录制第一程序运行过程中,操作指令对应的将测试对象渲染至原始视频中目标点坐标的过程,生成第一视频。141.根据本公开的一个或多个实施例,运行单元,还用于:根据所述操作指令,生成操作数据,其中,所述操作数据用于表征将所述测试对象渲染至所述原始视频的操作过程;对所述目标点坐标和所述操作数据进行序列化,生成第一数据。142.根据本公开的一个或多个实施例,运行单元,还用于:将所述第一视频和所述第一数据保存为所述测试对象对应的基准测试数据,所述基准测试数据用于对不同的第二程序进行回归测试。143.根据本公开的一个或多个实施例,渲染单元,具体用于:对所述第一数据进行反序列化,得到所述目标点坐标和所述操作数据;按照所述操作数据对应的操作过程,录制所述第二程序运行过程中,将所述测试对象渲染至所述原始视频中的所述目标点坐标的视频,生成所述第二视频。144.根据本公开的一个或多个实施例,对比单元,具体用于:计算第一视频和第二视频的相似度,得到相似度值;根据相似度值,确定测试对象的回归测试结果。145.第三方面,根据本公开的一个或多个实施例,提供了一种电子设备,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的回归测试方法。146.第四方面,根据本公开的一个或多个实施例,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的回归测试方法。147.第五方面,根据本公开的一个或多个实施例,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能的设计所述的回归测试方法。148.以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。149.此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。150.尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。当前第1页12当前第1页12
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献