太阳城集团

  • / 10
  • 下载费用:30 金币  

一种云计算环境下的自动化测试数据生成方法.pdf

摘要
申请专利号:

CN201510373216.7

申请日:

2015.06.30

公开号:

CN105045710A

公开日:

2015.11.11

当前法律状态:

授权

有效性:

有权

法律详情: 授权|||实质审查的生效IPC(主分类):G06F 11/36申请日:20150630|||公开
IPC分类号: G06F11/36 主分类号: G06F11/36
申请人: 吉林大学
发明人: 于银辉; 杨蕾; 王玉星; 王达; 田小建
地址: 130012吉林省长春市前进大街2699号
优先权:
专利代理机构: 长春吉大专利代理有限责任公司22201 代理人: 王恩远
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

太阳城集团CN201510373216.7

授权太阳城集团号:

||||||

法律状态太阳城集团日:

2017.11.10|||2015.12.09|||2015.11.11

法律状态类型:

授权|||实质审查的生效|||公开

摘要

本发明的一种云计算环境下的自动化测试数据生成方法属于性能测试的技术领域,包含测试计划定义、将待测试数据上传到云测试平台、测试执行、测试报告生成与分析4个步骤;本发明无需太多的人工干预,可有效减少重复过程以节省太阳城集团、费用和工作量,具有数据处理测试速度快,节省内存空间等优点。

权利要求书

1.一种云计算环境下的自动化测试数据生成方法,包含测试计划定义、将
待测试数据上传到云测试平台、测试执行、测试报告生成与分析4个步骤;
所述的测试计划定义是,在建立一个测试计划时,在JMeter的GUI界面
上该测试计划以树形结构显示,而测试计划的内容存储为一个xml格式的文件,
所述的xml格式的文件是对树形测试计划的形式化描述;当测试执行模块执行测
试计划时,就会依据所述的xml格式的文件的描述判定应该在内存中建立什么样
的对象来反映用户建立的测试计划,并根据不同的对象产生各自的行为对待测试
系统进行访问;
所述的将待测试数据上传到云测试平台是,在云测试平台上实现对所有待测
数据采用量子蛙跳算法获得最优测试数据进行分组测试,进行软件测试各模块的
统计、关联分析,然后应用大数据处理数据;所有测试相关的应用程序、测试工
具、测试用例、测试环境都先部署到云测试平台上,借助云计算技术进行测试;
所述的测试执行是,将上传到云测试平台的数据通过JMeter开启多线程模
拟多用户的操作,其中每个线程都调用测试计划中的元件对象并执行这些对象定
义的操作;
所述的测试报告生成与分析是,在测试执行过程中实时的收集平均响应时
间、系统吞吐量,并将结果以聚合报告的形式显示给测试人员,供其进行分析和
参考。
2.根据权利要求1所述的一种云计算环境下的自动化测试数据生成方法,
其特征在于,所述的云测试平台是由四个层次构成的,即云资源层、云资源管理
层、服务管理层和用户管理层。

说明书

一种云计算环境下的自动化测试数据生成方法

技术领域

太阳城集团本发明属于性能测试的技术领域,特别涉及一种云计算环境下的自动化测试数据生成方法。

背景技术

太阳城集团软件测试是保证并提高软件质量的重要手段,它是软件生命周期中不可或缺的重要环节。软件测试过程中,测试数据的生成是其核心问题,也是软件测试的关键与难点所在。生成合适的测试数据是高效地进行软件测试的基础。量子蛙跳算法为软件测试数据生成提供了丰富的理论和方法,能有效提高软件测试的效率。

任何一个测试都离不开手工测试,基于测试用例,在测试初期我们需要手工测试,但是手工测试也有它的很大局限性,首先不可能覆盖每一条路径,单元测试还不存在重复性问题,一旦到了回归测试,测试工作的工作量将会变的非常大,许多与时序、死锁、资源冲突、多线程等有关的错误,通过手工测试很难捕捉到进行系统负载、性能测试时,需要模拟大量数据或大量并发用户等各种应用场合时,这也是手工测试无法模拟的。如果整个测试过程的测试数据量是庞大的,而且数据变化频繁,需要在短太阳城集团内(1天)完成,仅仅依赖测试人员手工地测试数据,在测试管理工具中进行输入、修改、删除等操作,几乎不可能做到,而且效率低,容易产生测试数据不一致,这样就给其它测试人员提供了不可靠的测试数据,造成测试结果的失效。

