本发明涉及数据测试技术领域,具体而言,涉及一种自动化测试方法、装置及系统。
背景技术:
目前对http(hypertexttransferprotocol,超文本传输协议)接口进行测试时,主要是使用测试工具模拟http命令,然后通过对返回值进行对比后确定接口功能是否符合完成标准。在使用专用的测试工具进行测试时,需要测试人员对测试工具非常熟悉,才能实现测试流程的配置、测试结果的分析、缺陷的复现等工作,使得测试效率很低。
技术实现要素:
有鉴于此,本发明提供了一种自动化测试方法、装置及系统。
本发明提供的技术方案如下:
一种自动化测试方法,应用于web页面端,所述web页面端分别与web服务器及测试用例执行服务器通信连接;所述自动化测试方法包括:
获取与预设业务对应的测试用例;
将所述测试用例在所述web页面端进行展示,并获取用户输入的测试指令;
根据所述测试指令将与所述测试指令对应的测试用例发送至所述测试用例执行服务器,以使所述测试用例执行服务器执行所述测试用例;
接收所述测试用例执行服务器执行所述测试用例得到的测试结果,将所述测试结果在所述web页面端进行展示。
进一步地,所述web页面端预先配置有与所述预设业务对应的人员信息,该方法还包括:
确定与所述测试结果对应的预设业务;
确定与所述测试结果对应的预设业务匹配的人员信息;
将所述测试结果发送至与所述预设业务对应的人员。
进一步地,所述测试结果中包含多个测试返回值,所述web页面端预先配置与所述预设业务对应的完成标准,所述web页面端用于根据所述用户的输入指令,对所述完成标准进行添加、删除或修改;该方法还包括:
将所述测试结果与所述完成标准进行比对;
将所述测试结果中不符合所述完成标准的测试返回值进行标注。
进一步地,所述web服务器还用于根据预设分类标准将所述测试用例进行分类,该方法还包括:
建立与所述预设业务的测试集合,所述测试集合包括至少一个测试用例。
进一步地,所述测试指令包括选择一个或多个测试用例的指令,以及开始执行所述一个或多个测试用例的指令,根据所述测试指令将所述测试用例发送至所述测试用例执行服务器的步骤包括:
根据所述开始执行所述一个或多个测试用例的指令,确定所述一个或多个测试用例;
依据所述一个或多个测试用例进行测试流程。
进一步地,所述web测试系统还用于接收预设执行时间指令,所述预设执行时间指令包括执行所述测试用例的预设时间,该方法还包括:
根据所述预设执行时间指令,确定执行所述测试用例的预设时间;
在当前时刻为所述预设时间时,开始执行所述测试用例。
进一步地,所述web服务器与数据库通信连接,所述数据库用于存储所述测试用例以及所述测试结果。
本发明还提供了一种自动化测试装置,应用于web页面端,所述web页面端分别与所述web服务器及测试用例执行服务器通信连接;所述自动化测试装置包括:
测试用例获取模块,用于获取与预设业务对应的测试用例;
测试指令获取模块,用于将所述测试用例在所述web页面端进行展示,并获取用户输入的测试指令;
测试执行模块,用于根据所述测试指令将与所述测试指令对应的测试用例发送至所述测试用例执行服务器,以使所述测试用例执行服务器执行所述测试用例;
测试结果展示模块,用于接收所述测试用例执行服务器执行所述测试用例得到的测试结果,将所述测试结果在所述web页面端进行展示。
进一步地,所述web页面端预先配置有与所述预设业务对应的人员信息,该装置还包括:
业务确定模块,用于确定与所述测试结果对应的预设业务;
人员确定模块,用于确定与所述测试结果对应的预设业务匹配的人员信息;
结果推送模块,用于将所述测试结果发送至与所述预设业务对应的人员。
本发明还提供了一种自动化测试系统,包括web页面端、与所述web页面端连接的web服务器以及与所述web页面端连接的测试用例执行服务器,其中,所述web页面端包括上述自动化测试装置。
本申请实施例中通过建立包括web页面端、web服务器、测试用例执行服务器的web测试系统,可以实现用户通过web页面端对测试流程的控制,界面配置简单,测试流程简便,无需测试人员需要较高的测试经验就可以完成测试用例的配置、测试结果的分析等操作。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例提供的一种自动化测试方法的流程示意图。
图2为本发明实施例提供的一种自动化测试方法的另一流程示意图。
图3为本发明实施例提供的一种自动化测试方法的另一流程示意图。
图4为本发明实施例提供的一种自动化测试装置的功能模块示意图。
图标:100-自动化测试装置;101-测试用例获取模块;102-测试指令获取模块102;103-测试执行模块;104-测试结果展示模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
软件程序在开发过程中,需要涉及到的各个业务以及各个业务的功能接口进行测试。在测试工作中,测试人员需要使用测试工具进行业务功能接口是否正常的测试。例如,可以利用jmeter开源工具测试http协议的接口,但现有的测试过程中存在几个问题:1)测试人员需要对jmeter很熟悉,才能使用该开源软件进行测试,学习曲线非常陡;2)jmeter需要进行多种插件才能对各种返回值进行检测对比;3)jmeter是要适应多种情况,界面配置非常复杂,会分散测试人员的注意力;4)jmeter在测试执行时是以每一个samper为单位显示返回值,不能显示完整的业务逻辑结果;5)研发人员在复现缺陷时,需要懂jmeter的测试人员协助或自行学习jmeter才能使用jmeter;6)初级测试人员必须学习使用jmeter后,才能进行相应的测试,抬高了测试门槛。
有鉴于此,本申请实施例提供了一种自动化测试方法,应用于web页面端,所述web页面端分别与所述web服务器及测试用例执行服务器通信连接。如图1所示,所述自动化测试方法包括以下步骤。
步骤s101,获取与预设业务对应的测试用例。
在本申请实施例中,web页面端、web服务器以及测试用例执行服务器可以组成web测试系统,该web测试系统还可以包括用户存储测试用例以及测试结果的数据库。web服务器可以从数据库中获取的得到针对不同待测试接口的一个或多个测试用例。通过web页面端可以将不同业务对应的测试用例进行展示,测试人员在对某一业务进行测试时,可以根据实际测试需求,从web页面端展示的多个测试用例中,选择需要的测试用例,web页面端可以根据用户确定测试用例的信息,确定与预设业务对饮的测试用例。
步骤s102,将所述测试用例在所述web页面端进行展示,并获取用户输入的测试指令。
用户输入的测试指令可以包括需要测试的业务的信息,针对该业务选择的测试用例的信息,用户在通过web页面端输入了测试指令后,web服务器可以根据测试指令,确定对应的需要测试的业务信息,以及针对该业务的测试用例的信息。从而可以根据用户选择的测试用例层信息,从数据库获取相对应的测试用例,以便进行业务测试。
步骤s103,根据所述测试指令将与所述测试指令对应的测试用例发送至所述测试用例执行服务器,以使所述测试用例执行服务器执行所述测试用例。
在确定了需要测试的业务,以及与该业务对应的测试用例后,即可执行测试用例对相应的业务接口进行测试。在本申请实施例中,测试用例执行服务器可以进行测试用例的执行,测试用例执行服务器可以根据用户通过web页面端选择的测试用例以及对应的业务进行相应的测试操作。测试用例执行服务器在执行完测试用例后,可以将得到对应的测试结果发送至web页面端进行展示。
步骤s104,接收所述测试用例执行服务器执行所述测试用例得到的测试结果,将所述测试结果在所述web页面端进行展示。
测试用例执行服务器测试得到的测试结果,可以发送至web页面端进行展示,web页面端接收到测试结果后,即可将测试结果进行展示,用户可以根据web页面端直观的看到针对待测试业务的测试结果。
在本申请实施例中,测试用例执行服务器执行测试用例的目的在于测试业务的功能是否满足预设标准。所述测试结果中可以包含多个测试返回值,所述web页面端预先配置与所述预设业务对应的完成标准,所述web页面端用于根据所述用户的输入指令,对所述完成标准进行添加、删除或修改;web页面端在对测试结果进行展示时,还可以将所述测试结果与所述完成标准进行比对;将所述测试结果中不符合所述完成标准的测试返回值进行标注。
例如,web页面端在接收到测试结果后,可以将测试结果以业务为基准,按照预先设备的标准项名称对比显示在完成标准的页面上,并且可以将符合完成标准的测试返回值与不符合完成标准的测试返回值分别进行标注,以便进行更直观的展示。例如,可以将不符合完成标准的测试返回值以红色等较鲜明的颜色标注,测试人员可以更直观的了解到测试结果中有哪些测试返回值是不符合完成标准的。完成标准的具体数值可以根据不同业务的具体情况确定。
web页面端在进行测试结果的展示时,还可以将测试结果发送至业务的相关技术人员,可以通过生成邮件、消息等形式对相关技术人员进行提醒,以便相关技术人员可以及时了解到业务的测试结果。
详细的,所述web页面端预先配置有与所述预设业务对应的人员信息,如图2所示,该方法还包括以下步骤。
步骤s105,确定与所述测试结果对应的预设业务。
测试人员在对某项业务进行测试时,测试结果会显示在该测试人员使用的终端上。在多个测试人员同时对多个业务进行测试时,测试用例执行服务器可以将对应的测试结果分别发送至对应的测试人员的终端上。此外,一个测试人员还可能使用一台终端同时对多个业务进行测试。因此,在一个web页面端上可能会同时显示多个业务对应的测试结果,并且同一测试结果也可以在多个web页面端上进行显示。
web页面端在对测试结果进行显示时,可以根据测试结果中的具体信息,确定测试结果对应的具体业务。在实施时,进行测试的业务和对应的测试结果可以预先配置相同的标识信息,web页面端在展示测试结果时,可以根据测试结果配置的标识信息,确定该测试结果对应的具体业务。
步骤s106,确定与所述测试结果对应的预设业务匹配的人员信息。
web页面端上可以预先针对不同的业务配置不同的人员信息,某一业务对应的人员信息可以包括人员的姓名、职务、联系方式等信息。人员信息可以预先建立与具体业务的对应关系,在通过测试结果确定了对应的业务后,可以通过预先建立的对应关系确定该业务对应的人员信息。
步骤s107,将所述测试结果发送至与所述预设业务对应的人员。
将测试结果发送至对应人员的动作可以是web页面端进行的,也可以是测试用例执行服务器进行的。web页面端在预先配置好业务及其对应的人员信息后,可以将业务与人员信息的对应关系发送至测试用例执行服务器,测试用例执行服务器在执行测试用例得到测试结果后,可以直接根据测试时对应的业务确定相应的人员信息,再通过预先配置的通信方式将测试结果发送至相关人员。在本申请实施例中,可以通过邮件、短信、通知消息等形式将测试结果发送至相关人员。
此外,web页面端还可以实现测试结果的发送,用户预先通过web页面端配置好与具体业务对应的人员信息后,在测试人员通过web页面端启动了业务的测试流程,并且测试用例执行服务器在执行完测试用例,得到了测试结果后,测试用例执行服务器将测试结果发送至web页面端,web页面端在根据预先配置的业务与人员信息的对应关系,将不同业务的测试结果发送至对应的人员,实现测试结果的及时处理。
在另一种具体实施方式汇总,所述web服务器还用于根据预设分类标准将所述测试用例进行分类,该方法还包括以下步骤。
步骤s108,建立与所述预设业务的测试集合,所述测试集合包括至少一个测试用例。
在本申请实施例中,可以预先配置不同业务功能接口测试用例的具体内容,可以通过添加、修改等形式对业务功能接口的测试用例进行调整。例如添加或修改测试用例中的脚本、数据和完成标准等。此外,还可以实现对测试用例的使用状态的管理,例如,将测试用例的状态调整为可执行或不可执行。处于可执行状态的测试用例可被测试人员选择并进而被测试执行,处于不可执行状态的测试用例不能被用于进行测试。
此外,用户通过web页面端还可以对测试用例进行分类,例如针对某一业务功能接口,可以将相关的测试用例进行标识分类,形成与该业务对应的测试集合。此外,测试人员还可以根据测试经验、对测试用例的熟悉程度等维度对测试用例进行分类,形成测试集合。一个测试集合中的多个测试用例在测试执行时,可以一键执行,即测试人员可以选择某一测试集合后,仅输入一个开始执行的指令,测试集合中的多个测试用例即可依照预设方式在测试用例执行服务器中执行测试。
在本申请实施例中,不管是测试人员执行测试,还是开发人员进行功能验证或缺陷重现,可以在web页面选择一个或多个测试用例后,只需点击“执行”按钮,就可以执行,不需要测试执行的细节。从而使用测试执行可以在任何时间执行。
在本申请实施例中,所述web页面端还用于接收预设执行时间指令,所述预设执行时间指令包括执行所述测试用例的预设时间,如图3所示,该方法还包括以下步骤。
步骤s109,根据所述预设执行时间指令,确定执行所述测试用例的预设时间。
针对某一业务功能接口的测试可能会因为测试流程的不同需要不同的时长,例如,某一业务功能接口需要进行回归测试和性能测试,但如果在工作时间进行,则可能会对正常的工作造成影响。用户可以通过web页面端输入预设执行时间指令,该预设执行时间指令中可以包括需要定时执行的业务功能接口的具体信息、测试执行需要的测试用例、定时执行开始的时刻等信息。
web页面端在接受到定时执行的指令后,可以将相关信息发送至web服务器或者测试用例执行服务器。
步骤s110,在当前时刻为所述预设时间时,开始执行所述测试用例。
在当前时间进行到预设时间时,表明用户预先设定的定时执行的测试任务可以开始执行,测试用例执行服务器可以根据预先设定的业务功能接口的信息、对应的测试用例的信息等设置,开始进行测试流程,并可以将测试执行得到的测试结果发送至对应的技术人员或对应的web页面端。通过设置测试用例的定时执行,对于回归测试、性能测试等会对正常工作造成影响或需要占用较多时长的测试任务设定在非工作时间自动进行测试,保证测试不会对正常工作造成影响,提高测试效率。
可以理解的是,所述web测试系统还包括数据库,所述数据库用于存储所述测试用例以及所述测试结果。web服务器可以从数据库中调用需要展示至web页面端的测试用例,测试用例执行服务器在进行测试用例的执行时,也可以从数据库中调用对应的测试用例,同时测试用例执行服务器执行测试用例得到的测试结果还可以在数据库中进行存储。
综上所述,本申请实施例中通过建立包括web页面端、web服务器、测试用例执行服务器的web测试系统,可以实现用户通过web页面端对测试流程的控制,界面配置简单,测试流程简便,无需测试人员需要较高的测试经验就可以完成测试用例的配置、测试结果的分析等操作。
如图4所示,本发明还提供了一种自动化测试装置100,应用于web页面端,所述web页面端分别与所述web服务器及测试用例执行服务器通信连接;所述自动化测试装置包括:
测试用例获取模块101,用于获取与预设业务对应的测试用例;
测试指令获取模块102,用于将所述测试用例在所述web页面端进行展示,并获取用户输入的测试指令;
测试执行模块103,用于根据所述测试指令将与所述测试指令对应的测试用例发送至所述测试用例执行服务器,以使所述测试用例执行服务器执行所述测试用例;
测试结果展示模块104,用于接收所述测试用例执行服务器执行所述测试用例得到的测试结果,将所述测试结果在所述web页面端进行展示。
进一步地,所述web页面端预先配置有与所述预设业务对应的人员信息,该装置还包括:
业务确定模块,用于确定与所述测试结果对应的预设业务;
人员确定模块,用于确定与所述测试结果对应的预设业务匹配的人员信息;
结果推送模块,用于将所述测试结果发送至与所述预设业务对应的人员。
本发明还提供了一种自动化测试系统,包括web页面端、与所述web页面端连接的web服务器以及与所述web页面端连接的测试用例执行服务器,其中,所述web页面端包括上述自动化测试装置。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。