测试脚本生成方法、测试方法、装置、设备及存储介质与流程

文档序号:15312282发布日期:2018-08-31 22:08阅读:218来源:国知局

本申请涉及计算机技术领域,尤其涉及一种测试脚本生成方法、测试方法、装置、设备及存储介质。



背景技术:

软件测试是软件产品开发、运维过程中较为重要的环节,是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程。软件测试人员需要为每个软件产品制定测试脚本,通过运行该测试脚本来得知软件产品是否可以按照预期执行。然而,对于一些类型相似的软件产品来说,测试脚本中会使用到相同的类方法等,譬如,两个同为金融相关的软件产品,两者的测试脚本中可能会采用很多相同的类方法。这样测试人员在写两个测试脚本时,势必会重复写大量的代码,浪费较多的时间和精力,降低测试效率。



技术实现要素:

本申请提供了一种测试脚本生成方法、测试方法、装置、设备及存储介质,以提高测试效率。

第一方面,本申请提供了一种测试脚本生成方法,其包括:

获取测试配置文件,其中,所述测试配置文件包括测试用例和测试参数;

基于预设测试框架获取所述测试参数对应的预设测试模块,其中,所述预设测试框架包括至少一个所述预设测试模块;

根据所述测试用例和所述测试参数对应的预设测试模块生成脚本测试模块;

打包所述脚本测试模块和预设测试框架以生成测试脚本。

第二方面,本申请提供了一种软件测试方法,其包括:

在满足预设执行条件时,读取预置的测试脚本对应的存储地址信息,其中,所述测试脚本为采用本申请提供的任一项所述的测试脚本生成方法所生成的测试脚本;

根据所述存储地址信息生成下载请求并发送所述下载请求至版本控制系统,其中,所述下载请求包括所述存储地址信息;

接收所述版本控制系统根据所述下载请求发送的所述存储地址信息对应的测试脚本,其中,所述测试脚本包括脚本测试模块和预设测试框架;

基于所述预设测试框架,在执行机上执行所述脚本测试模块以完成软件测试。

第三方面,本申请提供了一种测试脚本生成装置,其包括:

文件获取单元,用于获取测试配置文件,其中,所述测试配置文件包括测试用例和测试参数;

模块获取单元,用于基于预设测试框架获取所述测试参数对应的预设测试模块,其中,所述预设测试框架包括至少一个所述预设测试模块;

生成单元,用于根据所述测试用例和所述测试参数对应的预设测试模块生成脚本测试模块;

打包单元,用于打包所述脚本测试模块和预设测试框架以生成测试脚本。

第四方面,本申请提供了一种软件测试装置,其包括:

读取单元,用于在满足预设执行条件时,读取预置的测试脚本对应的存储地址信息,其中,所述测试脚本为采用本申请提供的任一项所述的测试脚本生成方法所生成的测试脚本;

请求发送单元,用于根据所述存储地址信息生成下载请求并发送所述下载请求至版本控制系统,其中,所述下载请求包括所述存储地址信息;

接收单元,用于接收所述版本控制系统根据所述下载请求发送的所述存储地址信息对应的测试脚本,其中,所述测试脚本包括脚本测试模块和预设测试框架;

测试执行单元,用于基于所述预设测试框架,在执行机上执行所述脚本测试模块以完成软件测试。

第五方面,本申请又提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本申请提供的任一项所述的测试脚本生成方法,或者实现本申请提供的任一项的软件测试方法。

第六方面,本申请还提供了一种存储介质,其中所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行本申请提供的任一项所述的测试脚本生成方法,或者执行本申请提供的任一项的软件测试方法。

