The invention discloses a script testing method and a device thereof. Among them, the method includes: receiving a test script request request includes at least the script code to be tested; according to the test script code received, the local cache of the corresponding test script code update, test script code contains the script and test cases to be tested; in the end the test execution execution of test cases to be measured test script. The invention solves the technical problem of large workload of artificial regression test data in related technology.
【技术实现步骤摘要】
脚本测试方法及装置
本专利技术涉及计算机领域,具体而言,涉及一种脚本测试方法及装置。
技术介绍
Puppet是一种Linux、Unix平台的集中配置管理系统,使用ruby语言,可管理配置文件、用户、cron任务、软件包、系统服务等。puppet把这些系统实体称之为资源,puppet的设计目标是简化对这些资源的管理以及妥善处理资源间的依赖关系。Puppet采用C/S星状的结构,所有的客户端与一个或几个服务器交互。每个客户端周期的(默认半个小时)向服务器发送请求,获得其最新的配置信息,保证和该配置信息同步。每个puppet客户端每半小时(可以设置)连接一次服务器端,下载最新的配置文件,并且严格按照配置文件来配置客户端。Puppet的运行依赖于我们要编写一系列的脚本,就同普通语言的脚本一样,系统会去运行Puppet的脚本去部署环境。由于在实际应用中,我们大多采用C/S架构,一份脚本会影响到所有客户端环境的部署,因此我们应当尽可能得去保证脚本的正确性。传统的脚本测试对手工依赖的程度非常高,手工回归所有的测试场景会消耗大量的时间。并且Puppet是直接配置系统环境的,当我们需要对一份脚本进行不同参数环境下的测试时,前面的测试必将对后面的测试造成影响。因此如果能够搭建一套自动化测试框架,自动回归所有的测试场景并在每次测试时保证环境的干净尤为重要。目前Puppet的脚本测试主要有两种方式:一种是人工在机器上执行测试,我们会将最新的代码从版本仓库中更新到测试机,运行本地的Puppet脚本。假如本次的Puppet脚本需要配置Rsync(主要功能包括安装Rsync软件包,创建 ...
【技术保护点】
一种脚本测试方法,其特征在于,包括:接收脚本测试请求,所述请求至少包括待测脚本代码;根据接收到的所述待测脚本代码,对本地缓存的相应的待测脚本代码进行同步更新,所述待测脚本代码包含待测脚本和测试用例;在测试执行端执行所述测试用例以对所述待测脚本进行测试。
【技术特征摘要】
1.一种脚本测试方法,其特征在于,包括:接收脚本测试请求,所述请求至少包括待测脚本代码;根据接收到的所述待测脚本代码,对本地缓存的相应的待测脚本代码进行同步更新,所述待测脚本代码包含待测脚本和测试用例;在测试执行端执行所述测试用例以对所述待测脚本进行测试。2.根据权利要求1所述的方法,其特征在于,在测试执行端执行所述测试用例以对所述待测脚本进行测试之前,所述方法还包括:从所述待测脚本代码中至少提取出以下内容之一:待测脚本所属分支的名称、待测脚本名称、以及脚本提交者标识;创建以所述待测脚本所属分支的名称命名的第一文件,所述第一文件至少包括所述待测脚本名称;将所述第一文件推送至消息队列中,在第一时长后从所述消息队列中提取所述第一文件,所述第一时长为前一个待测脚本完成测试的时长。3.根据权利要求2所述的方法,其特征在于,在第一时长后从所述消息队列中提取所述第一文件之前,所述方法还包括:循环步骤:依次将所述消息队列接收到的推送的文件作为第二文件,并执行判断步骤,其中,所述判断步骤包括:当消息队列接收到推送的所述第二文件时,判断所述第二文件的文件名是否与所述第一文件的文件名相同,如果相同,则将所述第二文件中的所述待测脚本名称合并于所述第一文件中。4.根据权利要求3所述的方法,其特征在于,在第一时长后从所述消息队列中提取所述第一文件之后,所述方法还包括:从所述第一文件中读取所述待测脚本名称;在本地缓存的待测脚本代码中查找与所述待测脚本名称相对应的待测脚本和测试用例;将所述待测脚本和测试用例发送至所述测试执行端。5.根据权利要求1至4中任一项所述的方法,其特征在于,在测试执行端执行所述测试用例以对所述待测脚本进行测试包括:对所述测试用例中的部分或全部的测试用例进行扫描,得到测试用例列表;根据所述测试用例列表,调度用于创建和部署虚拟化开发环境的预设工具或调度用于具体执行测试的一个或多个子测试机;利用所述预设工具或所述子测试机执行所述测试用例列表中所列的测试用例以对所述待测脚本进行测试。6.根据权利要求1所述的方法,其特征在于,所述测试用例包括:第一类测试用例和第二类测试用例,其中,所述第一类测试用例中的测试用例每次运行时都需要重新构建测试环境;所述第二类测试用例中的所有测试用例共用一个相同的测试环境。7.根据权利要求6所述的方法,其特征在于,在测试执行端执行所述测试用例以对所述待测脚本进行测试之前,所述方法还包括:将需要执行的测试用例划分为所述第一类测试用例和所述第二类测试用例;将划分出的所述第一类测试用例和所述第二类测试用例分别存储到第一文件夹和第二文件夹中;分别依次执行所述第一文件夹和所述第二文件夹中的测试用例,以对所述待测脚本进行测试,其中,在执行所述第一文件夹中的测试用例时,每次执行测试时,都会构建一个新的测试环境,当次测试完毕后,销毁或重置该测试环境,在执行所述第二文件中的测试用例时,在构建一个测试环境后,依次执行所述第二文件中的所有的测试用例,当所述第二文件夹中的全部测试用例执行完毕后,销毁或重置该测试环境。8.根据权利要求2所述的方法,其特征在于,在测试执行端执行所述测试用例以对所述待测脚本进行测试之后,所述方法还包括:获取所述脚本提交者标识;根据获取的所述脚本提交者标识,将对所述待测脚本进行测试后生成的测试报告反馈给相应的脚本提交者。9.一种脚本测试装置,其特征在于,包括:接收单元,用于接收脚本测试请求,所述请求至少包括待测脚本代码;更新单元,用于根据接收到的所...
【专利技术属性】
技术研发人员:龚继华,毕文娟,何丹,
申请(专利权)人:网易杭州网络有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。