测试任务的缺陷处理方法、缺陷处理装置及存储介质转让专利

申请号 : CN202311183333.8

文献号 : CN116932413B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 余伟刘鑫

申请人 : 深圳市智慧城市科技发展集团有限公司深圳市智城软件技术服务有限公司

摘要 :

本发明公开了测试任务的缺陷处理方法、缺陷处理装置及存储介质,其中,所述方法包括以下步骤:获取当前测试对应的缺陷信息,并将所述缺陷信息发送至缺陷管理平台;接收所述缺陷管理平台基于所述缺陷信息反馈的回归测试基础数据;根据所述缺陷信息确定回归测试用例,并基于所述回归测试用例对所述回归测试基础数据进行测试;当测试未通过时,跳转执行所述获取当前测试对应的缺陷信息,并将所述缺陷信息发送至缺陷管理平台的步骤。本发明通过将测试任务对应的缺陷信息发送到缺陷管理平台后,接收缺陷管理平台对应的回归测试数据,进而进行缺陷信息的回归测试,在该过程中,测试平台能够实时跟进缺陷信息的生命周期,进而提高存在缺陷的UI测试效率。

权利要求 :

1.一种测试任务的缺陷处理方法,其特征在于,所述测试任务的缺陷处理方法包括:获取当前测试对应的缺陷信息,以及所述缺陷信息对应的测试路径、失败内容及界面名称;

根据所述测试路径、所述失败内容及所述界面名称,确定所述缺陷信息对应的缺陷标识;在所述缺陷管理平台中不存在所述缺陷标识时,将所述缺陷标识和所述缺陷信息发送至所述缺陷管理平台;

接收所述缺陷管理平台基于所述缺陷信息反馈的回归测试基础数据,在所述缺陷管理平台存在所述缺陷标识时,记录所述缺陷管理平台中所述缺陷标识对应的缺陷信息的生命周期,并在所述缺陷信息处于“已解决状态”时,直接获取所述缺陷标识对应的所述回归测试基础数据;

根据所述缺陷信息对应的缺陷类型,在数据库中遍历所述缺陷类型关联的回归测试编号,并根据所述缺陷类型编写用于回归测试的自动化脚本,选定与所述缺陷信息对应的测试环境,基于所述缺陷类型、所述回归测试编号、所述自动化脚本以及所述测试环境构建回归测试用例,并基于所述回归测试用例对应所述回归测试基础数据进行测试;

当测试未通过时,确定所述回归测试用例对应的回归标识;

在所述回归标识与所述缺陷标识不相同时,将所述回归标识以及所述回归标识关联的回归缺陷信息提交至缺陷管理平台,并基于所述回归缺陷信息跳转执行所述接收所述缺陷管理平台基于所述缺陷信息反馈的回归测试基础数据的步骤;在所述回归标识与所述缺陷标识相同时,跳转执行所述获取当前测试对应的缺陷信息,以及所述缺陷信息对应的测试路径、失败内容及界面名称的步骤。

2.如权利要求1所述的测试任务的缺陷处理方法,其特征在于,所述获取当前测试对应的缺陷信息,并将所述缺陷信息发送至缺陷管理平台的步骤之前,还包括:接收到测试任务时,确定所述测试任务的各个测试步骤对应的预测图像集;

获取执行所述测试任务时的目标图像,并将所述目标图像与所述预测图像集中对应的目标预测图像进行比对,得到图像相似度;

在所述图像相似度小于预设相似度时,确定所述目标图像对应的测试内容,并执行所述获取当前测试对应的缺陷信息,以及所述缺陷信息对应的测试路径、失败内容及界面名称的步骤。

3.如权利要求2所述的测试任务的缺陷处理方法,其特征在于,所述接收到测试任务时,确定所述测试任务的各个测试步骤对应的预测图像集的步骤包括:接收到所述测试任务时,确定所述测试任务关联的所述测试步骤;

确定各个所述测试步骤对应的测试区域,并基于所述测试区域以及所述测试步骤获取所述预测图像集,其中,所述预测图像集关联有所述测试步骤的步骤编号。

4.如权利要求3所述的测试任务的缺陷处理方法,其特征在于,所述获取执行所述测试任务时的目标图像,并将所述目标图像与所述预测图像集中对应的目标预测图像进行比对,得到图像相似度的步骤还包括:获取执行所述测试任务时的目标图像,并确定所述目标图像关联的步骤编号;

基于步骤编号在所述预测图像集中选定所述目标预测图像,并将所述目标预测图像与所述目标图像进行像素比对,得到像素比对结果;

根据所述像素比对结果得到所述图像相似度。

5.如权利要求1所述的测试任务的缺陷处理方法,其特征在于,所述基于所述回归测试用例对所述回归测试基础数据进行测试的步骤之后,还包括:当测试未通过时,获取所述缺陷信息对应的回归测试用例失败次数;

在所述失败次数大于预设次数时,将所述缺陷信息对应的测试用例标记为待重构用例,并将所述待重构用例发送至所述缺陷管理平台;或者当测试通过时,关闭所述缺陷信息对应的缺陷处理流程。

6.一种缺陷处理装置,其特征在于,所述缺陷处理装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的缺陷处理程序,所述缺陷处理程序被所述处理器执行时实现如权利要求1至5中任一项所述的缺陷处理方法的步骤。

7.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有缺陷处理程序,所述缺陷处理程序被处理器执行时实现如权利要求1至5中任一项所述的缺陷处理方法的步骤。

说明书 :

测试任务的缺陷处理方法、缺陷处理装置及存储介质

技术领域

[0001] 本发明涉及数据处理领域,尤其涉及测试任务的缺陷处理方法、缺陷处理装置及存储介质。

背景技术

[0002] UI(user interface,用户界面)自动化测试是把人为驱动的测试转化为机器执行的一种测试过程。
[0003] 在相关的UI测试方案中,申请号202010526714.1的中国专利公开了基于UI和接口自动化测试方法,其方案主要公开了通过对若干个源代码版本进行存储调用并同时实现了对第一待测试交付物进行测试的UI自动化测试和对第二待测试交付物进行测试的接口自动化测试,实现了UI自动化测试。
[0004] 然而,在测试任务出现缺陷时,UI自动化测试平台需要通过发送邮件提醒相应开发人员,进而由开发人员将缺陷信息上传至缺陷管理平台,并在缺陷信息修复后,由开发人员手动进行回归测试。因此,当前的UI自动化测试方案无法跟进缺陷的生命周期,导致存在缺陷的测试任务的测试效率低。
[0005] 上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。

发明内容

[0006] 本发明的主要目的在于提供一种测试任务的缺陷处理方法、缺陷处理装置及存储介质,解决现有技术中存在缺陷的测试任务的测试效率低的问题。
[0007] 为实现上述目的,本发明提供一种测试任务的缺陷处理方法,所述方法包括以下步骤:
[0008] 获取当前测试对应的缺陷信息,并将所述缺陷信息发送至缺陷管理平台;
[0009] 接收所述缺陷管理平台基于所述缺陷信息反馈的回归测试基础数据;
[0010] 根据所述缺陷信息确定回归测试用例,并基于所述回归测试用例对所述回归测试基础数据进行测试;
[0011] 当测试未通过时,跳转执行所述获取当前测试对应的缺陷信息,并将所述缺陷信息发送至缺陷管理平台的步骤。
[0012] 可选地,所述获取当前测试对应的缺陷信息,并将所述缺陷信息发送至缺陷管理平台的步骤包括:
[0013] 获取所述缺陷信息以及所述缺陷信息对应的测试路径、失败内容及界面名称;
[0014] 根据所述测试路径、所述失败内容及所述界面名称,确定所述缺陷信息对应的缺陷标识;
[0015] 在所述缺陷管理平台中不存在所述缺陷标识时,将所述缺陷标识和所述缺陷信息发送至所述缺陷管理平台。
[0016] 可选地,所述根据所述缺陷信息确定回归测试用例,并基于所述回归测试用例对所述回归测试基础数据进行测试的步骤包括:
[0017] 根据所述缺陷信息对应的所述缺陷标识确定需要回归验证的缺陷;
[0018] 根据所述缺陷信息对应的测试用例编号,生成所述回归测试用例,并基于所述回归测试用例对应所述回归测试基础数据进行测试。
[0019] 可选地,所述根据所述缺陷信息确定回归测试用例,并基于所述回归测试用例对所述回归测试基础数据进行测试的步骤之后,还包括:
[0020] 当测试未通过时,确定所述回归测试用例对应的回归标识;
[0021] 在所述回归标识与所述缺陷标识不相同时,将所述回归标识以及所述回归标识关联的回归缺陷信息提交至缺陷管理平台,并基于所述回归缺陷信息跳转执行所述接收所述缺陷管理平台基于所述缺陷信息反馈的回归测试基础数据的步骤;或者
[0022] 在所述回归标识与所述缺陷标识相同时,跳转执行所述获取当前测试对应的缺陷信息,并将所述缺陷信息发送至缺陷管理平台的步骤。
[0023] 可选地,所述获取当前测试对应的缺陷信息,并将所述缺陷信息发送至缺陷管理平台的步骤之前,还包括:
[0024] 接收到测试任务时,确定所述测试任务的各个测试步骤对应的预测图像集;
[0025] 获取执行所述测试任务时的目标图像,并将所述目标图像与所述预测图像集中对应的目标预测图像进行比对,得到图像相似度;
[0026] 在所述图像相似度小于预设相似度时,确定所述目标图像对应的测试内容,并执行所述获取当前测试对应的缺陷信息,并将所述缺陷信息发送至缺陷管理平台的步骤。
[0027] 可选地,所述接收到测试任务时,确定所述测试任务的各个测试步骤对应的预测图像集的步骤包括:
[0028] 接收到所述测试任务时,确定所述测试任务关联的所述测试步骤;
[0029] 确定各个所述测试步骤对应的测试区域,并基于所述测试区域以及所述测试步骤获取所述预测图像集,其中,所述预测图像集关联有所述测试步骤的步骤编号。
[0030] 可选地,所述获取执行所述测试任务时的目标图像,并将所述目标图像与所述预测图像集中对应的目标预测图像进行比对,得到图像相似度的步骤还包括:
[0031] 获取执行所述测试任务时的目标图像,并确定所述目标图像关联的步骤编号;
[0032] 基于步骤编号在所述预测图像集中选定所述目标预测图像,并将所述目标预测图像与所述目标图像进行像素比对,得到像素比对结果;
[0033] 根据所述像素比对结果得到所述图像相似度。
[0034] 可选地,所述根据所述缺陷信息确定回归测试用例,并基于所述回归测试用例对所述回归测试基础数据进行测试的步骤之后,还包括:
[0035] 当测试未通过时,获取所述缺陷信息对应的回归测试用例失败次数;
[0036] 在所述失败次数大于预设次数时,将所述缺陷信息对应的测试用例标记为待重构用例,并将所述待重构用例发送至所述缺陷管理平台;或者
[0037] 当测试通过时,关闭所述缺陷信息对应的缺陷处理流程。
[0038] 此外,为实现上述目的,本发明还提供一种缺陷处理装置,所述缺陷处理装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的缺陷处理程序,所述缺陷处理程序被所述处理器执行时实现如上所述的测试任务的缺陷处理方法的步骤。
[0039] 此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有缺陷处理程序,所述缺陷处理程序被处理器执行时实现如上所述的测试任务的缺陷处理方法的步骤。
[0040] 本发明实施例提供了测试任务的缺陷处理方法、缺陷处理装置及存储介质,在当前UI测试失败时,测试平台能够直接将缺陷信息发送至缺陷管理平台中,进而根据缺陷管理平台反馈的回归测试基础数据生成回归测试用例,并基于该回归用例继续进行测试。基于此,减少了缺陷信息上传时人工的介入,提高了UI测试的自动化程度,进而使得测试平台能够跟进缺陷的生命周期,且缺陷管理平台能够及时接收相应的信息,使得当前缺陷能够更为迅速地进行修复,进而更为迅速地完成测试任务,提高存在缺陷的测试任务的测试效率。

