第八,完成性能测试评估报告。

  在进行性能测试的时候,我们需要知道一些有效的性能指标,下面我们来列出一些主要的性能指标:


  一是,通用指标(指Web应用服务器、数据库服务器必需测试项):

  *ProcessorTime:指服务器CPU占用率,一般平均达到70%时,服务接近饱和;

 

  *Memory Available Mbyte:可用内存数,如果测试时发现内存有变化情况也要注意,如果是内存泄露则比较严重;


  *Physicsdisk Time :物理磁盘读写时间情况。


  二是,Web服务器指标:


  *Avg Rps:平均每秒钟响应次数=总请求时间/秒数;

 

  *Avg time to last byte per terstion(mstes):平均每秒业务角本的迭代次数;*Successful Rounds:成功的请求;

 

  *Failed Rounds:失败的请求;

 

  *Successful Hits:成功的点击次数;


  *Failed Hits:失败的点击次数;

 

  *Hits Per Second:每秒点击次数;

  *Successful Hits Per Second:每秒成功的点击次数;

  *Failed Hits Per Second:每秒失败的点击次数;

  *Attempted Connections:尝试链接数。

  三是,数据库服务器指标:


  *User 0 Connections :用户连接数,也是数据库的连接数量;

  *Number of deadlocks:数据库死锁;

  *Butter Cache hit:数据库Cache的命中情况。

  (五)测试工具介绍

  1.ACT(或者MSACT)。ACT是微软的Visual Studio 和Visual Studio.NET带的一套进行程序测试的工具,ACT不但可以记录程序运行的详细数据参数,用图表显示程序运行状况,而且安装和使用都比较简单,结果阅读也很方便,是一套较理想的测试工具。

  Microsoft Web Application Stress Tool (WAS):这个工具和ACT一样是微软的产品,但是这个工具没有和Visual Studio集成,可以单独使用。感觉这个程序现在还在测试,但是一些基本的功能已经很完备,可以完成ACT几乎所有功能,而且WAS使用更加简单,设置也更加完备明了。这个工具的另外一个特点是,它的报表是纯文本文件,而不是流行的HTML文件格式,但内容方面一点也不逊色。

 

  2.Open System Testing Architecture (OpenSTA)。OpenSTA的特点是可以模拟很多用户来访问需要测试的网站,它是一个功能强大、自定义设置功能完备的软件,但这些设置大部分需要通过Script来完成,因此在真正的使用这个软件之前,必须学习好它的Script编写。如果需要完成很复杂的功能,Script的要求还比较高,当然,这也是它的优点,一些程序员不会在意这些Script的。这个软件完全免费而且源代码可以下载,可以自己修改达到特定的要求。

  3.PureLoad。PureLoad是基于Java的测试工具,它的Script代码完全使用XML,所以这些代码的编写很简单,它的测试报表包含文字和图形并可以输出为HTML文件。由于是基于Java的软件,所以可以通过Java Beans API来增强软件功能。

 

  4.QALoad。QALoad不单单测试WEB应用,还可以测试一些后台的东西,比如SQL Server等,只要是它支持的协议,都可以测试;另外一点,QALoad不但可以测试Windows,而且可以测试AIX, HP-UX 和 Solaris等系统。但是,这款软件价格很高。

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

 

  对于财大气粗的大公司而言,这款软件可能比较适合,它的功能和QALoad相比不相上下,市面上的公司如IBM、SUN、Oracle等都用这个软件。但是它的价格也高不可攀,和功能成正比。

  三、进一步的工作与讨论

  随着全面质量管理思想在软件开发领域的应用和不断向前推进,软件测试也由初的仅仅针对软件成品扩展到了针对软件半成品甚至过程产品的全过程测试,这是对软件测试的一种必然扩充。WEB测试也会随着这一思想,不断地扩展到WEB软件的各个生命周期中去,这将使WEB应用程序取得更高的质量,这也是我们以后需要进一步研究的内容。特别是对WEB压力测试自适应模型的探索才刚刚开始,有很多不足之处,例如:目前的测试人机交互较多,而自动完成的步骤较少等,这些都有待日后的改进。

 

  除了前面介绍的WEB压力测试外,目前WEB测试的主要研究热点还有:WEB应用测试的框架研究,WEB应用程序测试的对象模型研究及其应用,WEB测试的高度自动化研究等等,都将是未来一段时期内的研究重点。