一种测试方法及终端设备与流程

文档序号:19418275发布日期:2019-12-14 01:09阅读:168来源:国知局
一种测试方法及终端设备与流程

本申请涉及计算机技术领域,尤其涉及一种测试方法及终端设备。



背景技术:

终端设备上的应用程序和系统等在使用的过程中可能会因为系统异常或其他原因而发生故障。对此,终端设备可以向应用程序或者系统发出随机的测试指令来模拟用户发出的操作指令,以测试终端设备上的应用程序和系统等在实际使用过程中的稳定性。虽然通过该方法可以测试出终端设备的稳定性,但是却无法确定出终端设备上的应用程序和系统等发生故障的原因。

目前多采用人工重复性测验的方式来确定故障的原因,然而这种排查故障的方法效率非常低。还有一种方法是通过录屏来记录测试过程,但录屏只能记录显示界面响应操作动作而显示的界面,无法显示出具体操作动作。甚至于有的操作动作不会引起界面变化,例如对隐藏控件的测试等。因此基于录屏也无法对故障进行排查。



技术实现要素:

本申请实施例提供一种测试方法,可以对测试故障进行自动排查。

第一方面,本申请实施例提供了一种测试方法,该方法包括:

在对测试对象进行测试的过程中,获取针对所述测试对象产生的至少一个测试事件的特征信息,所述特征信息包括位置信息和执行时间;

根据所述至少一个测试事件的特征信息生成第一视频;

获取测试日志中记录的所述测试对象的故障时间点;

根据所述故障时间点和所述第一视频生成第二视频;

根据所述第二视频从所述至少一个测试事件中确定出导致所述测试对象出现故障的目标测试事件。

第二方面,本申请实施例提供了一种终端设备,该终端设备包括用于执行上述第一方面的测试方法的单元,该终端设备包括:

获取单元,用于在对测试对象进行测试的过程中,获取针对所述测试对象产生的至少一个测试事件的特征信息,所述特征信息包括位置信息和执行时间;

生成单元,用于根据所述至少一个测试事件的特征信息生成第一视频;

所述获取单元,还用于获取测试日志中记录的所述测试对象的故障时间点;

所述生成单元,还用于根据所述故障时间点和所述第一视频生成第二视频;

确定单元,用于根据所述第二视频从所述至少一个测试事件中确定出导致所述测试对象出现故障的目标测试事件。

第三方面,本申请实施例提供了另一种终端设备,包括处理器和存储器,所述处理器和存储器相互连接,其中,所述存储器用于存储支持终端设备执行上述测试方法的计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,用以执行上述第一方面的测试方法。

在本申请中,终端设备先记录测试过程中生成的至少一个测试事件,并根据该至少一个测试事件生成用于重现该至少一个测试事件的轨迹的第一视频。然后根据测试对象出现故障的故障时间点和第一视频生成得到第二视频。最后根据第二视频从上述至少一个测试事件中确定出导致测试对象出现故障的目标测试事件。可以看出,对于不管是会引起显示界面变化的测试事件,还是不会引起显示界面变化的测试事件(对于隐藏控件的操作),第一视频和第二视频都可以重现出测试事件的轨迹,这是简单的录屏无法实现的。而且第二视频为测试对象发生故障时的视频片段,从而可以还对测试故障进行了精准定位。最后本申请还根据第二视频进一步确定得到的导致测试对象出现故障的目标测试事件,从而可以快速确定故障的原因。因此本申请可以对测试故障进行自动排查。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1是本申请实施例提供的一种测试方法的示意流程图;

图2是本申请另一实施例提供的一种测试方法的示意流程图;

图3是本申请实施例提供的一种终端设备的示意性框图;

图4是本申请另一实施例提供的一种终端设备的结构性框图;

图5是本发明实施例提供的一种测试方法的应用场景图;

图6是本申请实施例提供的一种第一视频的示意图;

图7是本申请实施例提供的另一种第一视频的示意图;

图8是本申请实施例提供的另一种第一视频的示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。

本申请主要应用程序于终端设备,该终端设备可以是传统终端设备、大型存储系统、台式电脑、笔记本电脑、平板电脑、掌上电脑、智能手机、便携式数字播放器、智能手表和智能手环等等,本申请对此不做限制。当终端设备与其他终端设备进行数据交互的时候,终端设备和终端设备都按照预设格式进行对数据的特性进行记录并传送,其中,数据的特性包括时间、地点、类型等。