本申请提供一种测试脚本生成方法、测试方法、装置、设备及存储介质。在该测试脚本生成方法中,测试人员预先将测试所需的数据库、各种类方法、与每个业务流程对应的预设测试模块封装在预设测试框架中。在需要生成测试脚本时,通过获取测试人员编写的测试配置文件,并基于预设测试框架获取测试参数对应的预设测试模块;再根据测试用例和测试参数对应的预设测试模块生成脚本测试模块;最后打包脚本测试模块和预设测试框架以生成测试脚本。该测试脚本生成方法可以快速地生成测试脚本,避免测试人员重复写大量代码,节省测试人员的时间和精力,提高测试效率。

附图说明

为了更清楚地说明本申请实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本申请实施例中终端与服务器的交互示意图;

图2为本申请实施例中测试脚本生成方法的示意流程图;

图3为本申请实施例提供的一种软件测试方法的示意流程图;

图4为本申请实施例提供的一种软件测试方法的另一示意流程图;

图5为本申请实施例提供的一种测试脚本生成装置的示意性框图;

图6为本申请实施例提供的一种测试脚本生成装置的另一示意性框图;

图7为本申请实施例提供的一种软件测试装置的示意性框图;

图8为本申请实施例提供的一种计算机设备的示意性框图;

图9为本申请实施例提供的一种计算机设备的另一示意性框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

在本说明书中,测试人员预先编写好预设测试框架,并将该预设测试框架存储在终端中。该终端可以为台式电脑、手提电脑、平板电脑等。其中,该预设测试框架封装了至少一个预设测试模块、各种类方法模块、数据库等测试过程中可能需要重复使用的程序代码。

其中,该预设测试模块可以为测试人员根据所需测试的一些软件产品来编写的测试流程的程序模块。譬如,对于企业的多种金融软件产品来说,都会存在放款业务,而每个金融软件产品对应的放款业务的流程又基本相同,那么测试人员就可以将放款业务的基本流程封装成一个预设测试模块,并将该预设测试模块封装在预设测试框架中。又譬如,对于企业的某个金融软件产品来说,会存在还款业务,而无论该金融软件产品的旧版本还是新版本,还款业务的基本流程也许不会改变,那么测试人员就可以将还款业务的基本流程封装成一个预设测试模块。

各类方法模块可以为进行软件产品测试时可能会使用到的一些类方法对应的程序模块。譬如,各种类方法模块可以包括dateapiutils类方法模块、oracelapiutils类方法模块等等。该数据库用于存储测试所需的测试数据等信息。

需要说明的是,预设测试框架中所封装的内容不局限于上述的预设测试模块、各种类方法模块、数据库等,还可以封装其他模块,测试人员可以根据实际需求将各种模块封装在预设测试框架中。将预设测试模块、各种类方法模块、数据库等测试过程中可能使用到的代码预先封装在预设测试框架中,以便于后续做软件测试时,直接调用相应模块,无需测试人员重复写大量的代码,节省测试人员的时间,同时也提高测试效率。

当测试人员需要生成测试脚本并进行软件测试时,可以预先编写好测试配置文件,并将配置文件上传至终端中。其中,该终端中存储有该预设测试框架。

如图1所示,图1是本申请实施例中终端与服务器的交互示意图。其中,第一服务器中安装有版本控制系统。该第二服务器中配置有执行机,该执行机用于执行程序代码以完成相应操作。

终端获取测试人员上传的测试配置文件,其中该测试配置文件包括测试用例和测试参数;然后基于预设测试框架获取测试参数对应的预设测试模块,其中,预设测试框架包括至少一个所述预设测试模块;再根据测试用例和测试参数对应的预设测试模块生成脚本测试模块;最后打包脚本测试模块和预设测试框架以生成测试脚本。

终端在生成完测试脚本后,将测试脚本发送至第一服务器,即发送给第一服务器中的版本控制系统,以使得版本控制系统保存该测试脚本。