JMeter是Apache组织开发的基于java的测试工具,相比其他HTTP测试工具,JMeter最主要的特点在于扩展性强,目前已大量应用在各个公司的性能测试过程中。它提供了一个利用本地ProxyServer(代理服务器)来录制生成测试脚本的功能,实现了强大的测试功能并能够提供聚合报告,当build一项任务时,在若干任务中查找所需的任务,运行结束后生成HTML报告(report),并查看测试的输出结果。生成的报告上显示了每次测试运行的结果,包括测试状态、太阳城集团、数据执行顺序以及所有测试花费的太阳城集团,使用户或测试开发者直观的掌握整体测试状况、查看测试报告结果。同时,Jenkins是一个开源项目,提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重要的业务逻辑实现上。同时Jenkins能实施监控集成中存在的错误,提供详细的日志文件和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。其只需要定义一些触发条件便可支持基于任务的持续构建,并且有一套自己的插件开发规范,而目前基于性能持续集成(持续集成)的有一个开源性能插件DynamicParameters。在此基础上,搭建JMeter和Jenkins测试平台,该平台提供了Java编程语言的测试驱动函数库。用Jenkins提供的api通知Jenkins编译工程项目,并在工程设置中填写项目太阳城集团和自动触发Jmeter插件需要加载的测试结果路径,编写自动化测试脚本,调用Jmeter测试工具对项目进行测试,并生成测试结果。这样方便了软件开发测试工作者随时对比测试结果,从测试结果对比中,找出程序代码的缺陷以提高程序代码的健壮性。

JMeter可以模拟大量的客户端向服务器发送请求来测试服务器的强度,并分析服务器的整体性能。Jmeter运行时生成多个线程模拟多个用户执行请求,每次请求都记录了请求的响应太阳城集团、请求发起太阳城集团、请求结果等太阳城集团,产生的结果文件为后缀为.jtl的xml格式文件。所以这个文件具有文件大、性能持续集成测试记录条数多等特性,同时,友好的GUI界面方便用户使用,开源,适用于大中型Web系统性能测试,并且免费,学习曲线低。不过它和其他java应用程序一样,执行过程中需要占用大量内存。

为了最大限度的灵活性,在JMeter架构下采用正则表达式创建断言,通过带有断言的脚本以验证程序代码能否返回期望的结果,实现了对应用程序的功能测试。仅仅需要几句简单的命令语句,就可以完成一个jmeter文件对一个jar类型文件(yang,table)的控制。同时,jmeter文件可以随着测试进行、软件的应用性能完善以及文件更新,实时的修改代码和更新数据以更适合测试的要求。然而,当排队等待测试的数据量很大时,则需要耗掉大量的太阳城集团才能完成一个周期的测试,无法满足开发测试人员检验产品性能的需求,为测试工作带来了诸多的不便;同时,如果一个待测试的文件(table)脚本中的数据过多时,将其载入jmeter工具的反应太阳城集团过长,且操作十分迟钝。因此,就急需一种能够快速处理大量数据文件的脚本的方法,同时需要服务器及时清理内存垃圾,减少磁盘空间的占用,提高测试结果数据的解析和读取效率。然而,由于多个用户共享内存,这样就需要向终端申请资源(即内存),如果被分配的内存不足,将会导致测试失败,而系统的内存资源是十分有限的,并不能满足软件开发工作者不断的需求,而云计算软件测试能够有效地利用云平台动态可扩展的海量资源,节省测试太阳城集团和降低测试成本,是一种较好的测试解决方案。但是现有的云计算软件测试平台和服务在使用时需要收取费用,部分整体化解决方案价格昂贵,而且,这些云测试平台和解决方案是商业公司或测试即服务(TestingasaService,TaaS)提供商专有的,它们的底层设计对外是不开放的,外部研究人员很难进行相关问题的深入研究。