为了测试终端设备上的应用程序和系统等在实际使用过程中的稳定性,终端设备可以通过向应用程序或者系统发出随机的测试指令来模拟用户发出的操作指令。若终端设备上的应用程序或者系统出现故障,测试人员则可以中断测试并通过人工反复测试来确定故障的原因。可见,该种测试方法的故障排除效率很低。

为此解决上述测试方法效率低的问题,本申请实施例提供了另一种测试方法,可以对测试故障进行自动排查以提高故障排查的效率。简单来说,终端设备首先记录得到测试过程中生成的用于对测试对象进行测试的测试事件的特征信息。然后根据特征信息所指示的测试事件的位置信息和执行时间,生成第一视频,该第一视频包含了测试过程中的测试事件的测试轨迹。为了可以进一步定位测试过程中的故障,终端设备先获取测试日志中记录的测试对象的故障时间点,然后根据该故障时间点从第一视频中截取出出包含有测试事件出现故障的过程的视频片段作为第二视频。该第二视频由于缩小了故障的查询范围,因此可以理解为对测试对象的故障进行了精准定位。最后终端设备根据第二视频从上述至少一个测试事件中确定出导致测试对象出现故障的目标测试事件,从而实现了对测试故障的自动排查。

为了能够更好地理解本发明实施例,下面将结合图5,对应用程序本发明实施例的方法进行介绍,本发明实施例可以应用于对终端设备上的应用程序和系统等进行自动检测的场景中。

在对终端设备上的测试对象进行测试时,终端设备可以通过触摸屏或者鼠标等输入设备接收用户的操作,并根据用户的操作生成针对于该测试对象的测试事件。终端设备也可以直接利用预设程序随机生成测试事件,以模拟人为操作。假设终端设备获取到针对如图5所示的显示界面产生的滑动事件的特征信息,该滑动事件的特征信息包括滑动事件的位置信息和执行时间。然后终端设备根据滑动事件的位置信息和执行时间描绘出滑动事件的轨迹,或者获取滑动操作的动画效果来表示滑动事件的轨迹,得到如图6中所示的轨迹视频。至此,可以将该轨迹视频作为第一视频,也可以将该轨迹视频与用于描述该滑动事件的文本信息合并之后得到如图6所示的第一视频。或者,终端设备可以将如图6所示的第一视频和针对测试对象的录屏视频进行合成得到如图7(轨迹视频和录屏视频重合在一起,轨迹视频空白部分不会对录屏视频造成遮挡)或者图8(轨迹视频和录屏视频互不重合)所示的第一视频。

在得到第一视频之后,终端设备从测试日志获取测试对象在测试过程中发生故障时的故障时间点。然后终端设备从第一视频中截取一段预设时长的包含有该故障时间点的视频作为第二视频。第二视频播放后测试人员可以从测试过程中生成的至少一个测试事件中确定出导致测试对象出现故障的目标事件。

在得到上述第二视频之后,终端设备自动根据第二视频从测试过程中生成的至少一个测试事件中确定出导致测试对象出现故障的目标测试事件。具体的,终端设备根据故障时间点将第二视频分帧成多帧图片,并从该多帧图片中确定出距离故障时间点最近的包含有轨迹的图片,并将该图片作为目标图片。然后终端设备获取目标图片对应的测试事件作为导致测试对象出现故障的目标测试事件。或者,终端设备获取第二视频包含的多个测试事件,然后从第二视频包含的多个测试事件中确定出执行时间距离故障时间点最近的测试事件,并将该确定得到的测试事件作为导致测试对象出现故障的目标测试事件。在确定目标测试事件之后,还可以输出包含有上述目标测试事件的测试报告。

在确定导致测试对象发生故障的目标测试事件之后,终端设备还可以基于目标测试事件,对测试对象进行深度的检测。具体的,终端设备先根据目标测试事件的位置信息确定包含有目标测试事件的轨迹的预设区域,并将该预设区域作为测试对象的待测区域。然后对该待测区域进行测试。若测试的过程中没有出现故障,则不做任何处理。若测试的过程中出现了故障,则根据测试过程中针对该待测区域生成的至少一个测试事件的特征信息,来生成第一测试视频,该第一测试视频包含了针对待测区域进行测试的过程中生成的至少一个测试事件的轨迹。再然后根据测试对象出现故障的时间点和第一测试视频生成第二测试视频,最后还可以根据第二测试视频确定出在针对待测区域进行测试的过程中导致测试对象出现问题的目标测试事件。具体实现过程可参照上述根据第一视频生成第二视频,以及上述根据第二视频确定出目标测试事件的过程,在此不再赘述。

