3.2.6 第5步:执行性能测试

运行并监控测试。您需要对每一个性能测试进行预演,以保证在最后测试的过程中软件不会出现问题,或者确保测试配置不会出问题。

本阶段应该是整个性能测试项目中最简单的一部分。您已经花费了很大的功夫来准备测试环境,录制事务脚本,满足数据需求以及创建性能测试实例。在理想的情况下,执行性能测试仅仅是来验证软件的性能目标。它不应该变成一个确定并修复Bug的过程。

有一点不明确的是在达到性能测试目标之前您需要运行多少次测试场景。我希望我能回答这个问题,但是这个问题正如人生中的许多事情一样。如果您能严格遵循测试清单上的要求,我相信您能成功实现性能测试目标。

·正式测试之前您需要预演一下,以确定能为当前目标生成足够的负载,除非当前测试目标不需要很大负载,否则您都要检查负载生成器的上限。如果您连最低限度的负载能力都达不到,那么这次测试很容易就失败了。一个预演还能检查您是否能链接到程序,确定您没有忘记性能测试中最基本的东西,比如,忘记把脚本需要的外部数据加入到性能测试中。

·执行基准测试为性能测试建立一个响应时间的理想值。这通常是每个事务单用户运行一定时间或者多次重复一个事务获得的响应时间。

·在执行负载测试时,一般都要在完成一次测试后,在执行下一个之前重置数据库。一旦建立了性能基线,下一步就是要执行负载测试了:所有事务要分配给多个目标虚拟用户。

·在负载测试中发现的问题需要执行单独的测试进行仔细分析,然后将结果提交给开发人员和软件厂商。这就是为什么说在测试计划中安排意外事件处理时间是非常重要的,因为即使是很小的问题都会对整个项目执行时间造成很大影响。

·通过渗透测试来发现任何内存泄露或者发现与高数据交互事务执行相关的问题。我强烈建议您尽可能把渗透测试包含到性能测试中,虽然这并不总是可行的。

·从系统容量的角度来说,执行压力测试是很重要的。您应该很清楚要在应用程序环境中设置多少备用容量,为以后测试中增长的事务容量和最终系统用户提供数据的参考,您还可以利用压力测试为处于特定应用级别的服务器设定水平扩展性限制。

·执行其他与性能无关的测试。例如,试验一下配置不同的负载平衡性。