第二服务器中存储了测试人员预先为测试脚本配置的预设执行条件。譬如,该预设执行条件可例如为脚本执行的时间等。第二服务器在判断出满足预设执行条件时,读取预置的测试脚本对应的存储地址信息,然后根据存储地址信息生成下载请求并发送下载请求至版本控制系统,即第一服务器。版本控制系统接收到下载请求后,解析下载请求中的存储地址信息,并根据存储地址信息找到对应的测试脚本,并发送测试脚本至第二服务器。第二服务器接收版本控制系统发送的存储地址信息对应的测试脚本,其中,该测试脚本包括脚本测试模块和预设测试框架;然后基于预设测试框架,在执行机上执行脚本测试模块以完成软件测试。

以下将结合说明书附图,分别以终端的角度详细地介绍测试脚本生成方法的具体过程以及以第二服务器的角度详细地介绍软件测试方法的具体过程。

请参阅图2,图2是本申请实施例中测试脚本生成方法的示意流程图。该测试脚本生成方法包括步骤s101~s104。

s101、获取测试配置文件,其中,所述测试配置文件包括测试用例和测试参数。

在本实施例中,该测试配置文件可以为excel文件。当然,在其他实施例中,该测试配置文件还可以为其他格式的文件,在此不做具体限制。

该测试用例中包含有测试所需的测试数据的查询信息,其中,该测试数据的查询信息可以为测试数据对应的数据标识信息、数据存储地址信息等等。终端可以根据这些测试数据的查询信息在预设测试框架的数据库中调取对应的测试数据。

譬如,测试数据的查询信息为订单号,终端会根据这个订单号到预设测试框架的数据库中找到订单号对应的订单信息,即订单号对应的测试数据。其中,该订单信息包括订单号、申请人、放款金额、放款日期、银行卡号、身份证号等数据。

该测试参数可以包括测试模块查询路径或者测试模块标识信息等,这样终端可以通过测试参数在预设测试框架中查找到对应的预设测试模块。

s102、基于预设测试框架获取所述测试参数对应的预设测试模块,其中,所述预设测试框架包括至少一个所述预设测试模块。

在本实施例中,该预设测试模块是预先封装好的测试业务流程。该预设测试框架中封装有至少一个预设测试模块。终端可以根据测试参数在预设测试框架中找到与测试参数对应的预设测试模块。

具体地,在一实施例中,当该测试参数包括测试模块查询路径时,终端可以基于预设测试框架,根据所述测试模块查询路径获取对应的预设测试模块。

譬如,该测试模块查询路径包括测试阶段标识信息和资金模式标识信息。该资金模式标识信息为预设测试模块对应的标识信息,比如,资金模式标识信息可以为“lc模式”、“富登p2p模式”等。该测试阶段标识信息为用于存储该预设测试模块的测试模块文件夹对应的标识信息。比如,测试阶段标识信息可以为“放款”、“还款”等。

那么,基于预设测试框架,根据所述测试模块查询路径获取对应的预设测试模块,具体包括:基于预设测试框架,根据所述测试阶段标识信息获取对应的测试模块文件夹,其中,所述测试模块文件夹包括至少一个预设测试模块;基于所述测试模块文件夹获取所述资金模式标识信息对应的预设测试模块。例如,测试模块查询路径为:放款\lc模式。这样终端就可以先找到“放款”标识信息对应的测试模块文件夹,并在该测试模块文件夹中找到“lc模式”对应的预设测试模块。

具体地,在另一实施例中,当测试参数包括测试模块标识信息时,终端基于预设测试框架获取所述测试参数对应的预设测试模块,具体包括:基于预设测试框架,根据所述测试模块标识信息获取对应的预设测试模块。其中,该测试模块标识信息与预设测试框架中唯一一个预设测试模块相对应。