需要说明的是,图1中所示内容为一种举例,并不构成对本发明实施例的限定。因为在本申请中,针对不同应用程序和程序,终端设备上显示的显示界面不同。

参见图1,是本申请实施例提供的一种测试方法的示意流程图,如图1所示测试方法可包括:

101:在对测试对象进行测试的过程中,获取针对测试对象产生的至少一个测试事件的特征信息。

在本申请实施例中,终端设备通过随机测试程序(如monkey测试程序)生成针对于终端设备上的测试对象(包括应用程序和系统等)的至少一个测试事件,以对测试对象进行测试,并通过监听服务程序记录得到上述至少一个测试事件的特征信息。其中,测试事件包括针对测试对象的点击、长按、拖动、滑动和数据输入等,测试事件的特征信息包括测试事件的位置信息(例如坐标等)和执行时间(每个位置信息对应一个执行时间)。随机测试程序对测试对象进行测试的原理在于,省略了用户通过触摸屏或者鼠标等对测试对象进行操作,然后根据用户的操作生成对应的测试事件的步骤,而是直接生成作用于该测试对象的测试事件。

举例来说,如图5所示,终端设备针对如图5所示的应用程序的某个显示界面生成了滑动事件。该滑动事件模拟了用户自a点向b点滑动显示界面的过程。

102:根据上述至少一个测试事件的特征信息生成第一视频。

在本发明实施例中,终端设备根据上述获取得到的至少一个测试事件的特征信息中(包括位置信息和执行时间)生成第一视频。具体的,在生成第一视频时,可以直接根据测试事件的位置信息和位置信息的执行时间等描绘出测试事件的轨迹。

在一种可实施的方式中,上述特征信息还包括测试事件的事件类型,在生成上述第一视频时,先获取至少一个测试事件中每一个测试事件的事件类型;然后获取每一个测试事件的事件类型对应的动画效果;最后按照每一个测试事件的执行时间的先后顺序,根据每一个测试事件的位置信息和每一个测试事件的事件类型对应的动画效果生成第一视频。

为了使第一视频中的测试事件的轨迹更加生动易读,本申请实施利用动画效果对第一视频中的测试事件的轨迹进行渲染。具体的,在生成第一视频的时候,按照测试过程中生成的至少一个测试事件中的每个测试事件的执行时间的先后顺序,依次获取每个测试事件的事件类型对应的动画效果。然后按照测试事件的位置信息调整动画效果在终端设备的显示界面中的位置,从而以生动的动画效果来表示得到测试事件的轨迹。在用动画效果对上述至少一个测试事件中的每个测试事件的轨迹进行渲染之后,得到第一视频,该第一视频包含例如图6所示的轨迹视频。其中,移动事件的事件类型为移动,对应的动画效果为直线连接;点击事件的事件类型为点击,对应的动画效果为圆圈;长按事件的事件类型为长按,对应的动画效果为圆角矩形;滑动事件的事件类型为滑动,对应的动画效果为带方向的箭头。

在一种可实施的方式中,第一视频中包括用于描述至少一个测试事件的文本信息。具体的,第一视频包含例如图6所示的轨迹视频和文字部分。图6所示的文字部分即上述用于描述至少一个测试事件的文本信息。该文本信息以滚屏的方式显示预设条数的文字信息,该预设条数的文字信息中包含有当前播放的测试事件对应的文字信息。其中,预设条数可以是任意条数,本申请对此不做限定。

在一种可实施的方式中,终端设备在对测试对象进行测试的过程中,对测试对象的显示界面进行录屏,以得到例如图7中所示的录屏视频;然后终端设备根据上述测试过程中获取的至少一个测试事件的特征信息和录屏视频生成第一视频。

