CN109086218B - 一种基于蚁群算法的自动化测试方法,系统及测试终端 - Google Patents
一种基于蚁群算法的自动化测试方法,系统及测试终端 Download PDFInfo
- Publication number
- CN109086218B CN109086218B CN201811329319.3A CN201811329319A CN109086218B CN 109086218 B CN109086218 B CN 109086218B CN 201811329319 A CN201811329319 A CN 201811329319A CN 109086218 B CN109086218 B CN 109086218B
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- automatic test
- test case
- execution
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 286
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 37
- 238000000605 extraction Methods 0.000 claims abstract description 60
- 238000012545 processing Methods 0.000 claims abstract description 19
- 238000010998 test method Methods 0.000 claims abstract description 6
- 230000006870 function Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 7
- 238000012163 sequencing technique Methods 0.000 claims description 5
- 230000000717 retained effect Effects 0.000 claims description 2
- 238000000034 method Methods 0.000 abstract description 7
- 238000013468 resource allocation Methods 0.000 abstract description 4
- 238000003860 storage Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 6
- 238000013500 data storage Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011990 functional testing Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000005022 packaging material Substances 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/3684—Test management for test design, e.g. generating new test cases
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明提供一种基于蚁群算法的自动化测试方法,系统及测试终端,抽取的节点在执行完所述自动化测试用例后,反馈一执行完毕信号;向所述抽取节点下发相同的自动化测试用例;对步骤进行迭代,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长。选中的节点上分配相应的自动化测试用例,大大缩短了测试周期,提高了测试效率。本发明只需要运行一次即可,在后续对自动化测试集进行迭代测试的时候可直接根据最有分配方案进行执行任务,保证每个集群具有高效的运行,良好的资源分配,保证数据处理效率。
Description
技术领域
本发明涉及服务器测试领域,尤其涉及一种基于蚁群算法的自动化测试方法,系统及测试终端。
背景技术
软件测试自动化的研究领域主要集中在软件测试流程的自动化管理以及动态测试的自动化(如单元测试、功能测试以及性能方面)。在这两个领域,与手工测试相比,测试自动化的优势是明显的。首先自动化测试可以提高测试效率,使测试人员更加专注于新的测试模块的建立和开发,从而提高测试覆盖率;其次,自动化测试更便于测试资产的数字化管理,使得测试资产在整个测试生命周期内可以得到复用,这个特点在功能测试和回归测试中尤其具有意义。
但是如何进一步提高自动化测试效率,以达到快速、准确的测试效果这方面仍有一定的研究空间。尤其是在对多节点的集群进行自动化测试时,并不是每一个节点都被充分利用了,这存在着一定的测试资源浪费的现象。而不同的节点对于不同的用例的运行所花费的时间并不是相同的,节点与测试用例其实存在着一定的最优配比关系,如果搭配不当,这将会增加测试的时间成本。本方案就针对以上问题,在测试资源以及测试周期两个要素上对自动化测试进行优化设计,根据优化方案既可以节约测试资源,同时还可以提高自动化测试效率。
发明内容
为了克服上述现有技术中的不足,本发明提供一种基于蚁群算法的自动化测试方法,方法包括:
步骤一,抽取集群中预设数量的节点,向抽取的每个节点下发并执行自动化测试用例;
步骤二,抽取的节点在执行完所述自动化测试用例后,反馈一执行完毕信号;
步骤三,接收到抽取节点的执行完毕信号后,再次向所述抽取节点下发相同的自动化测试用例;
步骤四,对步骤二和三进行迭代,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;
步骤五,记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长。
优选地,步骤一还包括:获取集群节点总数量及节点功能,根据预设条件,抽取集群中预设数量的节点。
优选地,步骤五之后还包括:
步骤六,根据预设条件及预设数量,再次抽取集群中在先未为被抽取的节点;
步骤七,向抽取的每个节点下发并执行自动化测试用例;
步骤八,抽取的节点在执行完所述自动化测试用例后,反馈一执行完毕信号;
步骤九,接收到抽取节点的执行完毕信号后,再次向所述抽取节点下发相同的自动化测试用例;
步骤十,对步骤八和九进行迭代,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长。
优选地,步骤十一,根据预设条件及预设数量,再次抽取集群中在先未为被抽取的节点;
步骤十二,向抽取的每个节点下发自动化测试用例,并按照上述步骤执行,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长;
步骤十三,将步骤五,步骤十以及步骤十一保留的节点下发并执行自动化测试用例;
步骤十四,抽取的节点在执行完所述自动化测试用例后,反馈一执行完毕信号;
步骤十五,接收到抽取节点的执行完毕信号后,再次向所述抽取节点下发相同的自动化测试用例;
步骤十六,对步骤十四和十五进行迭代,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长。
优选地,步骤一还包括:获取自动化测试用例集合中的自动化测试用例数量,并将自动化测试用例按照预设的顺序进行排序;
步骤一之后还包括:按照自动化测试用例的排序,依次抽取自动化测试用例执行步骤一之后步骤;
得出自动化测试用例集合中执行总消耗时长最短的自动化测试用例。
一种基于蚁群算法的自动化测试系统,包括:多个集群节点以及测试节点;
测试节点包括:节点抽取模块,测试用例下发执行反馈模块,迭代执行处理模块以及记录保留模块;
节点抽取模块用于抽取集群中预设数量的节点,向抽取的每个节点下发并执行自动化测试用例;
测试用例下发执行反馈模块用于抽取的节点在执行完所述自动化测试用例后,获取反馈执行完毕信号;
节点抽取模块还用于接收到抽取节点的执行完毕信号后,再次向所述抽取节点下发相同的自动化测试用例;
迭代执行处理模块用于对测试步骤进行迭代,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;
记录保留模块用于记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长。
优选地,节点抽取模块还用于获取集群节点总数量及节点功能,根据预设条件,抽取集群中预设数量的节点;根据预设条件及预设数量,再次抽取集群中在先未为被抽取的节点;
测试用例下发执行反馈模块还用于向抽取的每个节点下发并执行自动化测试用例;抽取的节点在执行完所述自动化测试用例后,反馈执行完毕信号;
节点抽取模块还用于接收到抽取节点的执行完毕信号后,再次向所述抽取节点下发相同的自动化测试用例;
迭代执行处理模块还用于对测试步骤进行迭代,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;
记录保留模块还用于记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长。
优选地,节点抽取模块还用于根据预设条件及预设数量,再次抽取集群中在先未为被抽取的节点;
测试用例下发执行反馈模块还用于向抽取的每个节点下发自动化测试用例,并按照上述步骤执行,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;
记录保留模块还用于记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长;
测试用例下发执行反馈模块还用于将保留的节点下发并执行自动化测试用例;抽取的节点在执行完所述自动化测试用例后,反馈执行完毕信号;
迭代执行处理模块还用于接收到抽取节点的执行完毕信号后,再次向所述抽取节点下发相同的自动化测试用例;经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;
记录保留模块还用于记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长。
优选地,测试节点还包括:测试用例管理模块;
测试用例管理模块用于获取自动化测试用例集合中的自动化测试用例数量,并将自动化测试用例按照预设的顺序进行排序;
按照自动化测试用例的排序,依次抽取自动化测试用例执行基于蚁群算法的自动化测试方法步骤;
得出自动化测试用例集合中执行总消耗时长最短的自动化测试用例。
一种基于蚁群算法的自动化测试终端,包括:
存储器,用于存储计算机程序及基于蚁群算法的自动化测试方法;
处理器,用于执行所述计算机程序及基于蚁群算法的自动化测试方法,以实现基于蚁群算法的自动化测试方法的步骤。
从以上技术方案可以看出,本发明具有以下优点:
本发明中抽取集群中预设数量的节点,向抽取的每个节点下发并执行自动化测试用例;抽取的节点在执行完所述自动化测试用例后,反馈一执行完毕信号;接收到抽取节点的执行完毕信号后,再次向所述抽取节点下发相同的自动化测试用例;对步骤进行迭代,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长。被淘汰的节点可以用于其余的测试工作,节约了测试资源成本;被选中的每个节点上都分配了相应的自动化测试用例,大大缩短了测试周期,提高了测试效率。本发明只需要运行一次即可,在后续对自动化测试集进行迭代测试的时候可直接根据最有分配方案进行执行任务,保证每个集群具有高效的运行,良好的资源分配,保证数据处理效率。
附图说明
为了更清楚地说明本发明的技术方案,下面将对描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为基于蚁群算法的自动化测试方法流程图;
图2为基于蚁群算法的自动化测试方法实施例流程图;
图3为基于蚁群算法的自动化测试方法实施例流程图;
图4为基于蚁群算法的自动化测试系统示意图;
图5为基于蚁群算法的自动化测试系统实施例示意图。
具体实施方式
本发明提供一种基于蚁群算法的自动化测试方法,如图1所示,方法包括:
S1,抽取集群中预设数量的节点,向抽取的每个节点下发并执行自动化测试用例;
S2,抽取的节点在执行完所述自动化测试用例后,反馈一执行完毕信号;
S3,接收到抽取节点的执行完毕信号后,再次向所述抽取节点下发相同的自动化测试用例;
S4,对步骤二和三进行迭代,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;
S5,记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长。
被淘汰的节点可以用于其余的测试工作,节约了测试资源成本;被选中的每个节点上都分配了相应的自动化测试用例,大大缩短了测试周期,提高了测试效率。本发明只需要运行一次即可,在后续对自动化测试集进行迭代测试的时候可直接根据最有分配方案进行执行任务,保证每个集群具有高效的运行,良好的资源分配,保证数据处理效率。
步骤一还包括:获取集群节点总数量及节点功能,根据预设条件,抽取集群中预设数量的节点。
节点功能包括:储存节点,计算节点,通信节点,监控节点。预设条件包括:抽取预设数量的储存节点,抽取预设数量的计算节点,抽取预设数量的通信节点,抽取预设数量的监控节点。当然节点功能不局限于上述几个,还可以包括其他功能节点。抽取的预设条件还可以采用基于测试需要的条件来设置。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将运用具体的实施例及附图,对本发明保护的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本专利中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利保护的范围。
本发明提供的实施例中,如图2所示,
S1,抽取集群中预设数量的节点,向抽取的每个节点下发并执行自动化测试用例;
S2,抽取的节点在执行完所述自动化测试用例后,反馈一执行完毕信号;
S3,接收到抽取节点的执行完毕信号后,再次向所述抽取节点下发相同的自动化测试用例;
S4,对步骤二和三进行迭代,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;
S5,记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长。
S6,根据预设条件及预设数量,再次抽取集群中在先未为被抽取的节点;
S7,向抽取的每个节点下发并执行自动化测试用例;
S8,抽取的节点在执行完所述自动化测试用例后,反馈一执行完毕信号;
S9,接收到抽取节点的执行完毕信号后,再次向所述抽取节点下发相同的自动化测试用例;
S10,对步骤八和九进行迭代,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长。
如果在硬件中实现,本发明涉及一种装置,例如可以作为处理器或者集成电路装置,诸如集成电路芯片或芯片组。可替换地或附加地,如果软件或固件中实现,所述技术可实现至少部分地由计算机可读的数据存储介质,包括指令,当执行时,使处理器执行一个或更多的上述方法。例如,计算机可读的数据存储介质可以存储诸如由处理器执行的指令。
本发明提供的实施例中,如图3所示,
S11,根据预设条件及预设数量,再次抽取集群中在先未为被抽取的节点;
S12,向抽取的每个节点下发自动化测试用例,并按照上述步骤执行,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长;
S13,将步骤五,步骤十以及步骤十一保留的节点下发并执行自动化测试用例;
S14,抽取的节点在执行完所述自动化测试用例后,反馈一执行完毕信号;
S15,接收到抽取节点的执行完毕信号后,再次向所述抽取节点下发相同的自动化测试用例;
S16,对步骤十四和十五进行迭代,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长。
计算机可读介质的计算机程序产品可以形成一部分,其可以包括包装材料。数据的计算机可读介质可以包括计算机存储介质,诸如随机存取存储器(RAM),只读存储器(ROM),非易失性随机存取存储器(NVRAM),电可擦可编程只读存储器(EEPROM),闪存,磁或光学数据存储介质,和类似物。在一些实施例中,一种制造产品可包括一个或多个计算机可读存储媒体。
在一些实施例中,计算机可读存储介质可以包括非易失性介质。术语“非暂态”所述存储介质可以指示不包含在载波或传播信号。在某些实施例中,非临时性存储介质可以存储数据,它可以随时间改变(例如,RAM或者高速缓存)中。
本发明提供的实施例中,步骤一还包括:获取自动化测试用例集合中的自动化测试用例数量,并将自动化测试用例按照预设的顺序进行排序;
步骤一之后还包括:按照自动化测试用例的排序,依次抽取自动化测试用例执行步骤一之后步骤;
得出自动化测试用例集合中执行总消耗时长最短的自动化测试用例。
这样本申请不仅可以基于节点的测试,还可以实现基于自动化测试用例集合中的自动化测试用例的测试。这样可以实现基于不同的测试用例的测试时长以及节点的测试消耗时长,来对后期数据处理的应用,并基于不同的数据处理用途配置相应的节点。还可以根据测试需要调取相应的测试用例实现测试需要的目的。
本发明还提供一种基于蚁群算法的自动化测试系统,如图4所示,包括:多个集群节点2以及测试节点1;
测试节点1包括:节点抽取模块11,测试用例下发执行反馈模块12,迭代执行处理模块13以及记录保留模块14;
节点抽取模块11用于抽取集群中预设数量的节点,向抽取的每个节点下发并执行自动化测试用例;
测试用例下发执行反馈模块12用于抽取的节点在执行完所述自动化测试用例后,获取反馈执行完毕信号;
节点抽取模块11还用于接收到抽取节点的执行完毕信号后,再次向所述抽取节点下发相同的自动化测试用例;
迭代执行处理模块13用于对测试步骤进行迭代,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;
记录保留模块14用于记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长。
所述代码或指令可以是软件和/或固件由处理电路包括一个或多个处理器执行,如一个或多个数字信号处理器(DSP),通用微处理器,特定应用集成电路(ASICs),现场可编程门阵列(FPGA),或者其它等价物把集成电路或离散逻辑电路。因此,术语“处理器,”由于在用于本文时可以指任何前述结构或任何其它的结构更适于实现的这里所描述的技术。另外,在一些方面,本公开中所描述的功能可以提供在软件模块和硬件模块。
本发明提供的实施例中,节点抽取模块还用于获取集群节点总数量及节点功能,根据预设条件,抽取集群中预设数量的节点;根据预设条件及预设数量,再次抽取集群中在先未为被抽取的节点;
测试用例下发执行反馈模块还用于向抽取的每个节点下发并执行自动化测试用例;抽取的节点在执行完所述自动化测试用例后,反馈执行完毕信号;
节点抽取模块还用于接收到抽取节点的执行完毕信号后,再次向所述抽取节点下发相同的自动化测试用例;
迭代执行处理模块还用于对测试步骤进行迭代,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;
记录保留模块还用于记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长。
具体需要说明的是,节点抽取模块还用于根据预设条件及预设数量,再次抽取集群中在先未为被抽取的节点;
测试用例下发执行反馈模块还用于向抽取的每个节点下发自动化测试用例,并按照上述步骤执行,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;
记录保留模块还用于记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长;
测试用例下发执行反馈模块还用于将保留的节点下发并执行自动化测试用例;抽取的节点在执行完所述自动化测试用例后,反馈执行完毕信号;
迭代执行处理模块还用于接收到抽取节点的执行完毕信号后,再次向所述抽取节点下发相同的自动化测试用例;经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;
记录保留模块还用于记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长。
本发明提供的实施例中,如图5所示,测试节点还包括:测试用例管理模块15;
测试用例管理模块15用于获取自动化测试用例集合中的自动化测试用例数量,并将自动化测试用例按照预设的顺序进行排序;按照自动化测试用例的排序,依次抽取自动化测试用例执行基于蚁群算法的自动化测试方法步骤;得出自动化测试用例集合中执行总消耗时长最短的自动化测试用例。
本发明还提供一种基于蚁群算法的自动化测试终端,包括:
存储器用于存储计算机程序及基于蚁群算法的自动化测试方法;
处理器用于执行所述计算机程序及基于蚁群算法的自动化测试方法,以实现基于蚁群算法的自动化测试方法的步骤。
自动化测试终端可以包括附加的硬件组件,如一个或多个处理器和等优点。此外,该单元,模块,元件,应用中,和成分的设备,系统,这里所描述的和/或移动设备,可以包括硬件和软件,还可包括固件,进行各种操作的装置包括本文描述的那些,可结合或保持独立,和可以存储在一个或多个存储设备或计算机可读介质。和,尽管这里描述为一移动装置,不需要局限于此方面,使得移动设备可以是智能手机,平板电脑,笔记本电脑,台式电脑,等优点。
其中自动化测试终端可以实现的实施例可以包括但不局限于下述实施例:其操作步骤为:
1)设定集群规模为50个节点,测试用例为10条,随机选择1条测试用例;
2)随机选择25台节点作为第一次大迭代的被测目标;
3)对选中节点执行测试用例,每个节点执行完用例后均会反馈一个执行完毕的信号;
4)接收到某个节点的反馈信号后,立马对该节点下发相同的测试任务;
5)持续进行步骤3和步骤4,直到选中节点中最慢的一个节点成功执行10遍测试用例,即完成10次迭代;
6)从10次迭代数据中,保留执行用例次数最多的一个节点,其余节点被淘汰;
7)将剩余的25个节点作为被测目标,执行步骤3-6;
8)将所保留的两个节点执行步骤3-6,输出该用例的最优节点;
9)从剩余的9个测试用例中继续选择一个测试用例执行步骤2-8输出结果.再依次抽取未测试的测试用例进行测试使用,得出测试用例的测试效果。
被淘汰的节点可以用于其余的测试工作,节约了测试资源成本;被选中的每个节点上都分配了相应的自动化测试用例,大大缩短了测试周期,提高了测试效率。本发明在后续对自动化测试集进行迭代测试的时候可直接根据最有分配方案进行执行任务,保证每个集群具有高效的运行,良好的资源分配,保证数据处理效率。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于蚁群算法的自动化测试方法,其特征在于,方法包括:
步骤一,抽取集群中预设数量的节点,向抽取的每个节点下发并执行自动化测试用例;
步骤二,抽取的节点在执行完所述自动化测试用例后,反馈一执行完毕信号;
步骤三,接收到抽取节点的执行完毕信号后,再次向所述抽取节点下发相同的自动化测试用例;
步骤四,对步骤二和三进行迭代,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;
步骤五,记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长。
2.根据权利要求1所述的基于蚁群算法的自动化测试方法,其特征在于,
步骤一还包括:获取集群节点总数量及节点功能,根据预设条件,抽取集群中预设数量的节点。
3.根据权利要求2所述的基于蚁群算法的自动化测试方法,其特征在于,
步骤五之后还包括:
步骤六,根据预设条件及预设数量,再次抽取集群中在先未为被抽取的节点;
步骤七,向抽取的每个节点下发并执行自动化测试用例;
步骤八,抽取的节点在执行完所述自动化测试用例后,反馈一执行完毕信号;
步骤九,接收到抽取节点的执行完毕信号后,再次向所述抽取节点下发相同的自动化测试用例;
步骤十,对步骤八和九进行迭代,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长。
4.根据权利要求3所述的基于蚁群算法的自动化测试方法,其特征在于,
步骤十一,根据预设条件及预设数量,再次抽取集群中在先未为被抽取的节点;
步骤十二,向抽取的每个节点下发自动化测试用例,并按照上述步骤执行,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长;
步骤十三,将步骤五,步骤十以及步骤十一保留的节点下发并执行自动化测试用例;
步骤十四,抽取的节点在执行完所述自动化测试用例后,反馈一执行完毕信号;
步骤十五,接收到抽取节点的执行完毕信号后,再次向所述抽取节点下发相同的自动化测试用例;
步骤十六,对步骤十四和十五进行迭代,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长。
5.根据权利要求4所述的基于蚁群算法的自动化测试方法,其特征在于,
步骤一还包括:获取自动化测试用例集合中的自动化测试用例数量,并将自动化测试用例按照预设的顺序进行排序;
步骤一之后还包括:按照自动化测试用例的排序,依次抽取自动化测试用例执行步骤一之后步骤;
得出自动化测试用例集合中执行总消耗时长最短的自动化测试用例。
6.一种基于蚁群算法的自动化测试系统,其特征在于,包括:多个集群节点以及测试节点;
测试节点包括:节点抽取模块,测试用例下发执行反馈模块,迭代执行处理模块以及记录保留模块;
节点抽取模块用于抽取集群中预设数量的节点,向抽取的每个节点下发并执行自动化测试用例;
测试用例下发执行反馈模块用于抽取的节点在执行完所述自动化测试用例后,获取反馈执行完毕信号;
节点抽取模块还用于接收到抽取节点的执行完毕信号后,再次向所述抽取节点下发相同的自动化测试用例;
迭代执行处理模块用于对测试步骤进行迭代,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;
记录保留模块用于记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长。
7.根据权利要求6所述的基于蚁群算法的自动化测试系统,其特征在于,
节点抽取模块还用于获取集群节点总数量及节点功能,根据预设条件,抽取集群中预设数量的节点;根据预设条件及预设数量,再次抽取集群中在先未为被抽取的节点;
测试用例下发执行反馈模块还用于向抽取的每个节点下发并执行自动化测试用例;抽取的节点在执行完所述自动化测试用例后,反馈执行完毕信号;
节点抽取模块还用于接收到抽取节点的执行完毕信号后,再次向所述抽取节点下发相同的自动化测试用例;
迭代执行处理模块还用于对测试步骤进行迭代,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;
记录保留模块还用于记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长。
8.根据权利要求7所述的基于蚁群算法的自动化测试系统,其特征在于,
节点抽取模块还用于根据预设条件及预设数量,再次抽取集群中在先未为被抽取的节点;
测试用例下发执行反馈模块还用于向抽取的每个节点下发自动化测试用例,并按照上述步骤执行,经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;
记录保留模块还用于记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长;
测试用例下发执行反馈模块还用于将保留的节点下发并执行自动化测试用例;抽取的节点在执行完所述自动化测试用例后,反馈执行完毕信号;
迭代执行处理模块还用于接收到抽取节点的执行完毕信号后,再次向所述抽取节点下发相同的自动化测试用例;经过预设的迭代次数后,保留执行自动化测试用例次数最多的一个节点,淘汰其余被抽取的节点;
记录保留模块还用于记录保留下节点的执行总消耗时长,并将总消耗时长除以迭代次数得出所述节点的平均单次执行消耗时长。
9.根据权利要求8所述的基于蚁群算法的自动化测试系统,其特征在于,
测试节点还包括:测试用例管理模块;
测试用例管理模块用于获取自动化测试用例集合中的自动化测试用例数量,并将自动化测试用例按照预设的顺序进行排序;
按照自动化测试用例的排序,依次抽取自动化测试用例执行权利要求1至5任一所述的基于蚁群算法的自动化测试方法步骤;
得出自动化测试用例集合中执行总消耗时长最短的自动化测试用例。
10.一种基于蚁群算法的自动化测试终端,其特征在于,包括:
存储器,用于存储计算机程序及基于蚁群算法的自动化测试方法;
处理器,用于执行所述计算机程序及基于蚁群算法的自动化测试方法,以实现如权利要求1至5任意一项所述基于蚁群算法的自动化测试方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811329319.3A CN109086218B (zh) | 2018-11-09 | 2018-11-09 | 一种基于蚁群算法的自动化测试方法,系统及测试终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811329319.3A CN109086218B (zh) | 2018-11-09 | 2018-11-09 | 一种基于蚁群算法的自动化测试方法,系统及测试终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109086218A CN109086218A (zh) | 2018-12-25 |
CN109086218B true CN109086218B (zh) | 2021-09-28 |
Family
ID=64844692
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811329319.3A Active CN109086218B (zh) | 2018-11-09 | 2018-11-09 | 一种基于蚁群算法的自动化测试方法,系统及测试终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109086218B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455423A (zh) * | 2013-09-03 | 2013-12-18 | 浪潮(北京)电子信息产业有限公司 | 一种基于集群架构的软件自动测试装置及系统 |
CN105205003A (zh) * | 2015-10-28 | 2015-12-30 | 努比亚技术有限公司 | 一种基于集群化系统的自动化测试方法和装置 |
CN106776311A (zh) * | 2016-12-09 | 2017-05-31 | 华北计算技术研究所 | 一种软件接口测试用例的自动生成方法 |
CN108053059A (zh) * | 2017-12-06 | 2018-05-18 | 华南理工大学 | 运用基于重用策略的智能群体算法优化动态旅行商问题的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8473916B2 (en) * | 2011-01-25 | 2013-06-25 | Verizon Patent And Licensing Inc. | Method and system for providing a testing framework |
-
2018
- 2018-11-09 CN CN201811329319.3A patent/CN109086218B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455423A (zh) * | 2013-09-03 | 2013-12-18 | 浪潮(北京)电子信息产业有限公司 | 一种基于集群架构的软件自动测试装置及系统 |
CN105205003A (zh) * | 2015-10-28 | 2015-12-30 | 努比亚技术有限公司 | 一种基于集群化系统的自动化测试方法和装置 |
CN106776311A (zh) * | 2016-12-09 | 2017-05-31 | 华北计算技术研究所 | 一种软件接口测试用例的自动生成方法 |
CN108053059A (zh) * | 2017-12-06 | 2018-05-18 | 华南理工大学 | 运用基于重用策略的智能群体算法优化动态旅行商问题的方法 |
Non-Patent Citations (2)
Title |
---|
"Software Test Data Generation using Ant Colony Optimization";Huaizhong Li 等;《Conference of the World-Academy-of-Science-Engineering-and-Technology》;20050114;全文 * |
"基于动态优先权蚁群算法的分布式自动化测试调度";杨本生 等;《智能系统学报》;20141114;第9卷(第6期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109086218A (zh) | 2018-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106980636B (zh) | 保单数据处理方法和装置 | |
US9558852B2 (en) | Method and apparatus for defect repair in NAND memory device | |
CN107678972B (zh) | 一种测试用例的评估方法及相关装置 | |
US20170091342A1 (en) | Technologies for automatic partitioning of large graphs | |
CN113168364A (zh) | 一种芯片验证方法和装置 | |
CN110134598B (zh) | 一种批量处理方法、装置及系统 | |
CN109388564B (zh) | 一种测试方法、装置及电子设备 | |
CN109086218B (zh) | 一种基于蚁群算法的自动化测试方法,系统及测试终端 | |
CN112732556A (zh) | 分布式系统的自动化测试方法、装置、设备及存储介质 | |
CN116702668A (zh) | 一种回归测试方法、装置、电子设备和存储介质 | |
CN109408035B (zh) | 一种业务系统的流程配置方法、存储介质和服务器 | |
US9791509B2 (en) | Monitoring microprocessor interface information for a preset service using an address based filter | |
CN111338864A (zh) | 内存问题检测方法、装置、计算机设备及存储介质 | |
CN111309475B (zh) | 一种检测任务执行方法及设备 | |
CN108984405B (zh) | 一种性能测试方法、装置及计算机可读存储介质 | |
CN111027688A (zh) | 一种基于fpga的神经网络计算器生成方法及装置 | |
CN116009889A (zh) | 深度学习模型的部署方法、装置、电子设备及存储介质 | |
CN116087752A (zh) | 一种芯片测试方法、系统、装置及介质 | |
CN106547583B (zh) | 一种操作系统安装方法以及装置 | |
CN112948173A (zh) | 一种数据恢复方法、装置、设备及介质 | |
CN113110991A (zh) | 页面元素的定位方法及装置、存储介质及电子装置 | |
CN113704687B (zh) | 一种张量计算运行方法、装置及运算系统 | |
CN112579305A (zh) | 任务处理方法及装置、非易失性存储介质和设备 | |
CN115081233A (zh) | 一种流程仿真方法及电子设备 | |
CN115658242B (zh) | 逻辑系统设计的任务处理方法及电子设备 |
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 |