譬如,该测试模块标识信息可例如为:lc模式-放款、lc模式-还款、富登p2p模式-放款。也就是说,该测试模块标识信息除了包括资金模式标识信息lc模式、富登p2p模式、cgi-p2p模式、联合放款模式、信保cgi外,还包括放款、还款、理赔、追偿等测试阶段标识信息。这样可以使得每个预设测试模块对应的标识信息唯一,终端可以根据用户设置的测试模块标识信息找到唯一的预设测试模块。当然,在其他实施例中,该测试模块标识信息也可以为编号形式,比如,“001”、“002”等等,只要根据该测试模块标识信息找到唯一的预设测试模块即可,在此不对测试模块标识信息的形式和内容做限制。

s103、根据所述测试用例和所述测试参数对应的预设测试模块生成脚本测试模块。

在终端查找到测试参数对应的预设测试模块后,将测试用例加载到预设测试模块中的相应位置处,以生成脚本测试模块。

s104、打包所述脚本测试模块和预设测试框架以生成测试脚本。

在本实施例中,预设测试框架中除了封装了预设测试模块外,还封装了数据库、各种类方法模块等,这些类方法模块是脚本测试模块中可能会用到的一些类方法模块,因此需要将脚本测试模块和预设测试框架打包以形成一个完整的测试脚本。这样,在第二服务器执行测试脚本时,可以在预设测试框架中调取脚本测试模块所需的测试数据、类方法模块等对应的数据或代码。

譬如,预设测试框架中封装了dateapiutils类方法、oracelapiutils类方法。预设测试模块中可能会存在调用这些类方法的语句,譬如,当需要获取当前时间时,预设测试模块中会存在以下语句:

publicstaticvoiddate(){

dateapiutils.getnowtime("yyyy-mm-ddhh:mm:ss");

dateapiutils.getnowtime("yyyy-mm-dd");

dateapiutils.getnowtime("hh:mm:ss");}

其中,dateapiutils是封装的日期类,getnowtime()是日期类中包含获取当前系统时间的静态方法。"yyyy-mm-ddhh:mm:ss"、"yyyy-mm-dd"、"hh:mm:ss"是给入的参数。"yyyy-mm-ddhh:mm:ss"表示获取当前系统时间的年、月、日、时、分、秒。"yyyy-mm-dd"为获取当前系统时间的年、月、日。"hh:mm:ss"为只获取当前系统时间的时、分、秒。

当测试配置文件中的测试用例包括数据库连接和数据库连接密码时,预设测试模块中可以用以下语句来连接到相应的数据库,进而获取到相应的测试数据:

publicstaticvoidconnectoracel()throwssqlexception{

paramconfig.oracle_connect=excelapiutils.getdatabyleftname("testdata/excel/data.xls","数据库连接串",0);

paramconfig.oracle_password=excelapiutils.getdatabyleftname("testdata/excel/data.xls","用户名密码",0);

oracleapiutils.connectoracle(paramconfig.oracle_connect,paramconfig.oracle_password);})

excelapiutils类中封装了对测试过程中对测试配置文件的操作方法。oracleapiutils类中封装了对数据库操作方法。

在一实施例中,在步骤s104之后,还包括:发送所述测试脚本至版本控制系统。也就是说,将测试脚本发送至安装有版本控制系统的第一服务器,以通过版本控制系统保存该测试脚本。其中,该版本控制系统可例如为svn系统。

在本实施例中,测试人员预先将测试所需的数据库、各种类方法、预设测试模块封装在预设测试框架中。当需要生成测试脚本时,终端获取测试人员编写的测试配置文件,并根据测试配置文件以及预设测试框架生成测试脚本,避免测试人员重复写大量代码,节省测试人员的时间和精力,提高测试效率。

请参阅图3,图3为本申请实施例提供的一种软件测试方法的示意流程图。该软件测试方法应用于第二服务器,该第二服务器可例如为jekins服务器。该软件测试方法包括步骤s201~s204。

s201、在满足预设执行条件时,读取预置的测试脚本对应的存储地址信息。

其中,该测试脚本为采用本申请提供的任意一种测试脚本生成方法所生成的测试脚本。

在一实施例中,测试人员可以在第二服务器上为每个测试脚本进行测试配置。其中,每个测试脚本对应的测试配置信息可以包括预设执行条件。其中,该预设执行条件可以包括脚本执行的时间。譬如,设置某个测试脚本的预设执行条件为每天下午6点开始执行。这样在每天下午6点的时候,第二服务器就会读取测试脚本对应的的存储地址信息。

当然,每个测试脚本对应的测试配置信息还可以包括测试脚本在版本控制系统中的存储地址信息、脚本运行的执行机等信息。在测试人员在第二服务器上输入测试脚本对应的存储地址信息的情况下,测试人员的终端在发送测试脚本至版本控制系统后,版本控制系统会为每个测试脚本申请一个存储空间,并将该存储空间对应的存储地址信息反馈至测试人员的终端,以方便测试人员在第二服务器上填写测试脚本对应的存储地址信息。

需要说明的是,在其他实施例中,该存储地址信息也可以是版本控制系统发送至第二服务器的。在这种情况下,测试人员的终端将测试脚本发送至版本控制系统后,版本控制系统将测试脚本对应的存储地址信息发送至第二服务器,这样第二服务器就可以存储每个测试脚本对应的存储地址信息。当第二服务器判定满足预设执行条件时,会读取每个测试脚本对应的存储地址信息。

s202、根据所述存储地址信息生成下载请求并发送所述下载请求至版本控制系统,其中,所述下载请求包括所述存储地址信息。

第二服务器获取到存储地址信息后,会生成对应的下载请求。其中,该下载请求中携带有存储地址信息。然后第二服务器发送该下载请求至版本控制系统。版本控制系统接收到该下载请求时,先从下载请求中解析出存储地址信息,并根据存储地址信息获取到对应的测试脚本,再发送测试脚本至第二服务器。

s203、接收所述版本控制系统根据所述下载请求发送的所述存储地址信息对应的测试脚本,其中,所述测试脚本包括脚本测试模块和预设测试框架。

第二服务器接收版本控制系统发送的测试脚本。根据前述实施例可以得知,该测试脚本包括脚本测试模块和预设测试框架。第二服务器获取到测试脚本后执行步骤s204。

s204、基于所述预设测试框架,在执行机上执行所述脚本测试模块以完成软件测试。

在第二服务器中设有多个执行机,测试人员可以在对测试脚本进行测试配置时指定某个执行机执行该测试脚本。当然,测试人员也可以不为测试脚本指定某个执行机,此时第二服务器可以根据各个执行机的繁忙程度来选择一个相对空闲的执行机来执行测试脚本。

在本实施例中,由于预设测试框架中封装了数据库、各种类方法模块等,在执行机执行脚本测试模块时,可以调用预设测试框架中的数据库、类方法模块等以完成软件测试。

在一实施例中,请参阅图4,图4为本申请实施例提供的一种软件测试方法的另一示意流程图。步骤s204还包括:获取所述脚本测试模块的测试结果;根据所述测试结果生成测试报告;获取预置的电子邮箱地址信息;根据所述电子邮箱地址信息发送所述测试报告至对应的电子邮箱中。

具体地,可以基于脚本测试模块中的testng测试框架,通过断言的方式来获取脚本测试模块的测试结果,并根据该测试结果生成测试报告,然后把测试报告发送到测试人员预先指定的邮箱中,以使得测试人员可以及时查看到测试结果。

其中,该testng测试框架可以是测试用例中使用的框架,该testng测试框架中含有测试人员预先设置的断言结果。这样当执行机执行脚本测试模块时,可以将实际结果与断言结果进行匹配判断,从而获得测试结果。譬如,当实际结果与断言结果为相同结果时,测试结果为“y”,即表示正确的意思;相反,当实际结果与断言结果为不相同结果时,测试结果为“e”,即表示出错的意思。

