CN108984417B - 软件测试方法、装置、终端及存储介质 - Google Patents
软件测试方法、装置、终端及存储介质 Download PDFInfo
- Publication number
- CN108984417B CN108984417B CN201810931002.0A CN201810931002A CN108984417B CN 108984417 B CN108984417 B CN 108984417B CN 201810931002 A CN201810931002 A CN 201810931002A CN 108984417 B CN108984417 B CN 108984417B
- Authority
- CN
- China
- Prior art keywords
- test
- script
- script execution
- node
- execution content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种软件测试方法、装置、终端及存储介质。所述方法包括:调用测试用例运行由用户写入的测试任务;所述测试用例所在节点为父节点;针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变;在所述子节点的脚本执行内容发生改变时,获取对应于所述脚本执行内容的测试文件;执行所述测试文件,以得到测试结果。本发明可以能够保证代码在线上、线下运行都没有问题,因而,能够保证测试用例在测试环境和线上环境运行时返回的结果是一致的。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种软件测试方法、装置、终端及存储介质。
背景技术
随着IT技术的发展,软件覆盖的行业范围越来越广,系统也变得越得越来越复杂。
针对各种复杂的软件系统,在实际生产过程中,线上代码的运行环境同线下测试的运行环境总会存在差别,而怎样有效的开展软件测试,以保证代码在线上、线下运行都没问题,且测试用例在测试环境和线上环境运行时要返回一样的结果,是软件行业目前关注的问题。
发明内容
为克服相关技术中存在的问题,本发明提供一种软件测试方法、装置、终端及存储介质。
根据本发明实施例的第一方面,提供一种软件测试方法,包括:调用测试用例运行由用户写入的测试任务;所述测试用例所在节点为父节点;针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变;在所述子节点的脚本执行内容发生改变时,获取对应于所述脚本执行内容的测试文件;执行所述测试文件,以得到测试结果。
优选地,在所述调用测试用例运行由用户写入的测试任务的步骤之前,还包括:确定所述测试用例在Zookeeper中所处的节点;获取所述测试任务对应的测试代码;将所述测试代码以脚本的形式写入所述测试用例。
优选地,所述针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变的步骤,包括:每隔阈值时间,针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变。
优选地,所述获取对应于所述脚本执行内容的测试文件的步骤,包括:将所述脚本执行内容通过预置接口发送至接收装置;接收由所述接收装置根据所述脚本执行内容获取的对应的脚本语言;依据所述脚本语言对所述脚本执行内容进行转换,以生成对应的所述测试文件。
优选地,所述预置接口包括统一资源定位符,在所述执行所述测试文件,以得到测试结果的步骤之后,还包括:依据所述测试结果生成相应的测试报告;依据所述统一资源定位符信息将所述测试报告发送至目标机房。
根据本发明实施例的第二方面,提供一种软件测试装置,包括:测试任务运行单元,被配置为调用测试用例运行由用户写入的测试任务;所述测试用例所在节点为父节点;脚本内容判断单元,被配置为针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变;测试文件获取单元,被配置为在所述子节点的脚本执行内容发生改变时,获取对应于所述脚本执行内容的测试文件;测试文件执行单元,被配置为执行所述测试文件,以得到测试结果。
优选地,还包括:节点确定单元,被配置为确定所述测试用例在Zookeeper中所处的节点;测试代码获取单元,被配置为获取所述测试任务对应的测试代码;测试代码写入单元,被配置为将所述测试代码以脚本的形式写入所述测试用例。
优选地,所述脚本内容判断单元包括:脚本内容判断子单元,被配置为每隔阈值时间,针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变。
优选地,所述测试文件获取单元包括:脚本内容发送子单元,被配置为将所述脚本执行内容通过预置接口发送至接收装置;脚本语言获取子单元,被配置为接收由所述接收装置根据所述脚本执行内容获取的对应的脚本语言;脚本内容转换子单元,被配置为依据所述脚本语言对所述脚本执行内容进行转换,以生成对应的所述测试文件。
优选地,还包括:测试报告生成单元,被配置为依据所述测试结果生成相应的测试报告;测试报告发送单元,被配置为依据所述统一资源定位符信息将所述测试报告发送至目标机房。
根据本发明实施例的第三方面,提供了一种软件测试的终端,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为:调用测试用例运行由用户写入的测试任务;所述测试用例所在节点为父节点;针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变;如果是,则获取对应于所述脚本执行内容的测试文件;执行所述测试文件,以得到测试结果。
根据本发明实施例的第四方面,提供了一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行一种软件测试的方法,所述方法包括:调用测试用例运行由用户写入的测试任务;所述测试用例所在节点为父节点;针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变;如果是,则获取对应于所述脚本执行内容的测试文件;执行所述测试文件,以得到测试结果。
本发明的实施例提供的技术方案可以包括以下有益效果:
本发明实施例提供的软件测试方案,通过调用测试用例运行写入的测试任务,该测试用例所在节点为父节点,针对该父节点下的各子节点,依次判断该子节点的脚本执行内容是否发生改变,在该子节点的脚本执行内容发生改变时,则获取对应于该脚本执行内容的测试文件进行测试,以得到测试结果。由于本发明实施例提供的软件测试方案,能够对测试任务所处父节点下的各子节点的脚本内容是否发生改变进行监测,因此,本发明能够保证代码在线上、线下运行都没有问题,因而,能够保证测试用例在测试环境和线上环境运行时返回的结果是一致的。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
图1是根据本发明实施例一的一种软件测试方法的步骤流程图。
图2是根据本发明实施例二的一种软件测试方法的步骤流程图
图3是根据本发明实施例三的一种软件测试装置的结构框图。
图4是根据本发明实施例四的一种软件测试的终端的结构框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
实施例一
参照图1,示出了本发明实施例提供的一种软件测试方法的流程图,该软件测试方法可以应用于终端中,具体可以包括如下步骤:
步骤101:调用测试用例由用户运行写入的测试任务。
在本发明实施例中,终端可以包括计算机、PAD(Portable Android Device,平板电脑)等电子设备。
测试用例(Test Case)是指为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,以便测试某个程序路径或核实是否满足某个特定需求。
在终端系统中预先设置有测试用例,该测试用例所处的节点为父节点,在父节点下还可以包含一个或多个子节点,如1个、5个、10个等等,本发明对此不加以限制。
在研发人员将测试任务写入测试用例之后,可以调用该测试用例运行写入的测试任务。
在调用测试用例运行写入的测试任务之后,执行步骤102。
步骤102:针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变。
在测试任务写入之后,可以调用测试用例运行该测试任务,进而测试任务可以被分为多个子任务,并被分配至测试用例所处父节点下的各个子节点运行。
针对父节点下的各子节点,可以依次判断各子节点的脚本执行内容是否发生变化,例如,脚本内容数据发生改变,脚本内容格式发生改变等等。
在父节点下的某子节点脚本执行内容未发生改变时,则继续对该子节点的脚本执行内容进行检测。
在父节点下的某子节点脚本执行内容发生改变时,则执行步骤103。
步骤103:在所述子节点的脚本执行内容发生改变时,获取对应于所述脚本执行内容的测试文件。
在某一节点的脚本执行内容发生改变时,可以依据脚本执行内容获取脚本执行内容对应的测试文件,例如,依据脚本执行内容的脚本语言生成对应的测试文件等等,具体地,将在下述实施例二中进行详细描述,在此不再加以赘述。
在获取对应于脚本执行内容的测试文件之后,执行步骤104。
步骤104:执行所述测试文件,以得到测试结果。
在生成对应于脚本执行内容的测试文件之后,可以执行该测试文件,从而可以得到测试结果,从测试结果中可以反映出在软件运行过程中具体是哪些内容发生了改变,可以由研发人员及时掌握软件在线上运行的状况。
本发明实施例提供的软件测试方法,调用测试用例运行由用户写入的测试任务,该测试用例所在节点为父节点,针对该父节点下的各子节点,依次判断该子节点的脚本执行内容是否发生改变,在该子节点的脚本执行内容发生改变时,则获取对应于该脚本执行内容的测试文件进行测试,以得到测试结果。由于本发明实施例提供的软件测试方案,能够对测试任务所处父节点下的各子节点的脚本内容是否发生改变进行监测,因此,本发明能够保证代码在线上、线下运行都没有问题,因而,能够保证测试用例在测试环境和线上环境运行时返回的结果是一致的。
实施例二
参照图2,示出了本发明实施例提供的一种软件测试方法的流程图,该软件测试方法可以应用于终端中,具体可以包括如下步骤:
步骤201:确定所述测试用例在Zookeeper中所处的节点。
在本发明实施例中,终端可以包括计算机、PAD(Portable Android Device,平板电脑)等电子设备。
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,ZooKeeper可以预先部署父节点和隶属于该父节点的子节点,并在父节点设置对应的测试用例,即测试用例在Zookeeper中所处的节点为父节点。
测试用例所处节点的路径和具体的业务服务器在同一个父亲节点内,例如,测试用例所处节点的路径是/zk/biz1/tests/case1,/zk/biz1/tests/case2…,业务服务器的路径分别是/zk/biz1/hosts/server1,/zk/biz/hosts/server2…,表示二者在同一个业务/zk/biz1下。进而,系统中预置的探测程序可以依据某一个业务对应的服务器地址以及需要运行测试用例脚本信息,确定测试用例所处的节点。
在确定测试用例在Zookeeper中所处的节点之后,执行步骤202。
步骤202:获取所述测试任务对应的测试代码。
测试任务是由研发人员通过代码的形式写入的,在系统确定研发人员写入的测试任务之后,即可获取到对应的测试代码。
在获取到测试任务对应的测试代码后,执行步骤203。
步骤203:将所述测试代码以脚本的形式写入所述测试用例。
脚本是批处理文件的延伸,是一种纯文本保存的程序。在获取到测试任务对应的代码后,可以将测试代码以脚本的形式写入测试用例,并执行步骤204。
步骤204:调用测试用例运行由用户写入的测试任务。
在将测试任务写入测试用例之后,可以调用该测试用例运行写入的测试任务,并执行步骤205。
步骤205:每隔阈值时间,针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变。
在本发明实施例中,阈值时间可以为1min、3min、8min等等,本发明对此不加以限制。在终端系统中可以预先设置定时器,在达到定时器设置的时间时,HTTP探测服务器可以对父节点下的各子节点进行一次轮询操作,以判断各子节点的脚本执行内容是否发生了改变。
可以通过脚本执行内容的数据是否发生改变(如数据增加或减少等等),脚本执行内容的格式是否发生改变等方式来确定各子节点的脚本执行内容是否发生改变。
在具体实现中,还可以采用其它方式来判断各子节点的脚本执行内容是否发生改变,本发明实施例对此不加以限制。
在父节点下的某子节点脚本执行内容未发生改变时,则继续对该子节点的脚本执行内容进行检测。
在父节点下的某子节点脚本执行内容发生改变时,则执行步骤206。
步骤206:将所述脚本执行内容通过预置接口发送至接收装置。
在终端本地预先设置有接收装置,如agent接收装置等。在检测到某子节点的脚本执行内容发生改变后,可以通过预置接口(如HTTP接口等)将发生改变的脚本执行内容发送至接收装置。
在将脚本执行内容发送至接收装置的同时,还可以将脚本执行内容所处节点的标识发送至接收装置,例如,脚本执行内容所处的节点标识为A,可以将节点标识A与脚本执行内容进行关联,一同发送至接收装置,从而可以识别出哪些节点的脚本执行内容发生了改变。
在将脚本执行内容发送至接收装置之后,执行步骤207。
步骤207:接收由所述接收装置根据所述脚本执行内容获取的对应的脚本语言。
接收装置可以根据脚本执行内容获取对应的脚本语言,如python、ruby、nodej等语言。在接收装置获取脚本执行内容对应的脚本语言,可以接收由接收装置发送的脚本执行内容对应的脚本语言及对应的节点标识,从而执行步骤208。
步骤208:依据所述脚本语言对所述脚本执行内容进行转换,以生成对应的所述测试文件。
在获取脚本执行内容对应的脚本语言之后,可以依据脚本语言对脚本执行内容进行格式转换,以生成对应的测试文件,例如,脚本执行内容对应的脚本语言为.java,则可以将脚本执行内容的格式转换为.java格式等等。
可以理解地,上述示例仅是为了更好地理解本发明实施例的技术方案而列举的示例,不作为对本发明的唯一限制。
在生成对应的测试文件之后,执行步骤209。
步骤209:执行所述测试文件,以得到测试结果。
在生成对应于脚本执行内容的测试文件之后,可以执行该测试文件,从而可以得到测试结果,从测试结果中可以反映出在软件运行过程中具体是哪些内容发生了改变,可以由研发人员及时掌握软件在线上运行的状况。
在本发明实施例中,可以通过生成日志的方式来保存测试结果,研发人员可以通过实时查看日志的方式来掌握软件的线上运行状况。
当然,在实际应用中,也可以采用其它方式保存测试结果,本发明实施例对此不加以限制。
步骤210:依据所述测试结果生成相应的测试报告。
在得到测试结果之后,可以依据测试结果生成对应的测试报告,可以理解地,在系统中,测试结果通常是以日志的形式保存的,而日志对于非专业人员来说是不容易看懂的,因此,在本发明实施例中,可以依据测试结果生成相应的测试报告,例如,将日志形式的测试结果转换为文字形式的测试报告等。
在生成与测试结果对应的测试报告之后,执行步骤211。
步骤211:依据所述统一资源定位符信息将所述测试报告发送至目标机房。
在终端系统中,预先保存有各机房对应的统一资源定位符信息(URL,UniformResource Locator),即网页地址。
目标机房是指运行测试任务对应的软件的机房,目标机房的个数可以为一个,也可以为多个,具体地,可以根据实际情况下的软件运行情况而定,本发明实施例对此不加以限制。
在生成测试报告之后,可以将测试报告分发给目标机房,以由目标机房可以实时了解掌握软件的运行状况。
本发明实施例提供的软件测试方法,除了具有上述实施例一所述的软件测试方法所具有的有益效果外,还可以依据测试结果生成测试报告,以发送给目标机房,从而可以使得相关人员能够实时了解掌握软件的运行状况,极大地提升了用户的使用体验。
实施例三
参照图3,示出了本发明实施例提供的一种软件测试装置的结构框图。
本发明实施例提供的软件测试装置可以包括:测试任务运行单元301,被配置为调用测试用例运行由用户写入的测试任务;所述测试用例所在节点为父节点;脚本内容判断单元302,被配置为针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变;测试文件获取单元303,被配置为在所述子节点的脚本执行内容发生改变时,获取对应于所述脚本执行内容的测试文件;测试文件执行单元304,被配置为执行所述测试文件,以得到测试结果。
在一个可选的实现方式中,还包括:节点确定单元,被配置为确定所述测试用例在Zookeeper中所处的节点;测试代码获取单元,被配置为获取所述测试任务对应的测试代码;测试代码写入单元,被配置为将所述测试代码以脚本的形式写入所述测试用例所处的节点。
在一个可选的实现方式中,所述脚本内容判断单元302包括:脚本内容判断子单元,被配置为每隔阈值时间,针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变。
在一个可选的实现方式中,所述测试文件获取单元303包括:脚本内容发送子单元,被配置为将所述脚本执行内容通过预置接口发送至接收装置;脚本语言获取子单元,被配置为接收由所述接收装置根据所述脚本执行内容获取的对应的脚本语言;脚本内容转换子单元,被配置为依据所述脚本语言对所述脚本执行内容进行转换,以生成对应的所述测试文件。
在一个可选的实现方式中,还包括:测试报告生成单元,被配置为依据所述测试结果生成相应的测试报告;测试报告发送单元,被配置为依据所述统一资源定位符信息将所述测试报告发送至目标机房。
本发明实施例提供的软件测试装置,调用测试用例运行写入的测试任务,该测试用例所在节点为父节点,针对该父节点下的各子节点,依次判断该子节点的脚本执行内容是否发生改变,在该子节点的脚本执行内容发生改变时,则获取对应于该脚本执行内容的测试文件进行测试,以得到测试结果。由于本发明实施例提供的软件测试方案,能够对测试任务所处父节点下的各子节点的脚本内容是否发生改变进行监测,因此,本发明能够保证代码在线上、线下运行都没有问题,因而,能够保证测试用例在测试环境和线上环境运行时返回的结果是一致的。
实施例四
图4是根据一示例性实施例示出的一种用于软件测试的终端800的框图。例如,终端800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图4,终端800可以包括以下一个或多个组件:处理组件802,存储器804,电力组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制终端800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在终端800的操作。这些数据的示例包括用于在终端800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为终端800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为终端800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述终端800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当终端800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为终端800提供各个方面的状态评估。例如,传感器组件814可以检测到终端800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测终端800或终端800一个组件的位置改变,用户与终端800接触的存在或不存在,装置800方位或加速/减速和终端800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于终端800和其他设备之间有线或无线方式的通信。终端800可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,终端800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行软件测试方法,具体地,软件测试方法包括:调用测试用例运行由用户写入的测试任务;所述测试用例所在节点为父节点;针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变;在所述子节点的脚本执行内容发生改变时,获取对应于所述脚本执行内容的测试文件;执行所述测试文件,以得到测试结果。
可选地,在所述调用测试用例运行由用户写入的测试任务的步骤之前,还包括:确定所述测试用例在Zookeeper中所处的节点;获取所述测试任务对应的测试代码;将所述测试代码以脚本的形式写入所述测试用例。
可选地,所述针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变的步骤,包括:每隔阈值时间,针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变。
可选地,所述获取对应于所述脚本执行内容的测试文件的步骤,包括:将所述脚本执行内容通过预置接口发送至接收装置;接收由所述接收装置根据所述脚本执行内容获取的对应的脚本语言;依据所述脚本语言对所述脚本执行内容进行转换,以生成对应的所述测试文件。
可选地,所述预置接口包括统一资源定位符,在所述执行所述测试文件,以得到测试结果的步骤之后,还包括:依据所述测试结果生成相应的测试报告;依据所述统一资源定位符信息将所述测试报告发送至目标机房。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由终端800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
一种非临时性计算机可读存储介质,当存储介质中的指令由终端的处理器执行时,使得移动终端能够执行本发明中所述的任意一种软件测试方法的步骤。
本发明实施例提供的终端,通过调用测试用例运行写入的测试任务,该测试用例所在节点为父节点,针对该父节点下的各子节点,依次判断该子节点的脚本执行内容是否发生改变,若该子节点的脚本执行内容发生该,则获取对应于该脚本执行内容的测试文件进行测试,以得到测试结果。由于本发明实施例提供的软件测试方案,能够对测试任务所处父节点下的各子节点的脚本内容是否发生改变进行监测,因此,本发明能够保证代码在线上、线下运行都没有问题,因而,能够保证测试用例在测试环境和线上环境运行时返回的结果是一致的。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的软件测试方案不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的视频文件转码方案中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (10)
1.一种软件测试方法,应用于终端,其特征在于,包括:
调用测试用例运行由用户写入的测试任务;所述测试用例所在节点为父节点;
针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变;
在所述子节点的脚本执行内容发生改变时,获取对应于所述脚本执行内容的测试文件;
执行所述测试文件,以得到测试结果;
所述获取对应于所述脚本执行内容的测试文件的步骤,包括:
将所述脚本执行内容通过预置接口发送至接收装置;
接收由所述接收装置根据所述脚本执行内容获取的对应的脚本语言;
依据所述脚本语言对所述脚本执行内容进行转换,以生成对应的所述测试文件。
2.根据权利要求1所述的方法,其特征在于,在所述调用测试用例运行由用户写入的测试任务的步骤之前,还包括:
确定所述测试用例在Zookeeper中所处的节点;
获取所述测试任务对应的测试代码;
将所述测试代码以脚本的形式写入所述测试用例。
3.根据权利要求1所述的方法,其特征在于,所述针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变的步骤,包括:
每隔阈值时间,针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变。
4.根据权利要求1所述的方法,其特征在于,所述预置接口包括统一资源定位符,在所述执行所述测试文件,以得到测试结果的步骤之后,还包括:
依据所述测试结果生成相应的测试报告;
依据所述统一资源定位符信息将所述测试报告发送至目标机房。
5.一种软件测试装置,其特征在于,包括:
测试任务运行单元,被配置为调用测试用例运行由用户写入的测试任务;所述测试用例所在节点为父节点;
脚本内容判断单元,被配置为针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变;
测试文件获取单元,被配置为在所述子节点的脚本执行内容发生改变时,获取对应于所述脚本执行内容的测试文件;
测试文件执行单元,被配置为执行所述测试文件,以得到测试结果;
所述测试文件获取单元包括:
脚本内容发送子单元,被配置为将所述脚本执行内容通过预置接口发送至接收装置;
脚本语言获取子单元,被配置为接收由所述接收装置根据所述脚本执行内容获取的对应的脚本语言;
脚本内容转换子单元,被配置为依据所述脚本语言对所述脚本执行内容进行转换,以生成对应的所述测试文件。
6.根据权利要求5所述的装置,其特征在于,还包括:
节点确定单元,被配置为确定所述测试用例在Zookeeper中所处的节点;
测试代码获取单元,被配置为获取所述测试任务对应的测试代码;
测试代码写入单元,被配置为将所述测试代码以脚本的形式写入所述测试用例。
7.根据权利要求5所述的装置,其特征在于,所述脚本内容判断单元包括:
脚本内容判断子单元,被配置为每隔阈值时间,针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变。
8.根据权利要求5所述的装置,其特征在于,所述预置接口包括统一资源定位符,还包括:
测试报告生成单元,被配置为依据所述测试结果生成相应的测试报告;
测试报告发送单元,被配置为依据所述统一资源定位符信息将所述测试报告发送至目标机房。
9.一种软件测试的终端,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
调用测试用例运行由用户写入的测试任务;所述测试用例所在节点为父节点;
针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变;
如果是,则获取对应于所述脚本执行内容的测试文件;
执行所述测试文件,以得到测试结果;
所述获取对应于所述脚本执行内容的测试文件的步骤,包括:
将所述脚本执行内容通过预置接口发送至接收装置;
接收由所述接收装置根据所述脚本执行内容获取的对应的脚本语言;
依据所述脚本语言对所述脚本执行内容进行转换,以生成对应的所述测试文件。
10.一种非临时性计算机可读存储介质,当所述存储介质中的指令由终端的处理器执行时,使得终端能够执行一种软件测试的方法,所述方法包括:
调用测试用例运行由用户写入的测试任务;所述测试用例所在节点为父节点;
针对所述父节点下的各子节点,依次判断所述子节点的脚本执行内容是否发生改变;
如果是,则获取对应于所述脚本执行内容的测试文件;
执行所述测试文件,以得到测试结果;
所述获取对应于所述脚本执行内容的测试文件的步骤,包括:
将所述脚本执行内容通过预置接口发送至接收装置;
接收由所述接收装置根据所述脚本执行内容获取的对应的脚本语言;
依据所述脚本语言对所述脚本执行内容进行转换,以生成对应的所述测试文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810931002.0A CN108984417B (zh) | 2018-08-15 | 2018-08-15 | 软件测试方法、装置、终端及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810931002.0A CN108984417B (zh) | 2018-08-15 | 2018-08-15 | 软件测试方法、装置、终端及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108984417A CN108984417A (zh) | 2018-12-11 |
CN108984417B true CN108984417B (zh) | 2022-06-03 |
Family
ID=64553605
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810931002.0A Active CN108984417B (zh) | 2018-08-15 | 2018-08-15 | 软件测试方法、装置、终端及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108984417B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109815154A (zh) * | 2019-02-22 | 2019-05-28 | 深圳市网心科技有限公司 | 一种测试方法、装置、系统及介质 |
CN111611150B (zh) * | 2019-02-25 | 2024-03-22 | 北京搜狗科技发展有限公司 | 一种测试方法、装置、介质和电子设备 |
CN113778886B (zh) * | 2021-09-15 | 2023-11-10 | 北京天融信网络安全技术有限公司 | 一种测试用例的处理方法和装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281366A (zh) * | 2013-05-21 | 2013-09-04 | 山东地纬计算机软件有限公司 | 一种支持实时运行状态获取的嵌入式代理监控装置及方法 |
CN105515872A (zh) * | 2015-12-23 | 2016-04-20 | 北京奇虎科技有限公司 | 配置信息的更新方法、装置及系统 |
CN106375342A (zh) * | 2016-10-21 | 2017-02-01 | 用友网络科技股份有限公司 | 一种基于zookeeper技术的系统集群方法及系统 |
CN106502915A (zh) * | 2016-12-05 | 2017-03-15 | 广州唯品会信息科技有限公司 | 软件测试方法及系统 |
CN107196858A (zh) * | 2017-07-04 | 2017-09-22 | 西安理工大学 | 一种考虑多类型约束的k最短路径求解方法 |
CN107231251A (zh) * | 2017-05-23 | 2017-10-03 | 中国电子科技集团公司第四十研究所 | 一种网络化分布式测试系统的多节点协同控制方法 |
CN107948017A (zh) * | 2017-09-30 | 2018-04-20 | 用友金融信息技术股份有限公司 | 高可用集群系统 |
CN108038013A (zh) * | 2017-11-30 | 2018-05-15 | 海尔优家智能科技(北京)有限公司 | 分布式性能测试方法及装置与计算机可读存储介质 |
CN108255727A (zh) * | 2018-01-18 | 2018-07-06 | 网易(杭州)网络有限公司 | 数据接收、发送方法及装置,测试系统,存储介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8739131B2 (en) * | 2007-05-04 | 2014-05-27 | International Business Machines Corporation | Completing functional testing |
CN102495789B (zh) * | 2011-10-18 | 2015-01-21 | 瑞斯康达科技发展股份有限公司 | 一种自动化测试方法和设备 |
CN103136100B (zh) * | 2011-12-02 | 2016-08-03 | 阿里巴巴集团控股有限公司 | 一种Android测试的方法和系统 |
CN103795749B (zh) * | 2012-10-30 | 2017-03-01 | 国际商业机器公司 | 用于诊断运行在云环境中的软件产品的问题的方法和装置 |
CN108197026A (zh) * | 2017-12-30 | 2018-06-22 | 北京金风科创风电设备有限公司 | 风力发电机组仿真软件测试方法、装置、设备及存储介质 |
-
2018
- 2018-08-15 CN CN201810931002.0A patent/CN108984417B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103281366A (zh) * | 2013-05-21 | 2013-09-04 | 山东地纬计算机软件有限公司 | 一种支持实时运行状态获取的嵌入式代理监控装置及方法 |
CN105515872A (zh) * | 2015-12-23 | 2016-04-20 | 北京奇虎科技有限公司 | 配置信息的更新方法、装置及系统 |
CN106375342A (zh) * | 2016-10-21 | 2017-02-01 | 用友网络科技股份有限公司 | 一种基于zookeeper技术的系统集群方法及系统 |
CN106502915A (zh) * | 2016-12-05 | 2017-03-15 | 广州唯品会信息科技有限公司 | 软件测试方法及系统 |
CN107231251A (zh) * | 2017-05-23 | 2017-10-03 | 中国电子科技集团公司第四十研究所 | 一种网络化分布式测试系统的多节点协同控制方法 |
CN107196858A (zh) * | 2017-07-04 | 2017-09-22 | 西安理工大学 | 一种考虑多类型约束的k最短路径求解方法 |
CN107948017A (zh) * | 2017-09-30 | 2018-04-20 | 用友金融信息技术股份有限公司 | 高可用集群系统 |
CN108038013A (zh) * | 2017-11-30 | 2018-05-15 | 海尔优家智能科技(北京)有限公司 | 分布式性能测试方法及装置与计算机可读存储介质 |
CN108255727A (zh) * | 2018-01-18 | 2018-07-06 | 网易(杭州)网络有限公司 | 数据接收、发送方法及装置,测试系统,存储介质 |
Non-Patent Citations (1)
Title |
---|
ZooKeeper客户端脚本zkCli.sh的节点操作;Yang_ZhiRan;《https://blog.csdn.net/YZR_JAVA/article/details/76136773》;20170726;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108984417A (zh) | 2018-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106547904B (zh) | 跨账号信息分享方法及装置 | |
US20170171321A1 (en) | Methods and devices for managing accounts | |
CN108984417B (zh) | 软件测试方法、装置、终端及存储介质 | |
CN104881304B (zh) | 资源下载方法及装置 | |
CN104703252A (zh) | 终端设备接入无线网络的方法及装置 | |
CN106547547B (zh) | 数据采集方法及装置 | |
CN111274131A (zh) | 接口测试方法、装置、电子设备及存储介质 | |
CN107562500B (zh) | 调试装置、方法及设备 | |
CN112256563A (zh) | 安卓应用稳定性测试方法、装置、电子设备及存储介质 | |
CN109684112B (zh) | 程序文件运行方法、装置、终端及存储介质 | |
CN104572230B (zh) | 脚本文件的加载方法、脚本文件生成方法及装置 | |
CN110730120A (zh) | 即时通信消息处理方法、装置、设备及存储介质 | |
CN116069612A (zh) | 一种异常定位方法、装置和电子设备 | |
CN106909481B (zh) | 接口测试方法、接口测试装置和电子设备 | |
CN105550260A (zh) | 图片显示方法及装置 | |
CN111079040B (zh) | 资源嗅探方法、装置、终端、服务器及存储介质 | |
CN110162366B (zh) | 一种信息显示方法、装置、电子设备及存储介质 | |
CN107241439B (zh) | H5页面的消息推送方法和装置 | |
CN113778687B (zh) | 内存分配信息处理方法、装置、电子设备及存储介质 | |
CN114896165A (zh) | 会话机器人系统的测试方法、装置、电子设备和存储介质 | |
CN106302002B (zh) | 测试方法及装置 | |
CN113407879B (zh) | 一种数据上报方法、装置及可读介质 | |
CN109947640B (zh) | 基于回归测试的核心功能覆盖度统计方法及装置 | |
CN112214698A (zh) | 一种信息处理方法及装置 | |
CN107391128B (zh) | 监控虚拟文件对象模型vdom的方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |