当前位置: 首页 > 专利查询>吉林大学专利>正文

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

技术编号:12309659 阅读:117 留言:0更新日期:2015-11-11 18:24
本发明专利技术的一种云计算环境下的自动化测试数据生成方法属于性能测试的技术领域,包含测试计划定义、将待测试数据上传到云测试平台、测试执行、测试报告生成与分析4个步骤;本发明专利技术无需太多的人工干预,可有效减少重复过程以节省时间、费用和工作量,具有数据处理测试速度快,节省内存空间等优点。

【技术实现步骤摘要】

本专利技术属于性能测试的
,特别涉及一种云计算环境下的自动化测试数据 生成方法。
技术介绍
软件测试是保证并提高软件质量的重要手段,它是软件生命周期中不可或缺的重 要环节。软件测试过程中,测试数据的生成是其核心问题,也是软件测试的关键与难点所 在。生成合适的测试数据是高效地进行软件测试的基础。量子蛙跳算法为软件测试数据生 成提供了丰富的理论和方法,能有效提高软件测试的效率。 任何一个测试都离不开手工测试,基于测试用例,在测试初期我们需要手工测试, 但是手工测试也有它的很大局限性,首先不可能覆盖每一条路径,单元测试还不存在重复 性问题,一旦到了回归测试,测试工作的工作量将会变的非常大,许多与时序、死锁、资源冲 突、多线程等有关的错误,通过手工测试很难捕捉到进行系统负载、性能测试时,需要模拟 大量数据或大量并发用户等各种应用场合时,这也是手工测试无法模拟的。如果整个测试 过程的测试数据量是庞大的,而且数据变化频繁,需要在短时间内(1天)完成,仅仅依赖测 试人员手工地测试数据,在测试管理工具中进行输入、修改、删除等操作,几乎不可能做到, 而且效率低,容易产生测试数据不一致,这样就给其它测试人员提供了不可靠的测试数据, 造成测试结果的失效。 JMeter是Apache组织开发的基于java的测试工具,相比其他HTTP测试工具, JMeter最主要的特点在于扩展性强,目前已大量应用在各个公司的性能测试过程中。它提 供了一个利用本地Proxy Server (代理服务器)来录制生成测试脚本的功能,实现了强大 的测试功能并能够提供聚合报告,当build -项任务时,在若干任务中查找所需的任务,运 行结束后生成HTML报告(report),并查看测试的输出结果。生成的报告上显示了每次测 试运行的结果,包括测试状态、时间、数据执行顺序以及所有测试花费的时间,使用户或测 试开发者直观的掌握整体测试状况、查看测试报告结果。同时,Jenkins是一个开源项目, 提供了一种易于使用的持续集成系统,使开发者从繁杂的集成中解脱出来,专注于更为重 要的业务逻辑实现上。同时Jenkins能实施监控集成中存在的错误,提供详细的日志文件 和提醒功能,还能用图表的形式形象地展示项目构建的趋势和稳定性。其只需要定义一些 触发条件便可支持基于任务的持续构建,并且有一套自己的插件开发规范,而目前基于性 能持续集成(持续集成)的有一个开源性能插件Dynamic Parameters。在此基础上,搭建 JMeter和Jenkins测试平台,该平台提供了 Java编程语言的测试驱动函数库。用Jenkins 提供的api通知Jenkins编译工程项目,并在工程设置中填写项目信息和自动触发Jmeter 插件需要加载的测试结果路径,编写自动化测试脚本,调用Jmeter测试工具对项目进行测 试,并生成测试结果。这样方便了软件开发测试工作者随时对比测试结果,从测试结果对比 中,找出程序代码的缺陷以提高程序代码的健壮性。 JMeter可以模拟大量的客户端向服务器发送请求来测试服务器的强度,并分析服 务器的整体性能。Jmeter运行时生成多个线程模拟多个用户执行请求,每次请求都记录了 请求的响应时间、请求发起时间、请求结果等信息,产生的结果文件为后缀为.jtl的xml格 式文件。所以这个文件具有文件大、性能持续集成测试记录条数多等特性,同时,友好的GUI 界面方便用户使用,开源,适用于大中型Web系统性能测试,并且免费,学习曲线低。不过它 和其他java应用程序一样,执行过程中需要占用大量内存。 为了最大限度的灵活性,在JMeter架构下采用正则表达式创建断言,通过带有断 言的脚本以验证程序代码能否返回期望的结果,实现了对应用程序的功能测试。仅仅需要 几句简单的命令语句,就可以完成一个jmeter文件对一个jar类型文件(yang,table)的 控制。同时,jmeter文件可以随着测试进行、软件的应用性能完善以及文件更新,实时的修 改代码和更新数据以更适合测试的要求。然而,当排队等待测试的数据量很大时,则需要耗 掉大量的时间才能完成一个周期的测试,无法满足开发测试人员检验产品性能的需求,为 测试工作带来了诸多的不便;同时,如果一个待测试的文件(table)脚本中的数据过多时, 将其载入jmeter工具的反应时间过长,且操作十分迟钝。因此,就急需一种能够快速处理 大量数据文件的脚本的方法,同时需要服务器及时清理内存垃圾,减少磁盘空间的占用,提 高测试结果数据的解析和读取效率。然而,由于多个用户共享内存,这样就需要向终端申 请资源(即内存),如果被分配的内存不足,将会导致测试失败,而系统的内存资源是十分 有限的,并不能满足软件开发工作者不断的需求,而云计算软件测试能够有效地利用云平 台动态可扩展的海量资源,节省测试时间和降低测试成本,是一种较好的测试解决方案。但 是现有的云计算软件测试平台和服务在使用时需要收取费用,部分整体化解决方案价格昂 贵,而且,这些云测试平台和解决方案是商业公司或测试即服务(Testing as a Service, TaaS)提供商专有的,它们的底层设计对外是不开放的,外部研究人员很难进行相关问题的 深入研究。
技术实现思路
本专利技术要解决的技术问题是:克服现有技术在软件测试中处理速度慢、内存空间 紧缺、测试易失败的不足,基于量子蛙跳算法和云计算技术,提供一种云计算环境下的自动 化测试数据生成方法及系统。 本专利技术的技术问题可以通过以下技术方案实现: -种云计算环境下的自动化测试数据生成方法,包含测试计划定义、将待测试数 据上传到云测试平台、测试执行、测试报告生成与分析4个步骤; 所述的测试计划定义是,在建立一个测试计划时,在JMeter的GUI界面上该测试 计划以树形结构显示,而测试计划的内容存储为一个xml格式的文件,所述的xml格式的 文件是对树形测试计划的形式化描述;当测试执行模块执行测试计划时,就会依据所述的 xml格式的文件的描述判定应该在内存中建立什么样的对象来反映用户建立的测试计划, 并根据不同的对象产生各自的行为对待测试系统进行访问; 所述的将待测试数据上传到云测试平台是,在云测试平台上实现对所有待测数据 采用量子蛙跳算法获得最优测试数据进行分组测试,进行软件测试各模块的统计、关联分 析,然后应用大数据处理数据;所有测试相关的应用程序、测试工具、测试用例、测试环境都 先部署到云测试平台上,借助云计算技术进行测试; 所述的测试执行是,将上传到云测试平台的数据通过JMeter开启多线程模拟多 用户的操作,其中每个线程都调用测试计划中的元件对象并执行这些对象定义的操作; 所述的测试报告生成与分析是,在测试执行过程中实时的收集平均响应时间、系 统吞吐量,并将结果以聚合报告的形式显示给测试人员,供其进行分析和参考。 本专利技术所述的云测试平台具体是由四个层次构成的,即云资源层、云资源管理层、 服务管理层和用户管理层。 本专利技术旨在以Jmeter自动化测试工具和Jenkins持续集成软件为基底,构造一个 云计算软件测试平台架构,以解决测试过程中内存紧缺的现象,采用一个大数据缓冲池,将 性能持续集成测试记录按每次性能本文档来自技高网
...
一种云计算环境下的自动化测试数据生成方法

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

【技术特征摘要】

【专利技术属性】
技术研发人员:于银辉杨蕾王玉星王达田小建
申请(专利权)人:吉林大学
类型:发明
国别省市:吉林;22

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1