在本实施例中,第二服务器在判断出满足预设执行条件时,向版本控制系统获取相应的测试脚本,在执行测试脚本时,具体基于测试脚本中的预设测试框架执行脚本测试模块,从而自动完成软件测试,整个过程无需人工操作,而且由于测试所需的预设测试框架是存储在版本控制系统中的,不需要占用第二服务器的存储空间,可以大大节省第二服务器的存储资源。

本申请实施例还提供一种测试脚本生成装置,该测试脚本生成装置用于执行前述任一项测试脚本生成方法。具体地,请参阅图5,图5是本申请实施例提供的一种测试脚本生成装置的示意性框图。测试脚本生成装置300可以安装于台式电脑、平板电脑、手提电脑等终端中。

如图5所示,测试脚本生成装置300包括文件获取单元301、模块获取单元302、生成单元303和打包单元304。

文件获取单元301,用于获取测试配置文件,其中,所述测试配置文件包括测试用例和测试参数。

该测试用例中包含有测试所需的测试数据的查询信息,其中,该测试数据的查询信息可以为测试数据对应的数据标识信息、数据存储地址信息等等,根据这些测试数据的查询信息在预设测试框架的数据库中可以调取到对应的测试数据。

该测试参数可以包括测试模块查询路径或者测试模块标识信息等,这样方便后续通过测试参数在预设测试框架中查找到对应的预设测试模块。

模块获取单元302,用于基于预设测试框架获取所述测试参数对应的预设测试模块,其中,所述预设测试框架包括至少一个所述预设测试模块。

具体地,在一实施例中,当该测试参数包括测试模块查询路径时,模块获取单元302可以基于预设测试框架,根据所述测试模块查询路径获取对应的预设测试模块。

进一步地,当所述测试模块查询路径包括测试阶段标识信息和资金模式标识信息时,模块获取单元302具体用于:基于预设测试框架,根据所述测试阶段标识信息获取对应的测试模块文件夹,其中,所述测试模块文件夹包括至少一个预设测试模块;基于所述测试模块文件夹获取所述资金模式标识信息对应的预设测试模块。

具体地,在另一实施例中,当测试参数包括测试模块标识信息时,模块获取单元302具体用于:基于预设测试框架,根据所述测试模块标识信息获取对应的预设测试模块。其中,该测试模块标识信息与预设测试框架中唯一一个预设测试模块相对应。

生成单元303,用于根据所述测试用例和所述测试参数对应的预设测试模块生成脚本测试模块。

打包单元304,用于打包所述脚本测试模块和预设测试框架以生成测试脚本。

在本实施例中,预设测试框架中除了封装了预设测试模块外,还封装了数据库、各种类方法模块等,这些类方法模块是脚本测试模块中可能会用到的一些类方法模块,因此打包单元304需要将脚本测试模块和预设测试框架打包以形成一个完整的测试脚本。这样,在第二服务器执行测试脚本时,可以在预设测试框架中调取脚本测试模块所需的测试数据、类方法模块等对应的数据或代码。

在一实施例中,如图6所示,图6为本申请实施例提供的一种测试脚本生成装置的另一示意性框图。该测试脚本生成装置300还包括发送单元305。在打包单元304打包脚本测试模块和预设测试框架以生成测试脚本之后,将该测试脚本传递至发送单元305。该发送单元305用于发送所述测试脚本至版本控制系统。

所属领域的技术人员可以清楚地了解到,为了说明书的简洁性,上述描述的测试脚本生成装置300和各个单元的具体工作过程,可以参考前述测试脚本生成方法的实施例中的对应过程,在此不再赘述。

在本实施例中,该测试脚本生成装置300可以快速地生成测试脚本,无需测试人员重复写大量代码,节省测试人员的时间和精力,提高测试效率。

本申请实施例还提供一种软件测试装置,该软件测试装置用于执行前述任一项软件测试方法。具体地,请参阅图7,图7是本申请实施例提供的一种软件测试装置的示意性框图。软件测试装置400可以应用于服务器中,譬如,jekins服务器中。

如图7所示,软件测试装置400包括读取单元401、请求发送单元402、接收单元403和测试执行单元404。

读取单元401,用于在满足预设执行条件时,读取预置的测试脚本对应的存储地址信息。

其中,该测试脚本为本申请提供的任意一种测试脚本生成方法所生成的测试脚本。

在一实施例中,该预设执行条件可以为脚本执行的时间。该测试脚本对应的存储地址信息为测试脚本在版本控制系统中的存储地址。该测试脚本对应的存储地址信息可以为版本控制系统发送给软件测试装置400的,也可以是由测试人员在软件测试装置400中输入的,在此不做具体限制。

请求发送单元402,用于根据所述存储地址信息生成下载请求并发送所述下载请求至版本控制系统,其中,所述下载请求包括所述存储地址信息。

接收单元403,用于接收所述版本控制系统根据所述下载请求发送的所述存储地址信息对应的测试脚本,其中,所述测试脚本包括脚本测试模块和预设测试框架。

测试执行单元404,用于基于所述预设测试框架,在执行机上执行所述脚本测试模块以完成软件测试。

在一实施例中,该测试执行单元404还用于:获取所述脚本测试模块的测试结果;根据所述测试结果生成测试报告;获取预置的电子邮箱地址信息;根据所述电子邮箱地址信息发送所述测试报告至对应的电子邮箱中。

具体地,测试执行单元404可以基于脚本测试模块中的testng测试框架,通过断言的方式来获取脚本测试模块的测试结果,并根据该测试结果生成测试报告,然后把测试报告发送到测试人员预先指定的邮箱中,以使得测试人员可以及时查看到测试结果。

所属领域的技术人员可以清楚地了解到,为了说明书的简洁性,上述描述的软件测试装置400和各个单元的具体工作过程,可以参考前述软件测试方法的实施例中的对应过程,在此不再赘述。

在本实施例中,软件测试装置400可以自动完成软件测试,无需人工操作,而且由于测试所需的预设测试框架是存储在版本控制系统中的,不需要占用第二服务器的存储空间,可以大大节省软件测试装置400所在服务器的存储资源。

上述测试脚本生成装置可以实现为一种计算机程序的形式,该计算机程序可以在如图8所示的计算机设备上运行。

请参阅图8,图8是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是终端。该终端可以是平板电脑、笔记本电脑、台式电脑等设备。

参阅图8,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。

该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种测试脚本生成方法。

该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。

该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种测试脚本生成方法。

该网络接口505用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下功能:获取测试配置文件,其中,所述测试配置文件包括测试用例和测试参数;基于预设测试框架获取所述测试参数对应的预设测试模块,其中,所述预设测试框架包括至少一个所述预设测试模块;根据所述测试用例和所述测试参数对应的预设测试模块生成脚本测试模块;打包所述脚本测试模块和预设测试框架以生成测试脚本。

在一实施例中,所述测试参数包括测试模块查询路径;处理器502在执行基于预设测试框架获取所述测试参数对应的预设测试模块时,具体执行如下程序:基于预设测试框架,根据所述测试模块查询路径获取对应的预设测试模块。

在一实施例中,所述测试参数包括测试模块标识信息;处理器502在执行基于预设测试框架获取所述测试参数对应的预设测试模块时,具体执行如下程序:基于预设测试框架,根据所述测试模块标识信息获取对应的预设测试模块。

在一实施例中,处理器502在执行打包所述脚本测试模块和预设测试框架以生成测试脚本之后,还执行如下程序:发送所述测试脚本至版本控制系统。

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

上述软件测试装置可以实现为一种计算机程序的形式,该计算机程序可以在如图9所示的计算机设备上运行。

请参阅图9,图9是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备600可以是服务器。具体地,可以为jekins服务器。