发明内容

本发明要解决的技术问题是:克服现有技术在软件测试中处理速度慢、内存空间紧缺、测试易失败的不足,基于量子蛙跳算法和云计算技术,提供一种云计算环境下的自动化测试数据生成方法及系统。

太阳城集团本发明的技术问题可以通过以下技术方案实现:

一种云计算环境下的自动化测试数据生成方法,包含测试计划定义、将待测试数据上传到云测试平台、测试执行、测试报告生成与分析4个步骤;

所述的测试计划定义是,在建立一个测试计划时,在JMeter的GUI界面上该测试计划以树形结构显示,而测试计划的内容存储为一个xml格式的文件,所述的xml格式的文件是对树形测试计划的形式化描述;当测试执行模块执行测试计划时,就会依据所述的xml格式的文件的描述判定应该在内存中建立什么样的对象来反映用户建立的测试计划,并根据不同的对象产生各自的行为对待测试系统进行访问;

所述的将待测试数据上传到云测试平台是,在云测试平台上实现对所有待测数据采用量子蛙跳算法获得最优测试数据进行分组测试,进行软件测试各模块的统计、关联分析,然后应用大数据处理数据;所有测试相关的应用程序、测试工具、测试用例、测试环境都先部署到云测试平台上,借助云计算技术进行测试;

所述的测试执行是,将上传到云测试平台的数据通过JMeter开启多线程模拟多用户的操作,其中每个线程都调用测试计划中的元件对象并执行这些对象定义的操作;

太阳城集团所述的测试报告生成与分析是,在测试执行过程中实时的收集平均响应太阳城集团、系统吞吐量,并将结果以聚合报告的形式显示给测试人员,供其进行分析和参考。

本发明所述的云测试平台具体是由四个层次构成的,即云资源层、云资源管理层、服务管理层和用户管理层。

本发明旨在以Jmeter自动化测试工具和Jenkins持续集成软件为基底,构造一个云计算软件测试平台架构,以解决测试过程中内存紧缺的现象,采用一个大数据缓冲池,将性能持续集成测试记录按每次性能持续集成测试请求载入内存的缓冲队列中,在云平台上实现测试,用量子蛙跳算法获得最优测试数据进行分组测试,进行软件测试各数据的统计、关联分析,然后应用云计算技术处理数据,最终加快数据处理测试速度,节省内存空间。

本发明有以下有益效果:

太阳城集团1、本发明使用持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省太阳城集团、费用和工作量。

2、本发明使用Jmeter自动化测试工具和Jenkins持续集成软件,能较好的解决自动化测试结果保存以及持续集成能持续展示自动化测试结果,实现随时能够方便对比测试结果,从测试结果对比中,找出程序代码的缺陷和提高程序健壮性,实现了自动化测试结果持续集成整合。

3、本发明在JMeter架构下采用正则表达式创建断言,通过带有断言的脚本以验证程序代码能否返回期望的结果,使得测试命令语句简单化,实现了对应用程序的功能测试,同时提高了测试代码灵活性。

4、本发明的云测试服务平台能够提高开发者的测试效率,测试不占用开发者的计算资源,并且尽量能够自动进行。

5、本发明的云测试服务平台提高了测试的安全性,即使测试失败,也不会导致整个系统崩溃。

6、本发明的云测试服务平台使得测试能够弹性地改变测试环境,即改变测试的资源配置。

附图说明

图1是本发明的整体架构及功能部件示意图。

图2是本发明所述的量子蛙跳算法求解最优数据生成方法的流程图。

具体实施方式

实施例1本发明的总体结构

本发明的一种云计算环境下的自动化测试数据生成方法,包含测试计划定义、将待测试数据上传到云测试平台、测试执行、测试报告生成与分析4个步骤;

