用例构建方法、用例构建装置以及可读存储介质与流程

文档序号:24819680发布日期:2021-04-27 14:28阅读:67来源:国知局
1.本申请涉及软件测试
技术领域
:,特别是涉及一种用例构建方法、用例构建装置以及可读存储介质。
背景技术
::2.软件工程中,测试者可以根据测试用例来确定应用软件或软件系统是否正常工作。为满足不同用户的需求,会对系统、工具、控制以及游戏软件等进行多样化设计和调整,就需要利用测试用例进行不断的测试,以使最终上线的产品能高度贴合用户需求。3.当前的自动化测试用例的脚本中,用于执行用例的逻辑代码和用于验证用例的逻辑代码通常是耦合在一起的。执行用例的逻辑代码与验证用例的逻辑代码之间往往互相影响,例如,修改验证用例的代码时,有可能影响用例执行代码的运行,从而影响自动化测试用例的执行。技术实现要素:4.本申请实施例提供一种用例构建方法、用例构建装置以及可读存储介质,能够避免执行用例的逻辑代码与验证用例的逻辑代码之间互相影响导致用例无法执行的问题。5.第一方面,提供一种用例构建方法,包括:6.确定与目标任务的类型匹配的至少一个执行脚本以及与目标任务的类型匹配的至少一个验证脚本;执行脚本为执行用例的可执行程序文件,验证脚本为验证用例的可执行程序文件;7.从上述至少一个执行脚本中确定目标用例的执行脚本,从上述至少一个验证脚本中确定目标用例的验证脚本;目标用例用于执行目标任务;8.根据目标用例的执行脚本以及目标用例的验证脚本构建目标用例。9.在其中一个实施例中,该方法还包括:10.生成脚本记录信息,脚本记录信息包括m个任务类型中每一个任务类型对应的n个执行脚本的信息,以及m个任务类型中每一个任务类型对应的n个验证脚本的信息;m为大于等于1的整数,n为大于等于1的整数。11.在其中一个实施例中,确定与目标任务的类型匹配的至少一个执行脚本以及与目标任务的类型匹配的至少一个验证脚本,包括:根据目标任务的类型以及脚本记录信息确定与目标任务的类型匹配的至少一个执行脚本的信息以及与目标任务的类型匹配的至少一个验证脚本的信息;12.根据上述至少一个执行脚本的信息确定上述至少一个执行脚本,根据上述至少一个验证脚本的信息确定上述至少一个验证脚本。13.在其中一个实施例中,脚本记录信息还包括:n个执行脚本中每一个执行脚本对应的任务名称,n个验证脚本中每一个验证脚本对应的任务名称。14.结合第一方面,在第一方面的第四种可能的实现方式中,从至少一个执行脚本中确定目标用例的执行脚本,包括:针对n个执行脚本中的每一个执行脚本,根据执行脚本对应的任务名称计算执行脚本对应的任务与目标任务的业务相似度;确定n个执行脚本中的第一执行脚本为目标用例的执行脚本,第一执行脚本对应的任务为与目标任务的业务相似度最高。15.在其中一个实施例中,从上述至少一个验证脚本中确定目标用例的验证脚本,包括:16.针对n个验证脚本中的每一个验证脚本,根据验证脚本对应的任务名称计算验证脚本对应的任务与目标任务的业务相似度;17.确定n个验证脚本中的第一验证脚本为目标用例的验证脚本,第一验证脚本对应的任务为与目标任务的业务相似度最高。18.在其中一个实施例中,上述验证脚本的信息为第一验证策略脚本的信息;第一验证策略脚本用于根据第一验证策略以及后台运行数据进行用例验证。19.在其中一个实施例中,上述验证脚本的信息包括:第二验证策略脚本的信息以及数据解析脚本的信息;20.其中,数据解析脚本用于采集日志数据,第二验证策略脚本用于根据第二验证策略以及日志数据进行用例验证。21.第二方面,提供了一种计算机设备,包括:22.匹配单元,用于确定与目标任务的类型匹配的至少一个执行脚本以及与目标任务的类型匹配的至少一个验证脚本;执行脚本为执行用例的可执行程序文件,验证脚本为验证用例的可执行程序文件;23.确定单元,用于从上述至少一个执行脚本中确定目标用例的执行脚本,从上述至少一个验证脚本中确定目标用例的验证脚本;目标用例用于执行目标任务;24.构建单元,用于根据目标用例的执行脚本以及目标用例的验证脚本构建目标用例。25.在其中一个实施例中,该计算机设备还包括生成单元。26.生成单元用于,生成脚本记录信息,脚本记录信息包括m个任务类型中每一个任务类型对应的n个执行脚本的信息,以及m个任务类型中每一个任务类型对应的n个验证脚本的信息;m为大于等于1的整数,n为大于等于1的整数。27.在其中一个实施例中,匹配单元具体用于,根据目标任务的类型以及脚本记录信息确定与目标任务的类型匹配的至少一个执行脚本的信息以及与目标任务的类型匹配的至少一个验证脚本的信息;28.根据上述至少一个执行脚本的信息确定上述至少一个执行脚本,根据上述至少一个验证脚本的信息确定上述至少一个验证脚本。29.在其中一个实施例中,脚本记录信息还包括:n个执行脚本中每一个执行脚本对应的任务名称,n个验证脚本中每一个验证脚本对应的任务名称。30.结合第一方面,在第一方面的第四种可能的实现方式中,确定单元具体用于,针对n个执行脚本中的每一个执行脚本,根据执行脚本对应的任务名称计算执行脚本对应的任务与目标任务的业务相似度;确定n个执行脚本中的第一执行脚本为目标用例的执行脚本,第一执行脚本对应的任务为与目标任务的业务相似度最高。31.在其中一个实施例中,确定单元具体用于,针对n个验证脚本中的每一个验证脚本,根据验证脚本对应的任务名称计算验证脚本对应的任务与目标任务的业务相似度;32.确定n个验证脚本中的第一验证脚本为目标用例的验证脚本,第一验证脚本对应的任务为与目标任务的业务相似度最高。33.在其中一个实施例中,上述验证脚本的信息为第一验证策略脚本的信息;第一验证策略脚本用于根据第一验证策略以及后台运行数据进行用例验证。34.在其中一个实施例中,上述验证脚本的信息包括:第二验证策略脚本的信息以及数据解析脚本的信息;35.其中,数据解析脚本用于采集日志数据,第二验证策略脚本用于根据第二验证策略以及日志数据进行用例验证。36.第三方面,提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现如上述第一方面以及第一方面任意一种可能的实现方式所述的方法的步骤。37.第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述第一方面以及第一方面任意一种可能的实现方式所述的方法的步骤。38.本申请中,根据独立的执行脚本和验证脚本构建用例,可以实现用例执行过程和用例验证过程的解耦,执行用例的逻辑代码与验证用例的代码之间严格分离,修改代码时互相不会产生影响,避免执行用例的逻辑代码与验证用例的逻辑代码之间互相影响导致用例无法执行的问题。附图说明39.图1为本申请实施例提供的测试系统的架构图;40.图2~图6为本申请实施例提供的用例构建方法的流程示意图;41.图7~图9为本申请实施例提供的计算机设备的结构示意图。具体实施方式42.为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。43.首先,为方便对本申请实施例所提供技术方法的理解,对本申请实施例涉及的术语进行解释说明:44.(1)用例45.设备可以通过执行用例来执行一项任务,例如,测试任务。用例涉及的过程包括执行用例的过程,以及验证用例的过程。用例的实现依赖于用例的脚本,用例的脚本包括执行用例的代码以及验证用例的代码,执行用例的代码和验证用例的代码在逻辑上是耦合的。46.(2)脚本47.脚本(script)是包含多种程序命令的一个集合,通常以独立的可执行文件存储该集合中的程序命令。可执行文件(executablefile)指的是可以由操作系统加载并执行的文件。在不同的操作系统环境下,可执行程序的呈现方式不一样,例如,在windows操作系统下,可执行文件可以是“.exe文件”、“.sys文件”、“.com文件”等类型。48.本申请实施例提供的用例构建方法适用于图1所示的测试系统。参考图2,该系统包括客户端10、服务器20以及应用端30。其中,客户端10面向用户提供多种业务,例如,提供的业务可以是用例的自动化生成。服务器20用于支持客户端10所提供业务的后台实现,例如,可以自动生成用例。应用端30支持用例的执行,例如,支持服务器20自动生成的用例的执行。一种可能的实现方式中,应用端30面向测试人员,可以根据服务器20生成的测试用例执行测试任务。49.本申请实施例提供一种用例构建方法,执行主体为图1所示系统中的服务器20。如图2所示,所述方法包括以下步骤:50.步骤201、确定与目标任务的类型匹配的至少一个执行脚本以及与目标任务的类型匹配的至少一个验证脚本。51.其中,执行脚本为执行用例的可执行程序文件,验证脚本为验证用例的可执行程序文件。可执行程序文件可以被操作系统加载并执行。加载并执行上述执行脚本可以实现对用例的执行,加载并执行上述验证脚本,可以实现对用例的验证。52.本申请实施例中,为了实现用例执行过程和用例验证过程的解耦,针对一项任务,可以独立配置执行过程的脚本、验证过程的脚本,利用独立的脚本实现用例执行、用例验证。示例的,客户端10可以获取用例创建指令,用例创建指令用于请求为目标任务创建用例,该指令可以携带目标任务的名称。服务器20从客户端接收用例创建指令后,为目标任务的用例确定执行脚本和验证脚本。53.具体地,服务器根据目标任务的类型,从存储的脚本中确定与目标任务的类型相匹配的执行脚本以及验证脚本。例如,确定与目标任务的类型匹配的至少一个执行脚本以及与目标任务的类型匹配的至少一个验证脚本。54.一种可能的实现方式中,客户端10可以根据目标任务的名称确定目标任务的类型。示例的,对目标任务的名称进行语义分析,提取目标任务的类型。其中,任务的类型可以是启动时长测试任务、上报任务、进频道任务等,本申请实施例对任务的类型不做限制。55.步骤202、从至少一个执行脚本中确定目标用例的执行脚本,从至少一个验证脚本中确定目标用例的验证脚本;目标用例用于执行目标任务。56.需要说明的是,上述至少一个执行脚本与目标任务的类型匹配,在一定程度上能够支撑目标任务的需求,可以从中选择一个执行脚本作为目标用例的执行脚本,来执行目标用例。同样,上述至少一个验证脚本与目标任务的类型匹配,在一定程度上能够支撑目标任务的需求,可以从中选择一个验证脚本作为目标用例的验证脚本,来验证目标用例。57.步骤203、根据目标用例的执行脚本以及目标用例的验证脚本构建目标用例。58.本申请实施例中,根据独立的执行脚本和独立的验证脚本构建用例,可以实现用例执行过程和用例验证过程的解耦。示例的,针对目标任务,根据步骤203确定的执行脚本以及验证脚本来构建该任务的用例,在执行目标任务时,用例执行脚本和用例验证脚本互相不会产生影响。59.图2所示的方法中,根据独立的执行脚本和验证脚本构建用例,可以实现用例执行过程和用例验证过程的解耦,执行用例的逻辑代码与验证用例的代码之间严格分离,修改代码时互相不会产生影响,避免执行用例的逻辑代码与验证用例的逻辑代码之间互相影响导致用例无法执行的问题。60.本申请实施例提供的方法中,服务器还可以预先维护多个脚本,以支持脚本的组合,灵活构建用例。示例的,在步骤201之前,服务器还可以生成脚本记录信息。其中,脚本记录信息包括m个任务类型中每一个任务类型对应的n个执行脚本的信息,以及每一个任务类型对应的n个验证脚本的信息。61.一种可能的实现方式中,脚本的信息可以是脚本的标识,唯一指示服务器存储的一个脚本。例如,执行脚本的信息可以指示服务器存储的一个执行脚本,验证脚本的信息可以指示服务器存储的一个验证脚本。62.以下表1为本申请实施例提供的脚本记录信息的一种可能的实现实现,具体如下:63.表1[0064][0065]参考表1,可以对服务器存储的n个执行脚本顺序编号,执行脚本的信息可以是执行脚本的索引,每一个执行脚本对应的索引不同。例如,表1中的x1~x4均为执行脚本的索引。同样,可以对服务器存储的n个验证脚本顺序编号,验证脚本的信息可以是验证脚本的索引,每一个验证脚本对应的索引不同。例如,表1中的y1~y4均为验证脚本的索引。需要说明的是,执行脚本和验证脚本可以分别独立编号,执行脚本的索引可以称为第一类索引,验证脚本的索引可以称为第二类索引。[0066]可选的,参考表1。脚本记录信息还包括:n个执行脚本中每一个执行脚本对应的任务名称,n个验证脚本中每一个验证脚本对应的任务名称。其中,任务名称与执行脚本的信息(例如,执行脚本的索引)、验证脚本的信息(例如,验证脚本的索引)对应记录。可以理解的是,脚本记录信息中同一任务对应的执行脚本和验证脚本所对应的任务名称相同。[0067]本申请实施例提供的方法中,服务器还可以根据目标任务的类型以及上述脚本记录确定与目标任务的类型匹配的至少一个执行脚本以及与目标任务的类型匹配的至少一个验证脚本。示例的,参考图3,包括以下步骤:[0068]步骤301、根据目标任务的类型以及脚本记录信息确定与目标任务的类型匹配的至少一个执行脚本的信息以及与目标任务的类型匹配的至少一个验证脚本的信息。[0069]具体实现中,脚本记录信息记录了目标任务的类型、执行脚本的信息以及验证脚本的信息对应关系。一个任务类型可以对应多个执行脚本以及验证脚本,根据目标任务的类型可以从脚本记录信息中确定多个执行脚本信息以及多个验证脚本信息。[0070]步骤302、根据上述至少一个执行脚本的信息确定至少一个执行脚本,根据上述至少一个验证脚本的信息确定至少一个验证脚本。[0071]具体实现中,上述至少一个执行脚本的信息可以是至少一个第一类索引,可以根据上述至少一个第一类索引从存储的多个执行脚本中确定出与目标任务匹配的至少一个执行脚本。同样,上述至少一个验证脚本的信息可以是至少一个第二索引,可以根据上述至少一个第二类索引从存储的多个验证脚本中确定出与目标任务匹配的至少一个验证脚本。[0072]示例的,目标任务为测试进入直播间的耗时性能,目标任务的类型为耗时性能测试类。根据目标任务的类型查找表1,确定与“耗时性能测试类”匹配的执行脚本的信息为“x1”、“x2”,获取索引为“x1”、“x2”的两个脚本,从中选择一个作为目标用例的执行脚本。根据目标任务的类型查找表1,确定与“耗时性能测试类”匹配的验证脚本的信息为“y1”、“y2”,获取索引为“y1”、“y2”的两个脚本,从中选择一个作为目标用例的验证脚本。[0073]图3所示的方法中,可以根据目标任务的类型确定脚本的信息,从而根据脚本的信息获取到用例的执行脚本和验证脚本,为用例的灵活配置提供支持。[0074]本申请实施例提供的方法中,可以根据业务相似度从与目标任务匹配的多个脚本中确定最终用于构建目标用例的执行脚本。示例的,参考图4,前文涉及的从至少一个执行脚本中确定目标用例的执行脚本的流程包括如下步骤:[0075]步骤401、针对上述n个执行脚本中的每一个执行脚本,根据执行脚本对应的任务名称计算执行脚本对应的任务与目标任务的业务相似度。[0076]需要说明的是,当不同任务的需求高度重合,可以使用相同的用例来执行不同的任务。不同任务的需求的相似程度越高,任务之间的业务相似度越高。因此,从与目标任务的类型匹配的多个脚本中选择目标用例的执行脚本时,可以参考业务相似度来选择执行脚本,以保证所选择脚本的执行逻辑与目标任务的实际需求尽可能地贴合。[0077]示例的,在从与目标任务匹配的至少一个执行脚本中确定目标用例的执行脚本时,首先计算上述至少一个执行脚本中各个执行脚本所对应的任务与目标任务的业务相似度。[0078]一种可能的实现方式中,可以根据任务的名称计算业务相似度。具体地,获取与目标任务匹配的至少一个执行脚本中每一个执行脚本所对应的任务名称。例如,可以从脚本记录信息(如前文所示表1)中获取每一个执行脚本所对应的任务名称。还可以对任务名称进行语义分析,提取关键字,根据提取的关键字确定不同任务的业务相似度。示例的,任务名称的关键字的相似度越高,任务的业务相似度越高。[0079]步骤402、确定上述n个执行脚本中的第一执行脚本为目标用例的执行脚本,第一执行脚本对应的任务为与目标任务的业务相似度最高。[0080]需要说明的是,从与目标任务的类型匹配的多个脚本中选择目标用例的执行脚本时,可以优先考虑与目标任务的业务相似度较高的任务所对应的脚本,以保证所选择脚本的执行逻辑与目标任务的实际需求高度贴合。[0081]可以理解的是,用例的验证逻辑通常与用例的执行逻辑高度相关。当某一任务与目标任务的业务相似度较高,该任务的执行逻辑与目标任务的执行逻辑相似度较高,该任务对应的执行脚本可用于执行目标任务,即该任务对应的执行脚本可以作为目标任务的执行脚本。同样,该任务的验证逻辑与目标任务的验证逻辑相似度较高,该任务对应的验证脚本可用于验证目标任务。因此,可以将该任务对应的验证脚本作为目标用例的验证脚本。[0082]示例的,确定目标用例的执行脚本后,还可以根据目标用例的执行脚本来确定目标用例的验证脚本。例如,将上述第一执行脚本对应的验证脚本作为所述目标用例的验证脚本。其中,第一执行脚本对应的验证脚本与第一执行脚本对应同一任务,即该任务通过第一执行脚本来执行,通过第一执行脚本对应的验证脚本来验证。[0083]图4所示的方法中,根据业务相似度从多个执行脚本中确定最终用于目标任务的执行用例,例如,将与目标任务的业务相似度最高的任务对应的执行脚本作为目标用例的执行脚本,可以高度贴合目标任务的需求,在灵活组装、配置用例时,能够兼顾用例的准确性,尽可能地满足业务的实际需求。[0084]本申请实施例提供的方法中,可以根据业务相似度从与目标任务匹配的多个脚本中确定最终用于构建目标用例的验证脚本。示例的,参考图5,前文涉及的从至少一个执行脚本中确定目标用例的验证脚本的流程包括如下步骤:[0085]步骤501、针对n个验证脚本中的每一个验证脚本,根据验证脚本对应的任务名称计算验证脚本对应的任务与目标任务的业务相似度。[0086]需要说明的是,当不同任务的需求高度重合,可以使用相同的用例来验证不同的任务。不同任务的需求的相似程度越高,任务之间的业务相似度越高。因此,从与目标任务的类型匹配的多个脚本中选择目标用例的验证脚本时,可以参考业务相似度来选择验证脚本,以保证所选择脚本的验证逻辑与目标任务的实际需求尽可能地贴合。[0087]示例的,在从与目标任务匹配的至少一个验证脚本中确定目标用例的验证脚本时,首先计算上述至少一个验证脚本中各个验证脚本所对应的任务与目标任务的业务相似度。[0088]一种可能的实现方式中,可以根据任务的名称计算业务相似度。具体地,获取与目标任务匹配的至少一个验证脚本中每一个验证脚本所对应的任务名称。例如,可以从脚本记录信息(如前文所示表1)中获取每一个验证脚本所对应的任务名称。还可以对任务名称进行语义分析,提取关键字,根据提取的关键字确定不同任务的业务相似度。示例的,任务名称的关键字的相似度越高,任务的业务相似度越高。[0089]步骤502、确定n个验证脚本中的第一验证脚本为目标用例的验证脚本,第一验证脚本对应的任务为与目标任务的业务相似度最高。[0090]需要说明的是,从与目标任务的类型匹配的多个脚本中选择目标用例的验证脚本时,可以优先考虑与目标任务的业务相似度较高的任务所对应的脚本,以保证所选择脚本的验证逻辑与目标任务的实际需求高度贴合。[0091]图5所示的方法中,根据业务相似度从多个验证脚本中确定最终用于目标任务的验证用例,例如,将与目标任务的业务相似度最高的任务对应的验证脚本作为目标用例的验证脚本,可以高度贴合目标任务的需求,在灵活组装、配置用例时,能够兼顾用例的准确性,尽可能地满足业务的实际需求。[0092]本申请实施例提供的方法中,验证脚本的信息可以包括以下两种可能:[0093]第一种、依靠后台运行数据验证用例是否通过,当目标用例的执行脚本被运行,目标任务被执行,可以根据验证策略对后台运行数据进行验证,根据验证结果得出目标用例或目标任务的验证结果。[0094]这种实现方式中,目标用例的验证脚本为验证策略脚本,当验证策略脚本被运行,可以对目标用例进行验证。示例的,验证脚本的信息为第一验证策略脚本的信息。其中,第一验证策略脚本用于根据第一验证策略以及后台运行数据进行用例验证,例如,第一验证策略脚本运行时,可以根据第一验证策略对后台运行数据进行验证,得出目标用例的验证结果。[0095]以下表2为本申请实施例提供的验证脚本的信息的一种实现可能,具体如下:[0096]表2[0097][0098]参考表2,可以对服务器存储的n个验证策略脚本顺序编号,验证策略脚本的信息可以是验证策略脚本的索引,每一个验证策略脚本对应的索引不同。例如,表1中的z1~z4均为验证策略脚本的索引。[0099]第二种、依靠日志数据验证用例是否通过,当目标用例的执行脚本被运行,目标任务被执行,可以根据验证策略对日志数据进行验证,根据验证结果得出目标用例或目标任务的验证结果。[0100]这种实现方式中,目标用例的验证脚本包括验证策略脚本以及数据采集脚本。当数据采集脚本被运行,可以采集到指定对象上报的日志。例如,目标任务为“测试短视频appa运行时进入直播间的耗时性能”,数据采集脚本可以采集到短视频appa运行时上报的日志数据。[0101]当验证策略脚本被运行,可以对目标用例进行验证。示例的,验证脚本的信息包括数据采集脚本的信息以及第二验证策略脚本的信息。数据采集脚本用于采集与目标用例相关的日志数据,第二验证策略脚本用于根据第二验证策略以及日志数据进行用例验证,例如,第二验证策略脚本运行时,可以根据第二验证策略对与目标用例相关的日志数据进行验证,得出目标用例的验证结果。[0102]需要说明的是,本申请实施例中的第一、第二仅用于区分不同的对象,例如,区分不同的验证策略脚本,不具备其它含义。[0103]本申请实施例还提供一种用例构建方法,通过工厂方法模式进行用例执行器和用例验证器的灵活组合,自动生成用例。其中,用例执行器的功能由前文所述的执行脚本来实现,用例验证器的功能由前文所述的验证脚本来实现。示例的,参考图6,所述方法包括以下步骤:[0104]步骤601、创建任务。[0105]自动化测试系统中,对于不同的测试对象(例如,美拍、追玩、vivo等不同的应用程序)都有多个不同的用例。针对不同的测试对象创建不同的任务,以分别针对每个任务灵活组装用例执行器和用例验证器。具体实现中,用户可以通过服务器20创建任务。[0106]示例的,参考图6,创建的任务可以是“app1上下滑动耗时测试”、“app2启动任务耗时测试”、“app3进频道耗时测试”。[0107]步骤602、工厂管理者针对每一个任务构建用例工厂。[0108]其中,工厂管理者用于创建、管理用例工厂,可以是服务器20的功能模块。针对每一个任务创建用例工厂,以实现同一个用例工厂内用例执行器和用例验证器灵活组合,降低用例生成的复杂程度。另外,服务器20存储了多个不同的用例执行器和多个不同的用例验证器,以支持工厂管理者灵活组合用例执行器和用例验证器,将用例的执行逻辑和验证逻辑解耦。[0109]示例的,参考图6,针对“app1上下滑动耗时测试”创建用例工厂1,针对“app2启动任务耗时测试”创建用例工厂2,针对“app3进频道耗时测试”创建用例工厂3。[0110]步骤603、在每一个用例工厂中,根据用例执行器和用例验证器构建用例。[0111]具体实现中,工厂管理者根据任务的类型,从服务器20存储的多个不同的用例执行器中确定与任务的类型相匹配的一个用例执行器,从服务器20存储的多个不同的用例验证器中确定与任务的类型相匹配的一个用例验证器。根据确定的用例执行器和用例验证器构建该任务的用例。[0112]示例的,参考图6,以用例工厂2为例,任务“app2启动任务耗时测试”的任务类型为“耗时性能测试类”。可以确定与“耗时性能测试类”匹配的用例验证器以及用例执行器,从中进行灵活组合,构建任务“app2启动任务耗时测试”的用例(以下简称目标用例)。如图6所示,根据任务类型“耗时性能测试类”匹配到的用例验证器包括日志验证器1和卡夫卡验证器2,根据任务类型“耗时性能测试类”匹配到的用例执行器包括用例执行器3和用例执行器4。其中,用例执行器3对应的任务为“app4启动任务耗时测试”,用例执行器4对应的任务为“app5进频道耗时测试”。[0113]具体实现中,日志验证器1包括验证策略执行器和数据采集器。其中,数据采集器的功能由前文所述的数据采集脚本实现,可用于采集app2的日志数据。验证策略执行器的功能由前文所述的验证策略脚本实现,可用于根据验证策略对数据采集器采集到的日志数据进行验证,获得目标用例的验证结果。[0114]卡夫卡验证器2,可根据验证策略对测试对象(例如,测试设备)的后台数据进行验证,获得目标用例的验证结果。卡夫卡验证器的功能可以由前文所述的验证策略脚本实现。[0115]图6示出了用例验证器和用例执行器的两种可能的组合方式,用例验证器和用例执行器的组合不限于图6所示,还可以通过其他组合构建目标用例。[0116]步骤604、任务执行者根据用例验证器和用例执行器,执行任务。[0117]任务执行者可以是本申请实施例所述的应用端30,任务执行者可以从工厂管理者获取用例验证器和用例执行器,利用用例执行器执行用例,利用用例验证器验证用例。[0118]图6所示的方法中,采用工厂类方法实现用例的自动化构建,将用例的执行和验证过程解耦,将用例分为用例验证器和用例执行器,在任务工厂内实现用例验证器和用例执行器的灵活组合,避免执行用例的逻辑代码与验证用例的逻辑代码之间互相影响导致用例无法执行的问题。[0119]本申请实施例提供一种用例构建装置,该用例构建装置可以是本申请实施例的服务器。如图7所示,该用例构建装置包括:匹配单元701、确定单元702以及构建单元703。[0120]匹配单元701,用于确定与目标任务的类型匹配的至少一个执行脚本以及与目标任务的类型匹配的至少一个验证脚本;执行脚本为执行用例的可执行程序文件,验证脚本为验证用例的可执行程序文件;[0121]确定单元702,用于从上述至少一个执行脚本中确定目标用例的执行脚本,从上述至少一个验证脚本中确定目标用例的验证脚本;目标用例用于执行目标任务;[0122]构建单元703,用于根据目标用例的执行脚本以及目标用例的验证脚本构建目标用例。[0123]在其中一个实施例中,参考图8,该用例构建装置还包括生成单元704。[0124]生成单元704,用于生成脚本记录信息,脚本记录信息包括m个任务类型中每一个任务类型对应的n个执行脚本的信息,以及m个任务类型中每一个任务类型对应的n个验证脚本的信息;m为大于等于1的整数,n为大于等于1的整数。[0125]在其中一个实施例中,匹配单元701具体用于,根据目标任务的类型以及脚本记录信息确定与目标任务的类型匹配的至少一个执行脚本的信息以及与目标任务的类型匹配的至少一个验证脚本的信息;[0126]根据上述至少一个执行脚本的信息确定上述至少一个执行脚本,根据上述至少一个验证脚本的信息确定上述至少一个验证脚本。[0127]在其中一个实施例中,脚本记录信息还包括:n个执行脚本中每一个执行脚本对应的任务名称,n个验证脚本中每一个验证脚本对应的任务名称。[0128]在其中一个实施例中,确定单元702具体用于,针对n个执行脚本中的每一个执行脚本,根据执行脚本对应的任务名称计算执行脚本对应的任务与目标任务的业务相似度;确定n个执行脚本中的第一执行脚本为目标用例的执行脚本,第一执行脚本对应的任务为与目标任务的业务相似度最高。[0129]在其中一个实施例中,确定单元702具体用于,针对n个验证脚本中的每一个验证脚本,根据验证脚本对应的任务名称计算验证脚本对应的任务与目标任务的业务相似度;[0130]确定n个验证脚本中的第一验证脚本为目标用例的验证脚本,第一验证脚本对应的任务为与目标任务的业务相似度最高。[0131]在其中一个实施例中,上述验证脚本的信息为第一验证策略脚本的信息;第一验证策略脚本用于根据第一验证策略以及后台运行数据进行用例验证。[0132]在其中一个实施例中,上述验证脚本的信息包括:第二验证策略脚本的信息以及数据解析脚本的信息;其中,数据解析脚本用于采集日志数据,第二验证策略脚本用于根据第二验证策略以及日志数据进行用例验证。[0133]本申请实施例还提供了一种计算机设备,该计算机设备可以是服务器,例如,本申请实施例前文所述的云端服务器。其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库可以存储配置信息、权限信息等。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现本申请实施例图2~图6所示的方法中由服务器执行的步骤。[0134]在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时支持服务器实现以下步骤:[0135]确定与目标任务的类型匹配的至少一个执行脚本以及与目标任务的类型匹配的至少一个验证脚本;执行脚本为执行用例的可执行程序文件,验证脚本为验证用例的可执行程序文件;[0136]从上述至少一个执行脚本中确定目标用例的执行脚本,从上述至少一个验证脚本中确定目标用例的验证脚本;目标用例用于执行目标任务;[0137]用于根据目标用例的执行脚本以及目标用例的验证脚本构建目标用例。[0138]在其中一个实施例中,参考图9,计算机程序被处理器执行时支持服务器生成脚本记录信息,脚本记录信息包括m个任务类型中每一个任务类型对应的n个执行脚本的信息,以及m个任务类型中每一个任务类型对应的n个验证脚本的信息;m为大于等于1的整数,n为大于等于1的整数。[0139]在其中一个实施例中,计算机程序被处理器执行时支持服务器根据目标任务的类型以及脚本记录信息确定与目标任务的类型匹配的至少一个执行脚本的信息以及与目标任务的类型匹配的至少一个验证脚本的信息;[0140]根据上述至少一个执行脚本的信息确定上述至少一个执行脚本,根据上述至少一个验证脚本的信息确定上述至少一个验证脚本。[0141]在其中一个实施例中,脚本记录信息还包括:n个执行脚本中每一个执行脚本对应的任务名称,n个验证脚本中每一个验证脚本对应的任务名称。[0142]在其中一个实施例中,计算机程序被处理器执行时支持服务器针对n个执行脚本中的每一个执行脚本,根据执行脚本对应的任务名称计算执行脚本对应的任务与目标任务的业务相似度;确定n个执行脚本中的第一执行脚本为目标用例的执行脚本,第一执行脚本对应的任务为与目标任务的业务相似度最高。[0143]在其中一个实施例中,计算机程序被处理器执行时支持服务器针对n个验证脚本中的每一个验证脚本,根据验证脚本对应的任务名称计算验证脚本对应的任务与目标任务的业务相似度;[0144]确定n个验证脚本中的第一验证脚本为目标用例的验证脚本,第一验证脚本对应的任务为与目标任务的业务相似度最高。[0145]在其中一个实施例中,上述验证脚本的信息为第一验证策略脚本的信息;第一验证策略脚本用于根据第一验证策略以及后台运行数据进行用例验证。[0146]在其中一个实施例中,上述验证脚本的信息包括:第二验证策略脚本的信息以及数据解析脚本的信息;其中,数据解析脚本用于采集日志数据,第二验证策略脚本用于根据第二验证策略以及日志数据进行用例验证。[0147]本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read‑onlymemory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(randomaccessmemory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(staticrandomaccessmemory,sram)或动态随机存取存储器(dynamicrandomaccessmemory,dram)等。[0148]以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。[0149]以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1