参阅图9,该计算机设备600包括通过系统总线601连接的处理器602、存储器和网络接口605,其中,存储器可以包括非易失性存储介质603和内存储器604。

该非易失性存储介质603可存储操作系统6031和计算机程序6032。该计算机程序6032包括程序指令,该程序指令被执行时,可使得处理器602执行一种软件测试方法。

该处理器602用于提供计算和控制能力,支撑整个计算机设备600的运行。

该内存储器604为非易失性存储介质603中的计算机程序6032的运行提供环境,该计算机程序6032被处理器602执行时,可使得处理器602执行一种软件测试方法。

该网络接口605用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备600的限定,具体的计算机设备600可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

其中,所述处理器602用于运行存储在存储器中的计算机程序6032,以实现如下功能:在满足预设执行条件时,读取预置的测试脚本对应的存储地址信息,其中,测试脚本为采用本申请提供的任一项所述的测试脚本生成方法所生成的测试脚本;根据所述存储地址信息生成下载请求并发送所述下载请求至版本控制系统,其中,所述下载请求包括所述存储地址信息;接收所述版本控制系统根据所述下载请求发送的所述存储地址信息对应的测试脚本,其中,所述测试脚本包括脚本测试模块和预设测试框架;基于所述预设测试框架,在执行机上执行所述脚本测试模块以完成软件测试。

在一实施例中,处理器602在执行在执行机上执行所述脚本测试模块以完成软件测试时,还执行如下程序:获取所述脚本测试模块的测试结果;根据所述测试结果生成测试报告;获取预置的电子邮箱地址信息;根据所述电子邮箱地址信息发送所述测试报告至对应的电子邮箱中。

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

在本申请的一实施例中还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时实现:获取测试配置文件,其中,所述测试配置文件包括测试用例和测试参数;基于预设测试框架获取所述测试参数对应的预设测试模块,其中,所述预设测试框架包括至少一个所述预设测试模块;根据所述测试用例和所述测试参数对应的预设测试模块生成脚本测试模块;打包所述脚本测试模块和预设测试框架以生成测试脚本。

在一实施例中,所述测试参数包括测试模块查询路径;该程序指令被处理器执行基于预设测试框架获取所述测试参数对应的预设测试模块时,具体实现:基于预设测试框架,根据所述测试模块查询路径获取对应的预设测试模块。

在一实施例中,所述测试参数包括测试模块标识信息;该程序指令被处理器执行基于预设测试框架获取所述测试参数对应的预设测试模块时,具体实现:基于预设测试框架,根据所述测试模块标识信息获取对应的预设测试模块。

在一实施例中,该程序指令被处理器执行打包所述脚本测试模块和预设测试框架以生成测试脚本之后,还实现:发送所述测试脚本至版本控制系统。

该存储介质可以是u盘、移动硬盘、只读存储器(rom,read-onlymemory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本申请的另一实施例中又提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中计算机程序包括程序指令。该程序指令被处理器执行时实现:在满足预设执行条件时,读取预置的测试脚本对应的存储地址信息,其中,测试脚本为采用本申请提供的任一项所述的测试脚本生成方法所生成的测试脚本;根据所述存储地址信息生成下载请求并发送所述下载请求至版本控制系统,其中,所述下载请求包括所述存储地址信息;接收所述版本控制系统根据所述下载请求发送的所述存储地址信息对应的测试脚本,其中,所述测试脚本包括脚本测试模块和预设测试框架;基于所述预设测试框架,在执行机上执行所述脚本测试模块以完成软件测试。

在一实施例中,该程序指令被处理器执行在执行机上执行所述脚本测试模块以完成软件测试时,还实现:获取所述脚本测试模块的测试结果;根据所述测试结果生成测试报告;获取预置的电子邮箱地址信息;根据所述电子邮箱地址信息发送所述测试报告至对应的电子邮箱中。

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

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

本申请实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本申请实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

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