在本申请实施例中,终端设备还可以在测试过程中利用录像程序录制对终端设备的显示界面进行录屏,得到如图7所示的录屏视频。然后终端设备根据测试过程中获取的至少一个测试事件生成例如图7所示的轨迹视频。由于该录屏视频包括时间信息,因此根据录屏视频的时间信息可以将录屏视频的时间轴和第一视频的时间轴完全重合起来,达到同步播放的效果。最后根据轨迹视频和录屏视频生成得到第一视频。其中,第一视频包含轨迹视频和录屏视频,轨迹视频和录屏视频分别占用第一视频的显示画面的不同区域,例如图7所示的第一视频;或者,轨迹视频和录屏视频重合在一起,轨迹视频的空白部分不会对录屏视频造成遮挡,例如图8所示的第一视频。其中,轨迹视频和录屏视频分别占用第一视频的显示画面的不同区域时,第一视频和录屏视频可以是上下分布,也可以是左右分布,本申请对第一视频和录屏视频的具体分布方式不做限定。

103:获取测试日志中记录的测试对象的故障时间点。

本申请实施例中,终端设备在生成第一视频之后,获取测试日志,并获取测试日志中记录的测试对象的故障时间点。测试对象的故障时间点是测试过程中测试对象发生故障的时间点。测试对象可能发生的故障包括:程序运行崩溃,例如11点18分,系统异常导致程序退出!

104:根据上述故障时间点和第一视频生成第二视频。

本申请实施例中,终端设备根据上述故障时间点和第一视频生成第二视频,第二视频用于从至少一个测试事件中确定出导致测试对象出现故障的目标测试事件。具体的,确定包含故障时间点的目标时间段;从上述第一视频中截取对应上述目标时间段的视频片段,并将上述视频片段作为第二视频。举例来说,截取第一视频中以故障时间点为中心的前后3秒的视频作为第二视频。

105:根据上述第二视频从上述至少一个测试事件中确定出导致测试对象出现故障的目标测试事件。

在本申请实施例中,由于第二视频为从第一视频中截取的包含有测试对象出现故障的过程的片段视频,因此终端设备可以通过对第二视频进行分析,以确定出在测试过程中获取的至少一个测试事件中导致测试对象出现故障的目标测试对象。具体的,终端设备先获取测试日志中记录的测试对象的故障时间点,并从第二视频包含的至少一个测试事件中确定出执行时间距离上述故障时间点最近的测试事件;然后将执行时间距离上述故障时间点最近的测试事件作为导致测试对象出现故障的目标测试事件;最后还可以输出包含有目标测试事件的测试报告。

举例来说,终端设备先根据测试过程中获取的至少一个测试事件的执行时间确定第二视频中包含的至少一个测试事件,假设第二视频在第1秒、第3秒和第4秒分别包含有针对于测试对象的测试事件。终端设备获取到测试对象出现故障的故障时间点为第2.5秒。因此确定得到第二视频包含的3个测试事件中距离故障时间点最近的时间点为第3秒生成的测试事件,然后将该第3秒发生的测试事件作为导致测试对象发生故障的目标测试事件。最后生成包含该目标测试事件的测试报告。

在一种可实施的方式中,从测试过程中获取的至少一个测试事件中确定出执行时间在上述故障时间点之前发生的最近的测试事件。接着上一个例子进行说明,通过本方法可以确定得到第二视频包含的3个测试事件中在故障时间点之前发生的最近的时间点为第1秒生成的测试事件。然后将该第1秒生成的测试事件作为导致测试对象发生故障的目标测试事件。最后生成包含该目标测试事件的测试报告。

在一种可实施的方式中,还有另外一种确定上述目标测试事件的方法。具体的,终端设备根据故障时间点对第二视频进行分帧得到至少一帧图片;然后对该至少一帧图片进行图像解析,以确定距离故障时间点最近的包含有轨迹的图片,并将该距离故障时间点最近的包含有轨迹的图片作为目标图片;再然后获取目标图片对应的测试事件作为导致测试对象出现故障的目标测试事件;最后还可以输出针对测试对象的测试报告,该测试报告包括目标测试事件。

本申请实施例中,终端设备先将第二视频分帧为多帧图片。然后从故障时间点对应的图片开始,查找距离故障时间点最近的包含有测试事件的轨迹的图片,并将该图片作为目标图片。再然后从测试过程中获取的至少一个测试事件中确定出执行时间与目标图片的时间轴对应的测试事件,并将该测试事件作为目标测试事件。其中,图片的时间轴与测试事件的执行时间之间存在应映射关系。最后终端设备在确定目标测试事件之后,还可以输出包含有该目标测试事件的测试报告。可见,本申请在确定导致测试对象出现故障的目标测试事件时,先通过故障时间点快速定位到第二视频,然后利用分帧和图像解析的方法确定第二视频中中距离故障时间点最近的包含有轨迹的图片,最后在记录的至少一个测试事件中查找该图片对应的目标测试事件,从而本申请可以自动且快速对测试故障进行排查。