所述的测试计划定义是,在建立一个测试计划时,在JMeter的GUI界面上该测试计划是以树形结构显示的,而其内容的存储格式为xml形式,这个xml形式存储的脚本是对树形测试计划的形式化描述。测试执行模块执行测试计划时,就会依据xml文件的描述判定应该在内存中建立什么样的对象来反映用户建立的测试计划,并根据不同的对象产生各自的行为对待测试系统进行访问;

所述的将待测试数据上传到云测试平台是,在云平台上实现对所有待测数据采用一种量子蛙跳算法获得最优测试数据进行分组测试,进行软件测试各table的统计、关联分析,然后应用大数据处理数据,加快数据处理测试速度,节省内存空间。而云测试平台是由四个层次构成的,即云资源层、云资源管理层、服务管理层、用户管理层。这四层共同构成了云测试平台,所有测试相关的应用程序、测试工具、测试用例、测试环境等应用都必须先部署到云测试平台上,借助云计算技术,提高测试的效率。能够有效地利用云平台动态可扩展的海量资源,节省测试太阳城集团和降低测试成本。

所述的测试执行是,当测试执行时,将上传到云测试平台的数据通过JMeter开启多线程模拟多用户的操作,其中每个线程都会调用测试计划中的元件对象并执行这些对象定义的操作;

太阳城集团所述的测试报告生成与分析是,在测试执行过程中实时的收集平均响应太阳城集团、系统吞吐量等性能指标值,并将结果以聚合报告的形式显示给测试人员,供其进行分析和参考。

实施例2本发明的基于量子蛙跳算法的软件结构测试数据自动生成方法

太阳城集团对软件测试数据生成问题进行自动求解可以有效减少测试人员的工作,提高软件测试效率,节省软件开发成本。本发明所采用的软件测试数据生成方法是量子蛙跳算法。该方法从程序输入空间(输入域)中随机地选择输入数据,然后将输入数据用于执行被测程序,再根据输入数据在程序中的执行结果,结合量子蛙跳算法生成的新的输入数据,继续运行和测试程序进行试探,直到发现最优解为止。

1、适应值函数的构造

太阳城集团适应值函数是量子蛙跳算法应用于求解问题的优化目标,它的构造直接影响PSO在具体问题上的效率。本发明采用“分支函数叠加法”构造适应值函数。分支函数是一个实值函数,它是分支谓词到实值的一个映射,可以量化地描述在测试数据的驱动下,被测单元的实际执行路径对选定路径的覆盖程度。

设待测路径上有m个分支点,n个参数,则m个分支函数分别为:f1=f1(x1,x2,…,xn),f2=f2(x1,x2,…,xn),…,fm=fm(x1,x2,…,xn);而该路径的分支函数为

F=MAX-(F(f1)+F(f2)+…+F(fm))

其中, F ( x ) = 0 , x 0 x , x > 0 ; ]]>太阳城集团MAX为一个较大整数。

2、测试数据生成算法

基于量子蛙跳算法的软件结构测试数据自动生成方法,将测试数据作为青蛙种群向量x的元素。首先随机生成测试数据,然后用量子蛙跳算法搜索最佳的测试数据,使得适应值函数的值达到最大。参照图2所示,其步骤如下:

太阳城集团(1)分析被测试程序。根据测试覆盖策略、被测程序确定适应值函数,并对被测程序插装;

(2)选定青蛙数m、适应值阈值ε、最大允许迭代次数,族群数,初始化青蛙的量子位置和位置;

太阳城集团(3)迭代步数t=0;Fg=0;Fp=(0,0,…,0);

(4)当满足Fg≤ε且t<Maxiteration条件时,使用青蛙种群P中的每个青蛙来执行打桩后的程序;根据青蛙运行之后的结果,计算其适应度;

(5)更新青蛙群的量子位置速度和位置;

太阳城集团(6)直到达到最终迭代次数,得到最优数据生成结果。

太阳城集团以下是可以用于实施例2进行求解的一个matlab程序:

。

关 键 词:
一种 计算 环境 自动化 测试数据 生成 方法
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:一种云计算环境下的自动化测试数据生成方法.pdf
链接地址:http://zh228.com/p-6401507.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');