`

软件性能测试论文草稿

阅读更多
    1、 摘要:

随着Java EE 应用系统的功能日益强大,复杂度也越来越大,性能问题开始暴露出来。本文是基于Java EE应用系统讨论了性能测试的方法和工具,并指明了如何运用这些工具和测试方法进行测试,以及对测试结果进行分析,最后提出对Java EE系统进行性能优化的方法。


2、概要:
Java EE是一种利用Java平台来简化企业解决方案的开发、部署和管理相关的复杂问题的体系结构。它为搭建具有可伸缩性、灵活性、易维护性的商务体统了良好的极致。 但是随着Java EE技术的不断发展成熟,性能问题开始暴露和突出。在目前大多数的应用开发过程中,
往往着重于实现系统的功能而忽略性能问题。据Gartner统计,只有大约14%的应用达到了所有预期的测量
和测试响应时间。据Newport Group估计,从一个性能问题发现开始到完全解决,平均需要的时间是25.8
小时。在预算压缩和期望不断增大的今天,性能问题的解决更显得尤为重要。一般来说,在Java EE中性
能包括两个方面:
    (1)响应时间: 开发处处请求到完全获得响应消息的时间间隔,即从用户申请一个页面开始到完全
获得页面的时间(我们一般采用的是服务端的时间, 参考段练老师的书籍)。
    (2)可扩展性: 指的是应用程序的响应时间随着负载增加线性增长,这样的应用程序可以通过线性
增加硬件资源,处理越来越多的请求,即对多个用户的请求可以快速响应。

3、Java EE 结构:
Java EE应用程序采用的是三层体系结构: 客户端、服务器端和企业信息系统(EIS)资源。客户端可以是在浏览器中运行的静态页面或Java小程序(Applet),也可以是在Java EE客户端容器中运行的Java EE客户端应用程序。在服务器端,运行在Web容器中的Servlet和JSP产生Web用户界面,而运行在EGB容器中的EJBS则封装应用程序的逻辑和数据操作。典型的Java EE应用程序一般采用关系数据库作为EIS层。


4、 性能测试方法简介:
性能测试的方法主要有以下几种:

   (1)负载测试: 通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足性能指标的情况
下,系统所能承受的最大负载量的测试。
   (2)压力测试: 通过逐步增加系统负载,测试系统性能的变化,并最终确定 什么负载条件下系统性
能处于失效状态,并以此来获得系统能提供的最大服务级别的测试。
   (3)疲劳强度测试: 通常以稳定运行状态下能够支持的最大并发用户数或者日常运行用户数据为依
据,持续执行一段时间业务,通过综合分析交易执行指标和资源监控指标来确定系统处理最大工作强度性
能的过程。
    (4)大数据量测试: 大数据量测试重点在于数据量,包括独立的数据量测试和综合数据量测试。
独立的数据量测试针对某些系统存储、传输、统计、查询的呢个业务进行大数据量测试,而综合数据量测
试一般和压力性能测试、负载性能测试、疲劳性能测试相结合。


5、测试工具Load Runner介绍
LoadRunner是一种预测系统行为和性能的工业标准级负载测试工具。通过模拟上千万用户实施开发负
载及实时性能监测的方式来确认和查找问题, LoadRunner能够对整个Java EE系统的架构进行测试。通过
使用LoadRunner,能最大限度地缩短测试时间、优化性能和加速应用系统发布周期。

    LoadRunner架构:
    LoadRunner 主要由虚拟用户生成器(Virtual User Generator)、压力产生器(Player)、用户代
理(Agent)、控制器(Controller)、结果分析器(Analysis)5个部分组成。
   
    
      (1)虚拟用户生成器(Virtual User Generator)是一种基于Windows的开发调试应用程序,通过
它可以开发、调试并运行Vuser脚本。虚拟用户生成器通过录制客户端和后台服务器之间的通讯包,分析
其中的协议,自动产生脚本。在测试环境中,LoadRunner会在物理计算机上用虚拟用户(即Vuser)代替
实际用户。Vuser通过可以重复、可预测的方式模拟典型用户的操作,在系统上创建负载。

      (2)控制器(Controller)是整个性能测试的核心,实际上它是一个框架程序和监控程序,负责
将虚拟用户生成器开发的脚本以多进程/多线程的方式运行。通过它可以管理和维护场景,可以从一台工
作站控制一个场景中分布在负载生成器上的所有Vuser,并可以同时监视网络、服务器的等资源。

       (3)结果分析器(Analysis)实际上是一个数据分析工具,测试完毕后,结果分析器收集汇总所
有的测试数据,进行高级分析和汇总,迅速查找到性能问题并追溯原因。通过它可以将一个或多个场景运
行的结果生成图和报告,可以将几个图合并成一个图,对多个图进行比较,在报告和图中直观地查看性能
数据。


使用Load Runner进行测试的步骤:

   LoadRunner对基于Web的应用程序进行的过程分6个步骤: 规划测试、创建Vuser脚本、创建方案、运行方案、监视方案和分析测试结果。
     (1)规划测试: 定义性能测试要求,例如并发用户的数量、典型业务流程和所需响应时间。制定完整的测试计划、定义明确的测试计划将确保制定的方案能完成测试目标。

      (2)创建Vuser脚本: 使用LoadRunner的虚拟用户生成器生成虚拟用户,它先记录业务流程(如用户注册),然后将其转化为测试脚本,以虚拟用户的方式模拟真实用户的业务操作行为。利用虚拟用户,可以模拟成千上万个用户访问。
      (3)创建方案: 使用LoadRunner Controller设置负载测试环境、业务流程组合和虚拟用户数量。
      (4)运行方案: 通过LoadRunner Controller驱动、管理和监控负载测试。
      (5)监视方案: 在负载测试过程中,LoadRunner内含的监测器可以随时观察到应用系统的运行性能。这些性能监测器实时显示性能数据(如响应时间)和其它系统组建、包括应用服务器、Web服务器和数据库等的实时性能。这样可以在测试过程中从客户和服务器的双方面评估这些系统组件的运行性能。
      (6)分析测试结果: 测试完毕,LoadRunner将收集汇总所有的测试数据,并提供高级的分析和报告工具,以便迅速查找到性能问题。


6、测试案例(略)

7、优化措施(略)

8、结束语
由于Java EE 应用程序本身的复杂性和特殊性, 使得影响Web性能的因素很多,要评估Java EE系统
性能及优化要从软硬件两方面下手找出性能瓶颈。从对应用系统的测试情况来看,LoadRunner具有快速、
可靠、稳定和可重复等特征,能够叫准确的评估Java EE应用系统的真实性能,可以迅速查找到性能问题
并追根溯源。通过使用Load Runner, 可以最大限度地缩短测试时间、优化性能和加速应用系统的分布周
期。

9、                                参考文献


   [1]锻念. 软件性能测试过程详解与案例剖析[M]. 北京:清华大学出版社,2006.

   [2]Peter Zadrozny等著. J2EE性能测试. 张文耀等译,北京:电子工业出版社,2003.
   [3]刘群策. LoadRunner和软件项目性能测试[M]. 北京:机械工业出版社,2008.
   [4]彭彬,甘早斌,李志欣. 基于J2EE的Web应用系统的优化设计[J]. 计算机工程与科学,2005,27(10).
   [5]覃桂敏,王力. J2EE应用开发过程中性能问题的研究[J]. 计算机工程,2004,30(12).
   [6]JunitPerf. http://www.clarkware.com/software/JUnitPerf.html.
   [7]叶新铭,冯晓利. 软件压力测试流程[J]. 内蒙古大学学报(自然科学版),2002,33(1).
   [8]马琳,罗铁坚,等. Web系统性能测试及优化[J]. 计算机工程,2005,31(12).
   [9]张友生. 基于Web的系统测试方法. 中国系统分析员, http://www.csai.cn/test/web.htm.
   [10]http://httpunit.sourceforge.net/.
   [11]http://openload.sourceforge.net/.
   [12]姜昌华,朱敏,等. Web应用程序压力测试[J]. 计算机应用, 2003,23(10).
   [13]吴藜岚. Web动态测试研究及其应用[J]. 贵州工业大学学报(自然科学版),2006,(4).
   [14]郝建营,等. 一种有效的Web性能测试方法及其应用[A].
   [15]李煜,苗放. LoadRunner在Web应用程序性能测试中的应用[A].
   [16]杨喜纳,袁从领. 基于Java的Web应用程序的性能测试[J]. 大学时代, 2006,(4).
   [17]赵小娟,文福安. 作业与考试系统的性能测试[J]. 计算机科学与技术, 2006,(1).
   [18]粱晟,等. Web应用程序运行响应时间的试验研究[J]. 计算机研究与发展, 2003,40(7).
   [19]王峰,等. 基于J2EE应用的数据库访问的性能优化[J]. 计算机工程, 2003,29(1).
分享到:
评论
1 楼 xiaoLee 2012-01-04  

相关推荐

    软件项目测试验收方案-草稿 (2).pdf

    软件项目测试验收方案-草稿 (2).pdf软件项目测试验收方案-草稿 (2).pdf软件项目测试验收方案-草稿 (2).pdf软件项目测试验收方案-草稿 (2).pdf软件项目测试验收方案-草稿 (2).pdf软件项目测试验收方案-草稿 (2).pdf...

    论文草稿

    NULL 博文链接:https://xj-eon.iteye.com/blog/783192

    草稿纸软件5.1.0.2版本

    草稿纸软件实现PC端草稿纸功能,并帮助用户弄漂亮汉字。 草稿纸软件实现在视图区域加载图片,并能对图片进行基本操作(旋转拉伸) 草稿纸软件实现在视图区域中自绘各种图形,并对透明线条以及填充色进行支持 草稿纸...

    草稿纸软件(V5.1.0.3)

    本软件实现PC端草稿纸功能,并帮助用户弄漂亮汉字。 草稿纸软件实现在视图区域加载图片,并能对图片进行基本操作(旋转拉伸) 草稿纸软件实现在视图区域中自绘各种图形,并对透明线条以及填充色进行支持 草稿纸软件...

    草稿纸软件5.0版本

    本软件实现PC端的草稿纸功能 实现在视图区域加载图片,并能对图片进行基本操作(旋转拉伸) 实现在视图区域中自绘各种图形,并对透明线条以及填充色进行支持 实现在视图区域的任意地方输入文字,并对个人汉字以及...

    嵌入式简易复读机毕业论文草稿.

    嵌入式简易复读机毕业论文草稿. 有需要写嵌入式简易复读机的同学可以下载参考 排版很乱 这个是我写论文时找的资料

    测试论文草稿

    仅供参考,为草稿版本,由于是未提交的论文,暂时不存在任何版权问题。

    软件项目测试验收方案-草稿.docx

    软件项目测试验收方案-草稿.docx软件项目测试验收方案-草稿.docx软件项目测试验收方案-草稿.docx软件项目测试验收方案-草稿.docx软件项目测试验收方案-草稿.docx软件项目测试验收方案-草稿.docx软件项目测试验收方案...

    草稿纸软件5.1版本

    草稿纸实现PC机的草稿纸功能,并帮助您弄漂亮汉字 草稿纸实现在视图区域加载图片,并能对图片进行基本操作(旋转拉伸) 草稿纸实现在视图区域中自绘各种图形,并对透明线条以及填充色进行支持 草稿纸实现在视图区域...

    基于单片机的数字温度计设计毕业论文草稿.doc

    基于单片机的数字温度计设计毕业论文草稿.doc

    软件项目测试验收方案草稿.docx

    软件项目测试验收方案草稿.docx

    草稿纸软件3.5版本

    本软件提供PC端草稿纸功能, 能够加载显示图片,并对其进行旋转拉伸操作。 能够进行自绘,自绘各种图形,并支持透明色。 能够在任意地方输入文字,并能用自编汉字替换系统汉字。 能够对整张页面进行保存,不会丢失...

    软件项目测试验收方案-草稿参照.pdf

    软件项目测试验收方案-草稿参照.pdf

    草稿纸软件源代码

    我是草稿纸软件作者,也是所谓的西熙。 草稿纸本来要做文字流通平台,在这里公开代码,主要是希望大家放过我的亲人,朋友,同学,也算为技术发展做一点点贡献。至于服务端,由于我的服务器技术也很烂,这里就不丢人...

    自由的笔记草稿软件及PDF文献编辑

     Xournal 是一款自由的笔记和草稿软件,你可以用他来做笔记、随手标记、打草稿,或者纯粹把他当作一个画图软件。  Xournal 提供了一些基本的绘图工具,包括普通的铅笔、直线、插入文字、颜色选择,你可以在 ...

    手绘草稿软件 主要是完整

    Autodesk推出了草图绘画软件,专为绘图爱好者而设计,提供了许多高级绘图功能,如扭曲变换、高级透视导向、合成和混合画笔类型、增强型选择、动态渐变填充、动画书动画等等

    软件项目测试验收方案-草稿.doc

    软件项目测试验收方案-草稿.doc

Global site tag (gtag.js) - Google Analytics