附图说明

[0041] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0042] 图1为本发明测试任务的缺陷处理方法的第一实施例的流程示意图;
[0043] 图2为本发明测试任务的缺陷处理方法的第一实施例的步骤S10的细化流程示意图;
[0044] 图3为本发明测试任务的缺陷处理方法的第二实施例的流程示意图;
[0045] 图4为本发明测试任务的缺陷处理方法的测试流程示意图;
[0046] 图5是本发明测试任务的缺陷处理方法的各个实施例的终端硬件结构示意图。
[0047] 本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

[0048] 应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0049] 在测试任务出现缺陷时,UI自动化测试平台需要通过发送邮件提醒相应开发人员,进而由开发人员将缺陷信息上传至缺陷管理平台,并在缺陷信息修复后,由开发人员手动进行回归测试。因此,当前的UI自动化测试方案无法跟进缺陷的生命周期,导致存在缺陷的测试任务的测试效率低。
[0050] 为解决上述缺陷,本发明实施例提出一种测试任务的缺陷处理方法,其主要解决方案包括以下步骤:
[0051] 获取当前测试对应的缺陷信息,并将所述缺陷信息发送至缺陷管理平台;
[0052] 接收所述缺陷管理平台基于所述缺陷信息反馈的回归测试基础数据;
[0053] 根据所述缺陷信息确定回归测试用例,并基于所述回归测试用例对所述回归测试基础数据进行测试;
[0054] 当测试未通过时,跳转执行所述获取当前测试对应的缺陷信息,并将所述缺陷信息发送至缺陷管理平台的步骤。
[0055] 本发明能够减少了缺陷信息上传时人工的介入,提高了UI测试的自动化程度,进而使得测试平台能够跟进缺陷的生命周期,且缺陷管理平台能够及时接收相应的信息,使得当前缺陷能够更为迅速地进行修复,进而更为迅速地完成测试任务,提高存在缺陷的测试任务的测试效率。
[0056] 为了更好地理解上述技术方案,下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整地传达给本领域的技术人员。
[0057] 第一实施例
[0058] 请参照图1,在第一实施例中,本发明测试任务的缺陷处理方法的步骤包括:
[0059] 步骤S10,获取当前测试对应的缺陷信息,并将所述缺陷信息发送至缺陷管理平台;
[0060] 当前测试指的是UI自动化测试,当前的UI自动化测试平台执行UI自动化测试时,若当前测试出现缺陷(也即bug)时,能够生成一份自动化测试报告,该报告包含有当前的测试任务的缺陷信息。随后需要UI自动化平台的管理人员将当前出现缺陷的自动化测试报告以邮箱的形式发送至对应的开发人员的邮箱系统中。此时开发人员难以快速获悉测试失败的状况,导致测试任务的缺陷修复的效率低,使得整个测试过程测试效率低下。
[0061] 而在本实施例中,在UI自动化测试平台接收到UI自动化测试任务,基于该任务对应的测试用例执行相应的测试动作。在当前的测试任务出现缺陷如点击登录功能而UI界面并无跳转反应或并无相关的相应信息时,此时认为当前的测试出现存在缺陷,此时UI自动化测试平台采集当前的缺陷信息,其中,缺陷信息至少包括缺陷的测试路径、断言失败的内容、测试失败所在的界面名称,测试失败的截图、被测对象的版本号、测试所用的环境信息、测试用例编号及名称等。
[0062] UI自动化测试平台获取到缺陷信息后,能够直接将上述缺陷信息发送至缺陷管理平台中,而由于开发人员是基于缺陷管理平台进行工作的,在UI自动化测试平台将缺陷信息发送至缺陷管理平台后,缺陷管理平台弹出相应的提示信息,此时开发人员能够根据该提示信息快速获悉当前的测试任务的缺陷信息,进而能够快速对其进行修复,并反馈缺陷的回归测试内容。其中,当缺陷信息发送至缺陷管理平台后,该缺陷信息的其中一个属性变更为“待修复状态”。
[0063] 需要说明的是,当UI测试平台将缺陷信息发送至缺陷管理平台时,该缺陷信息对应的缺陷生命周期为“新建”状态,在开发人员修复该缺陷后,可以将该缺陷信息对应的状态更改为“已解决”状态。
[0064] 可选地,在将缺陷信息发送至缺陷管理平台时,为避免当前重复上传同一缺陷的内容,例如在不同的测试用例中均出现了登录异常的问题,此时只需将一个缺陷信息发送至缺陷管理平台即可,避免开发人员对同一缺陷内容进行重复处理而影响整个测试任务的测试效率。因此,请参照图2,为了避免缺陷信息的重复上传,步骤S10具体包括:
[0065] 步骤S11,获取所述缺陷信息以及所述缺陷信息对应的测试路径、失败内容及界面名称;
[0066] 步骤S12,根据所述测试路径、所述失败内容及所述界面名称,确定所述缺陷信息对应的缺陷标识;
[0067] 步骤S13,在所述缺陷管理平台中不存在所述缺陷标识时,将所述缺陷标识和所述缺陷信息发送至所述缺陷管理平台。
[0068] 在本实施例中,UI自动化测试平台在执行测试任务的过程中,当某一个测试用例测试失败后,能够根据测试路径、断言失败的内容及测试失败所在的界面名称,换算出一个缺陷的唯一标识。其中,该唯一标识指的是缺陷信息对应的缺陷标识,可以通过数据库中,测试任务对应的测试路径,断言失败的内容以及界面名称关联的数据表换算出当前的该缺陷标识。而在将缺陷内容信息发送至缺陷管理平台之前,UI自动化测试平台需要查询缺陷管理平台中待修复的缺陷信息对应的缺陷标识,接收到在所述缺陷管理平台中不存在当前的缺陷标识的信息时,UI自动化测试平台可以将缺陷标识以及缺陷信息发送至缺陷管理平台。
[0069] 可选地,当所述缺陷管理平台中存在所述缺陷标识时,则记录缺陷管理平台中该缺陷标识对应的缺陷信息的生命周期,在该缺陷信息处于“已解决状态”时,可以直接获取该缺陷标识对应的回归测试基础数据。
[0070] 步骤S20,接收所述缺陷管理平台基于所述缺陷信息反馈的回归测试基础数据;
[0071] 在本实施例中,开发人员接收到缺陷管理平台对应的缺陷提示信息后,能够快速响应当前UI自动化测试的缺陷信息,并根据该缺陷内容对缺陷进行修复。而在缺陷修复完成后,开发人员会将缺陷信息的“待修复状态”变更为“已修复状态”,随后将修复完成后的测试版本(也即回归测试基础数据)重新发送至UI自动化测试平台中。UI自动化测试平台接收回归测试基础数据,以便UI自动化测试平台能够基于该数据重新制定回归测试用例。
[0072] 步骤S30,根据所述缺陷信息确定回归测试用例,并基于所述回归测试用例对所述回归测试基础数据进行测试;
[0073] 在本实施例中,UI自动化测试平台接收到所述回归测试基础数据后,说明需要对测试内容进行回归测试。例如在缺陷信息为登录缺陷时,此时需要基于登录缺陷构建登录回归测试用例。具体地,UI自动化测试平台在接收到相应的回归测试数据后,能够根据所述缺陷信息对应的缺陷类型,在数据库中遍历该缺陷类型关联的回归测试编号。在确定所述回归测试编号后,根据所述缺陷信息对应的所述缺陷类型编写用于回归测试的自动化测试脚本,其中,所述自动化测试脚本覆盖进行回归测试所需的关键功能节点和变更点,并进一步选定与所述缺陷信息对应的测试环境,所述测试环境包括但不限于操作系统、浏览器、测试设备等,进而确保UI自动化测试平台对存在缺陷的测试任务进行回归测试时,测试环境与目标环境相同。随后所述UI自动化测试平台基于所述缺陷类型、所述回归测试编号、所述自动化测试脚本以及所述测试环境构建所述回归测试用例。
[0074] 在构建所述回归测试用例后,所述UI自动化测试平台在所述测试环境的基础上,基于所述自动化测试脚本执行所述回归测试用例,进而对当前测试对应的回归测试基础数据(也即已修复处理后的测试内容)进行测试。
[0075] 可选地,在将缺陷信息发送至缺陷管理平台时,能够将缺陷信息对应的缺陷标识同步发送至管理平台,而缺陷标识关联有唯一的缺陷类型,因此,可以根据缺陷标识确定所述回归测试用例。也即根据缺陷标识遍历相应的回归测试编号,编写用于回归测试的所述自动化测试脚本,选定所述测试环境等。
[0076] 可选地,UI自动化测试平台能够根据所述缺陷标识遍历缺陷管理平台中所有缺陷信息的缺陷状态,随后获取该缺陷信息的缺陷记录,并将缺陷标识对应的已修复的缺陷内容提取出来,得到需要进行回归验证的测试内容。由于已经获取所述缺陷信息对应的缺陷记录,此时可以根据该缺陷记录中当前测试任务对应的测试用例编号,随后根据该测试用例编号生成对应的自动化测试脚本以及选定对应的测试环境,最后再基于当前的测试用例编号、所述测试环境以及所述自动化测试脚本定制新的自动化测试任务,也即生成所述回归测试用例,随后基于所述回归测试用例以及所述测试环境,根据所述自动化测试脚本对所述回归测试基础数据进行测试。
[0077] 可选地,UI自动化测试平台获取到缺陷管理平台反馈的回归测试基础数据后,能够通过代码解析工具对所述回归测试基础数据进行解析,进而得到所述回归测试基础数据与当前测试对应的测试内容未修复前的区别点,并根据所述区别点对应的功能确定需要进行回归测试的所述缺陷类型,进而根据所述缺陷类型得到自动化测试脚本、测试环境以及所述回归测试用例,进而基于所述测试环境以及所述自动化测试脚本执行所述回归测试用例,以确保当前缺陷信息修复后是否可靠。
[0078] 可选地,UI自动化测试平台获取到所述回归测试基础数据后,还可确定所述回归测试基础数据对应的功能,例如当所述回归测试基础数据对应的回归测试功能为登录控件跳转功能或登录界面跳转功能时,可以基于此在数据库中选定与登录控件跳转或登录界面跳转时对应的回归测试用例编号,并生成回归测试用例,随后根据所述回归测试功能生成对应的自动化测试脚本、选定测试环境等。进而基于自动化测试脚本以及测试环境对所述回归测试用例进行测试。
[0079] 步骤S40,当测试未通过时,跳转执行所述获取当前测试对应的缺陷信息,并将所述缺陷信息发送至缺陷管理平台的步骤。
[0080] 在本实施例中,该回归测试用例执行未通过,通常默认当前缺陷内容并未被完全修复(也即出现了重复的缺陷),此时UI自动化测试平台判断该回归测试用例不通过后,将该缺陷对应的状态更改为“重新打开”状态。若当前测试未通过且对应的缺陷信息与前一次测试时对应的缺陷信息完全相同时,此时需要跳转执行步骤S10的步骤,以便开发人员能够重新基于相同的缺陷问题进行修复。
[0081] 可选地,如果该回归测试用例执行通过,此时可以将对应缺陷的状态改为关闭,也即关闭缺陷信息对应的缺陷处理流程,至此,UI自动化测试平台完成缺陷信息从新建、已修复到关闭的整个生命周期的跟进,并在该过程中自动完成对存在缺陷的UI自动化测试任务的测试过程,减少了人工的参与,提高了对存在缺陷的UI自动化测试任务的测试效率。
[0082] 可选地,当回归测试用例执行未通过时,若未通过的原因是出现另一缺陷例如前一次测试时出现的缺陷为“登录控件未响应”,随后再进行回归测试用例进行登录功能的测试时,点击登录控件时,页面成功发生跳转而在需要输入相应的账号信息时,页面无法响应UI自动化测试平台输入的内容,此时新的缺陷则为“登录过程号输入未响应”。此时UI自动化测试平台并不能直接执行步骤S10的内容。
[0083] 因此,当测试未通过时,需要确定所述回归测试用例对应的回归标识,进而根据回归标识判断当前回归测试用例未通过的原因是否与前一次测试时的原因相同。而在所述回归标识与所述缺陷标识不相同时,说明回归测试用例未通过的原因与前一次测试未通过的原因相同,因此需要将所述回归标识以及所述回归标识关联的回归缺陷信息提交至缺陷管理平台,并基于所述回归缺陷信息跳转执行步骤S20接收所述缺陷管理平台基于所述缺陷信息反馈的回归测试基础数据的步骤,也即接收所述缺陷管理平台基于所述回归缺陷信息反馈的目标回归测试基础数据。而在所述回归标识与所述缺陷标识相同时,说明出现的缺陷与前一次测试的缺陷内容相同,此时可以跳转执行步骤S10获取当前测试对应的缺陷信息,并将所述缺陷信息发送至缺陷管理平台的步骤。需要说明的是,对测试未通过的回归测试用例的问题进行追溯,进而未通过回归测试用例的回归缺陷信息进行相应的跳转处理,避免UI自动化测试平台重复发送已经修复的缺陷内容。
[0084] 可选地,当测试未通过时,还可以通过记录相同类型的回归测试用例的失败次数,例如当前测试由于登录控件未响应而导致测试无法正常进行,而在该缺陷被修复后,若进行回归测试时仍出现同样的问题,且该问题在“被修复后”仍重复说明,说明当前测试任务对应的测试环境或测试参数等不符合UI自动化测试平台需求。具体地,在测试未通过时,获取所述缺陷信息对应的回归测试用例失败次数,并在失败次数大于预设次数时,将所述缺陷信息对应的测试用例标记为待重构用例,并将所述待重构用例发送至所述缺陷管理平台,以使开发人员能够基于缺陷管理平台对当前待重构用例进行重构处理,避免重复处理该缺陷而导致测试任务处理效率低下。
[0085] 在本实施例公开的技术方案中,通过获取当前测试对应的缺陷信息以及缺陷标识,并直接将缺陷信息和缺陷标识发送至缺陷管理平台,以使开发人员第一时间响应该缺陷信息,并提高测试流程的自动化程度,进而在接收到回归测试基础数据后,根据缺陷信息和缺陷标识生成回归测试用例,并对回归测试用例进行测试,并在测试通过后关闭缺陷或者测试未通过时重新打开该缺陷,进而实现测试过程的闭环。在该过程中,UI自动化测试平台能够获悉缺陷信息在缺陷管理平台中由新建、已修复变成关闭或重新打开的状态,能够自动跟进缺陷的生命周期,进而能够更为迅速地完成测试任务,提高存在缺陷的测试任务的测试效率。
[0086] 第二实施例
[0087] 请参照图3,在第二实施例中,基于第一实施例,步骤S10之前,还包括:
[0088] 步骤S50,接收到测试任务时,确定所述测试任务的各个测试步骤对应的预测图像集;
[0089] 在本实施例中,测试任务有相应的测试步骤,而每一步骤对应有唯一的执行结果,例如点击新建用户控件时,跳转至新建用户的界面,执行打开浏览器动作时,则会跳转相应的浏览器界面。因而UI自动化测试平台接收到测试任务时,可以根据UI自动化测试平台的图像库中预存的图像信息,确定测试任务的各个测试步骤对应的预测图像集。其中,需要说明的是,不同的操作步骤通常会对应有界面信息发生变化,而由于UI自动化测试平台在投入工作时,其图像库中的图像数据会实时更新,因而图像库中通常存在与各个测试步骤对应的预测图像。
[0090] 具体地,在UI自动化测试平台接收到所述测试任务时,需要确定所述测试任务关联的所述测试步骤,以及确定所述测试步骤对应的测试区域,随后基于所述测试区域以及所述测试步骤在图像库中获取对应的所述预测图像集,其中,所述预测图像集关联有所述测试步骤的步骤编号。需要说明的是,图像库中存储有各个测试区域的测试图像。
[0091] 步骤S60,获取执行所述测试任务时的目标图像,并将所述目标图像与所述预测图像集中对应的预测图像进行比对,得到图像相似度;
[0092] 在本实施例中,UI自动化测试平台在获取到执行测试任务时的目标图像后,为了便于与预测图像集中的图像进行比对,需要确定所述目标图像关联的步骤编号,随后基于步骤编号在所述预测图像集中选定与该编号对应的目标预测图像。在选定目标预测图像后,将所述目标预测图像与所述目标图像进行像素比对,得到像素比对结果,并根据像素比对结果得到图像相似度。
[0093] 示例性的,在当前的测试步骤为打开浏览器时,对应的预测图像为浏览器界面,而UI自动化测试平台实际执行该步骤时对应的目标图像仍为当前界面,此时将目标图像与目标预测图像进行像素比对,得到的像素比对结果为一般,进而得到的图像相似度在30%以下。
[0094] 步骤S70,在所述图像相似度小于预设相似度时,确定所述目标图像对应的测试内容,并执行所述获取当前测试对应的缺陷信息,并将所述缺陷信息发送至缺陷管理平台的步骤。
[0095] 在本实施例中,预测图像集中的图像可能会与实际进行测试时的得到的目标图像存在出入,例如输入相应的用户信息并点击登录后,输出的界面中,用户头像信息及昵称信息为当前用户信息,而预测图像集中的预测图像,用户头像及昵称信息通常与当前用户信息不同,此时通过像素比对得到的图像相似度并不为100%。因而通常设置有预设相似度(例如相似度设置为70%),在得到的图像相似度大于70%时,说明该步骤功能正常,而在图像相似度小于70%时,说明当前测试步骤存在缺陷,此时UI自动化测试平台执行步骤S10的步骤。
[0096] 需要说明的是,在第二实施例中只是示例性地说明了其中一种用于判断的当前测试任务存在缺陷的可选的实现方式,并非是对本发明的具体限定。同时上述参数仅用于解释说明,并非是对本发明的具体限定。
[0097] 在本实施例公开的技术方案中,通过获取测试任务中各个测试步骤的预测图像,并在进行测试时将测试步骤对应的目标图像与目标预测图像进行比对,进而得到图像之间的像素比对结果及像素相似度,并进一步根据测试过程的像素相似度进行测试是否出现缺陷的判断,进而提高整个存在缺陷的测试任务的测试效率。
[0098] 第三实施例
[0099] 在第三实施例中,本发明测试任务的缺陷处理方法的处理流程可以如图4所示。在UI自动化测试平台对测试任务进行测试时,若检测到测试失败也即发现缺陷,则自动将缺陷提交至缺陷管理平台并由开发人员在缺陷管理平台中对该缺陷进行修复。开发人员在修复缺陷后会打包提交新的测试版本至UI自动化测试平台,UI自动化测试平台基于该测试版本收集需要进行回归验证的缺陷,并根据缺陷记录定制回归测试的自动化测试用例。在执行该自动化测试用例时,若出现同样的缺陷问题,则将缺陷状态更改为重新打开也即重新提交缺陷至缺陷管理平台,并继续由开发人员对该缺陷进行修复处理,而在回归测试用例测试通过时,则关闭缺陷,进而完成对整个缺陷处理时的缺陷生命周期管理。
[0100] 在本实施例公开的技术方案中,UI自动化测试平台发现缺陷并自动提交缺陷至缺陷管理平台后,在接收到新的测试版本时对该缺陷进行回归验证,并在验证不通过时将缺陷状态更改为重新打开或验证通过时关闭缺陷,基于此UI自动化测试平台能够根据缺陷的生命周期,且能直接将缺陷提交至缺陷管理平台中进而加快修复效率,提高了存在缺陷的测试任务的测试效率。
[0101] 参照图5,图5为本发明实施例方案涉及的硬件运行环境的终端结构示意图。
[0102] 如图5所示,该终端可以包括:处理器1001,例如中央处理器(Central Processing Unit,CPU),通信总线1002、网络接口1003,存储器1004。其中,通信总线1002用于实现这些组件之间的连接通信。网络接口1003可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless‑FIdelity,WI‑FI)接口)。存储器1004可以是高速的RAM存储器(Random Access Memory,RAM),也可以是稳定的非易失性存储器(Non‑Volatile Memory,NVM),例如磁盘存储器。存储器1004可选的还可以是独立于前述处理器1001的存储装置。
[0103] 本领域技术人员可以理解,图5中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0104] 如图5所示,作为一种计算机存储介质的存储器1004中可以包括操作系统、数据存储模块、网络通信模块以及缺陷处理程序。
[0105] 在图5所示的终端中,网络接口1003主要用于连接后台服务器,与后台服务器进行数据通信;处理器1001可以调用存储器1004中存储的缺陷处理程序,并执行以下操作:
[0106] 获取当前测试对应的缺陷信息,并将所述缺陷信息发送至缺陷管理平台;
[0107] 接收所述缺陷管理平台基于所述缺陷信息反馈的回归测试基础数据;
[0108] 根据所述缺陷信息确定回归测试用例,并基于所述回归测试用例对所述回归测试基础数据进行测试;
[0109] 当测试未通过时,跳转执行所述获取当前测试对应的缺陷信息,并将所述缺陷信息发送至缺陷管理平台的步骤。
[0110] 进一步地,处理器1001可以调用存储器1004中存储的缺陷处理程序,还执行以下操作:
[0111] 获取所述缺陷信息以及所述缺陷信息对应的测试路径、失败内容及界面名称;
[0112] 根据所述测试路径、所述失败内容及所述界面名称,确定所述缺陷信息对应的缺陷标识;
[0113] 在所述缺陷管理平台中不存在所述缺陷标识时,将所述缺陷标识和所述缺陷信息发送至所述缺陷管理平台。
[0114] 进一步地,处理器1001可以调用存储器1004中存储的缺陷处理程序,还执行以下操作:
[0115] 根据所述缺陷信息对应的所述缺陷标识确定需要回归验证的缺陷;
[0116] 根据所述缺陷信息对应的测试用例编号,生成所述回归测试用例,并基于所述回归测试用例对应所述回归测试基础数据进行测试。
[0117] 进一步地,处理器1001可以调用存储器1004中存储的缺陷处理程序,还执行以下操作:
[0118] 当测试未通过时,确定所述回归测试用例对应的回归标识;
[0119] 在所述回归标识与所述缺陷标识不相同时,将所述回归标识以及所述回归标识关联的回归缺陷信息提交至缺陷管理平台,并基于所述回归缺陷信息跳转执行所述接收所述缺陷管理平台基于所述缺陷信息反馈的回归测试基础数据的步骤;或者
[0120] 在所述回归标识与所述缺陷标识相同时,跳转执行所述获取当前测试对应的缺陷信息,并将所述缺陷信息发送至缺陷管理平台的步骤。
[0121] 进一步地,处理器1001可以调用存储器1004中存储的缺陷处理程序,还执行以下操作:
[0122] 接收到测试任务时,确定所述测试任务的各个测试步骤对应的预测图像集;
[0123] 获取执行所述测试任务时的目标图像,并将所述目标图像与所述预测图像集中对应的目标预测图像进行比对,得到图像相似度;
[0124] 在所述图像相似度小于预设相似度时,确定所述目标图像对应的测试内容,并执行所述获取当前测试对应的缺陷信息,并将所述缺陷信息发送至缺陷管理平台的步骤。
[0125] 进一步地,处理器1001可以调用存储器1004中存储的缺陷处理程序,还执行以下操作:
[0126] 接收到所述测试任务时,确定所述测试任务关联的所述测试步骤;
[0127] 确定各个所述测试步骤对应的测试区域,并基于所述测试区域以及所述测试步骤获取所述预测图像集,其中,所述预测图像集关联有所述测试步骤的步骤编号。
[0128] 进一步地,处理器1001可以调用存储器1004中存储的缺陷处理程序,还执行以下操作:
[0129] 获取执行所述测试任务时的目标图像,并确定所述目标图像关联的步骤编号;
[0130] 基于步骤编号在所述预测图像集中选定所述目标预测图像,并将所述目标预测图像与所述目标图像进行像素比对,得到像素比对结果;
[0131] 根据所述像素比对结果得到所述图像相似度。
[0132] 进一步地,处理器1001可以调用存储器1004中存储的缺陷处理程序,还执行以下操作:
[0133] 当测试未通过时,获取所述缺陷信息对应的回归测试用例失败次数;
[0134] 在所述失败次数大于预设次数时,将所述缺陷信息对应的测试用例标记为待重构用例,并将所述待重构用例发送至所述缺陷管理平台;或者
[0135] 当测试通过时,关闭所述缺陷信息对应的缺陷处理流程。
[0136] 此外,本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可以存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被控制终端中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
[0137] 因此,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有缺陷处理程序,所述缺陷处理程序被处理器执行时实现如上实施例所述的测试任务的缺陷处理方法的各个步骤。
[0138] 需要说明的是,由于本申请实施例提供的存储介质,为实施本申请实施例的方法所采用的存储介质,故而基于本申请实施例所介绍的方法,本领域所属人员能够了解该存储介质的具体结构及变形,故而在此不再赘述。凡是本申请实施例的方法所采用的存储介质都属于本申请所欲保护的范围。
[0139] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例,或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0140] 本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框,以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0141] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0142] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0143] 应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二,以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
[0144] 尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
[0145] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
[0146] 以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所做的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。