在一种可实施的方式中,上述第一视频和第二视频可以包含暂停、播放、倒退、前进、加速和减速等至少一种图标,当图标被选中时,图标对应的功能被触发。例如第一视频中的“暂停”图标被选中时,第一视频暂停播放。

在一种可实施的方式中,所述确定目标测试事件之后,终端设备根据目标测试事件的位置信息按照预设范围确定测试对象的待测区域;然后对待测区域进行测试。

在本申请实施例中,若目标测试事件导致了测试对象发生故障,则除了对目标测试事件的轨迹所在的位置进行操作会导致测试对象发生故障以外,对目标测试事件的轨迹附近的区域进行操作也有较大的可能性会导致测试对象发生故障。具体的,终端设备先根据目标测试事件的位置信息确定包含目标测试事件的轨迹的预设区域,并将该预设区域作为测试对象的待测区域。然后对该待测区域进行测试。若测试的过程中没有出现故障,则不做任何操作。若测试的过程中出现了故障,则根据测试过程中针对该待测区域生成的至少一个测试事件的特征信息,来生成第一测试视频,该第一测试视频包含了针对待测区域进行测试的过程中生成的至少一个测试事件的轨迹。再然后根据测试对象出现故障的时间点和第一测试视频生成第二测试视频,最后还可以根据第二测试视频确定出在针对待测区域进行测试的过程中导致测试对象出现问题的目标测试事件。具体实现过程可参照上述根据第一视频生成第二视频,以及上述根据第二视频确定出目标测试事件的过程,在此不再赘述。可见,本申请不仅可以对目标测试事件的轨迹进行验证性检测,还会对目标测试事件的轨迹的附近区域进行集中测试,因此本申请实施例的方法可以有效的提高发现测试故障的效率。

需要说明的是,上述根据目标测试事件的位置信息确定包含目标测试事件的轨迹的预设区域指的是,确定以目标测试事件的轨迹上最远两点之间的线段为直径的圆形区域,并将该圆形区域作为待测区域;或者,确定以目标测试事件的轨迹的两个端点分别为圆心的两个相切圆的区域,将该两个相切圆的区域作为待测区域,本申请实施例对根据目标轨迹确定待测区域的方法不作限定。

在本申请实施例中,终端设备先记录测试过程中生成的至少一个测试事件,并根据该至少一个测试事件生成用于重现该至少一个测试事件的轨迹的第一视频。然后根据测试对象出现故障的故障时间点和第一视频生成得到第二视频。最后根据第二视频从至少一个测试事件中确定出导致测试对象出现故障的目标测试事件。可以看出,对于不管是会引起显示界面变化的测试事件,还是不会引起显示界面变化的测试事件(对于隐藏控件的操作),第一视频和第二视频都可以重现出测试事件的轨迹,这是简单的录屏无法实现的。而且第二视频为测试对象发生故障时的视频片段,从而还可以自动对测试故障进行精准定位。最后根据第二视频进一步确定得到的导致测试对象出现故障的目标测试事件,从而可以快速确定故障的原因。因此本申请可以对测试故障进行自动排查。

参见图2,是本申请另一实施例提供的一种测试方法的示意流程图,如图2所示的测试方法可包括:

201:在对测试对象进行测试的过程中,获取针对测试对象产生的至少一个测试事件的特征信息。

202:根据上述至少一个测试事件的特征信息生成第一视频。

在一种可实施的方式中,在对测试对象进行测试的过程中,对测试对象的显示界面进行录屏,以得到录屏视频;然后根据至少一个测试事件的特征信息和录屏视频生成第一视频。

在一种可实施的方式中,上述特征信息还包括测试事件的事件类型,在生成上述第一视频时,先获取至少一个测试事件中每一个测试事件的事件类型;然后获取每一个测试事件的事件类型对应的动画效果;最后按照每一个测试事件的执行时间的先后顺序,根据每一个测试事件的位置信息和每一个测试事件的事件类型对应的动画效果生成第一视频。其中,移动事件的事件类型为移动,对应的动画效果为直线连接;点击事件的事件类型为点击,对应的动画效果为圆圈;长按事件的事件类型为长按,对应的动画效果为圆角矩形;滑动事件的事件类型为滑动,对应的动画效果为带方向的箭头。

在一种可实施的方式中,第一视频中包括用于描述至少一个测试事件的文本信息。具体的,第一视频包含例如图6所示的轨迹视频和文字部分。图6所示的文字部分即上述用于描述至少一个测试事件的文本信息。该文本信息以滚屏的方式显示预设条数的文字信息,该预设条数的文字信息中包含有当前播放的测试事件对应的文字信息。其中,预设条数可以是任意条数,本申请对此不做限定。

203:获取测试日志中记录的测试对象的故障时间点。

204:确定包含上述故障时间点的目标时间段,并从第一视频中截取对应该目标时间段的视频片段作为第二视频。

本申请实施例中,确定包含故障时间点的目标时间段;从上述第一视频中截取对应上述目标时间段的视频片段,并将上述视频片段作为第二视频。举例来说,截取第一视频中以故障时间点为中心的前后3秒的视频作为第二视频。

205:从上述第二视频包含的测试事件中确定出执行时间距离故障时间点最近的测试事件作为导致测试对象出现故障的目标测试事件。

在一种可实施的方式中,从测试过程中获取的至少一个测试事件中确定出执行时间在上述故障时间点之前发生的最近的测试事件。

在一种可实施的方式中,终端设备根据故障时间点对第二视频进行分帧得到至少一帧图片;对该至少一帧图片进行图像解析,以确定距离故障时间点最近的包含有轨迹的图片,并将距离故障时间点最近的包含有轨迹的图片作为目标图片;获取目标图片对应的测试事件作为导致测试对象出现故障的目标测试事件。

206:根据上述目标测试事件的位置信息按照预设范围确定测试对象的待测区域,并对该待测区域进行测试。

本申请实施例相比于上一申请实施例,更加详细的对本申请的方法进行了说明。需要说明的是,上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。

本申请实施例还提供一种终端设备,该终端设备用于执行前述任一项的测试方法的单元。具体地,参见图3,是本申请实施例提供的一种终端设备的示意性框图。本实施例的终端设备包括:获取单元310、生成单元320和确定单元330。具体的:

获取单元310,用于在对测试对象进行测试的过程中,获取针对所述测试对象产生的至少一个测试事件的特征信息,所述特征信息包括位置信息和执行时间;生成单元320,用于根据所述至少一个测试事件的特征信息生成第一视频;所述获取单元310,还用于获取测试日志中记录的所述测试对象的故障时间点;所述生成单元320,还用于根据所述故障时间点和所述第一视频生成第二视频;确定单元330,用于根据所述第二视频从所述至少一个测试事件中确定出导致所述测试对象出现故障的目标测试事件。

在一种可实施的方式中,所述生成单元320,具体用于确定包含所述故障时间点的目标时间段;从所述第一视频中截取对应所述目标时间段的视频片段,并将所述视频片段作为第二视频。

在一种可实施的方式中,所述确定单元330,具体用于从所述第二视频包含的测试事件中确定出执行时间距离所述故障时间点最近的测试事件;将所述执行时间距离所述故障时间点最近的测试事件作为导致所述测试对象出现故障的目标测试事件。

在一种可实施的方式中,所述确定单元330,具体用于根据所述故障时间点对所述第二视频进行分帧得到至少一帧图片;对所述至少一帧图片进行图像解析,以确定距离所述故障时间点最近的包含有轨迹的图片,并将所述距离所述故障时间点最近的包含有轨迹的图片作为目标图片;获取所述目标图片对应的测试事件作为导致所述测试对象出现故障的目标测试事件。

在一种可实施的方式中,所述确定单元330,还用于根据所述目标测试事件的位置信息按照预设范围确定所述测试对象的待测区域;所述终端设备还包括测试单元340,用于对所述待测区域进行测试。

在一种可实施的方式中,所述生成单元320,具体用于在对所述测试对象进行测试的过程中,对所述测试对象的显示界面进行录屏,以得到录屏视频;根据所述至少一个测试事件的特征信息和所述录屏视频生成第一视频。

在一种可实施的方式中,所述生成单元320,具体用于获取所述至少一个测试事件中每一个测试事件的事件类型;获取所述每一个测试事件的事件类型对应的动画效果;按照所述每一个测试事件的执行时间的先后顺序,根据所述每一个测试事件的位置信息和所述每一个测试事件的事件类型对应的动画效果生成第一视频。

在一种可实施的方式中,所述第一视频中包括用于描述所述至少一个测试事件的文本信息。

参见图4,是本申请另一实施例提供的一种终端设备的结构性框图。如图4所示的本实施例中的终端设备可以包括:一个或多个处理器410和存储器420。上述处理器410和存储器420通过总线430连接。存储器420用于存储计算机程序,计算机程序包括程序指令,处理器410用于执行存储器420存储的程序指令。具体的:

上述处理器410,用于执行获取单元310的功能,用于在对测试对象进行测试的过程中,获取针对所述测试对象产生的至少一个测试事件的特征信息,所述特征信息包括位置信息和执行时间;上述处理器410,还用于执行生成单元320的功能,用于根据所述至少一个测试事件的特征信息生成第一视频;上述处理器410,还用于获取测试日志中记录的所述测试对象的故障时间点;上述处理器410,还用于根据所述故障时间点和所述第一视频生成第二视频;上述处理器410,还用于执行确定单元330的功能,用于根据所述第二视频从所述至少一个测试事件中确定出导致所述测试对象出现故障的目标测试事件。

在一种可实施的方式中,上述处理器410,具体用于确定包含所述故障时间点的目标时间段;从所述第一视频中截取对应所述目标时间段的视频片段,并将所述视频片段作为第二视频。

在一种可实施的方式中,上述处理器410,具体用于从所述第二视频包含的测试事件中确定出执行时间距离所述故障时间点最近的测试事件;将所述执行时间距离所述故障时间点最近的测试事件作为导致所述测试对象出现故障的目标测试事件。

在一种可实施的方式中,上述处理器410,具体用于根据所述故障时间点对所述第二视频进行分帧得到至少一帧图片;对所述至少一帧图片进行图像解析,以确定距离所述故障时间点最近的包含有轨迹的图片,并将所述距离所述故障时间点最近的包含有轨迹的图片作为目标图片;获取所述目标图片对应的测试事件作为导致所述测试对象出现故障的目标测试事件。

在一种可实施的方式中,上述处理器410,还用于根据所述目标测试事件的位置信息按照预设范围确定所述测试对象的待测区域;所述终端设备还包括测试单元340,用于对所述待测区域进行测试。

在一种可实施的方式中,上述处理器410,具体用于在对所述测试对象进行测试的过程中,对所述测试对象的显示界面进行录屏,以得到录屏视频;根据所述至少一个测试事件的特征信息和所述录屏视频生成第一视频。

在一种可实施的方式中,上述处理器410,具体用于获取所述至少一个测试事件中每一个测试事件的事件类型;获取所述每一个测试事件的事件类型对应的动画效果;按照所述每一个测试事件的执行时间的先后顺序,根据所述每一个测试事件的位置信息和所述每一个测试事件的事件类型对应的动画效果生成第一视频。

在一种可实施的方式中,所述第一视频中包括用于描述所述至少一个测试事件的文本信息。

应当理解,在本申请实施例中,所称处理器410可以是中央处理单元(centralprocessingunit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

该存储器420可以包括只读存储器和随机存取存储器,并向处理器410提供指令和数据。存储器420的一部分还可以包括非易失性随机存取存储器。例如,存储器420还可以存储设备类型的信息。

具体实现中,本申请实施例中所描述的处理器410可执行本申请实施例提供的测试方法的第一实施例和第二实施例中所描述的实现方式,也可执行本申请实施例所描述的终端设备的实现方式,在此不再赘述。

在本申请的另一实施例中提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序包括程序指令,程序指令被处理器执行。

计算机可读存储介质可以是前述任一实施例的终端设备的内部存储单元,例如终端设备的硬盘或内存。计算机可读存储介质也可以是终端设备的外部存储设备,例如终端设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,计算机可读存储介质还可以既包括终端设备的内部存储单元也包括外部存储设备。计算机可读存储介质用于存储计算机程序和终端设备所需的其他程序和数据。计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用程序和设计约束条件。专业技术人员可以对每个特定的应用程序来使用不同测试方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的终端设备和单元的具体工作过程,可以参考前述测试方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的终端设备和测试方法,可以通过其它的方式实现。例如,以上所描述的终端设备实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、终端设备或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个计算机可读存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端设备,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的计算机可读存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1