一、测试环境应具备以下的基本特性,包括:

1)稳定性:性能测试一般是需要重复执行的。对于好的测试环境,在相同的条件下,测试结果应该是几乎保持一致的,或者误差在可以接受的范围之内。为了提高性能测试的 重复性,在性能测试开始执行后尽量不要改变原来的测试方法,因为新的测试方法可能会对环境带来不确定因素,影响测试环境的稳定。

2)独立性:在搭建环境的时候应尽量保证测试环境的独立性,最好使网络和设备不与其它的系统共用,减少不确定的因素可能对测试过程的影响,导致测试结果失真。

3)可控制性:在进行性能测试的时候,测试环境中的所有设备和资源应该是可以监测和控制的。如果环境中存在无法修改的参数或者无法控制的设备,那么寻找和解决问题的过程必定是既花费时间也花费精力的。

二、在进行性能测试环境设计的时候,需要就以下问题进行确认:

1)所需要的服务器的数量和软硬件配置,包括CPU主频、内存容量、硬盘容量、网卡速率、操作系统版本和补丁、中间件系统版本和补丁、数据库系统和版本,另外还需要考虑是否需要集群,是否实现负载均衡机制等;

2)所需要的性能测试数据是由客户提供还是自己准备,包括初始数据、业务数据、脚本参数数据。初始数据如登录一个网站或者系统的用户名和密码;业务数据 如数据库中已经存在的数据,供我们对系统的“查询”、“删除”、“修改”等业务进行考察时使用;脚本参数数据如需要注册的一个账号、需要提交的表单内容、 需要上传的文件等。

3)性能测试工具,监控工具,生成测试数据工具等。

4)对于不同类型的应用系 统,在搭建测试环境的时候还应该有所侧重:对大众性的软件,应选用比较普及的操作系统和软件平台,因为用户来自各个阶层,客户端的配置也不尽相同,通过这 样的方式来考察系统是否能够满足大部分客户的正常使用;特定的系统最好选择和实际环境相同的测试环境,这主要针对一些应用于特定领域的应用系统,比较金融 业的月末清算系统,交通行业的城市监控系统,这些系统都只是在特定的地方使用,对于这类系统,应尽量复制真实的运行环境,将环境差异带来的影响降到最低, 保证测试结果更加真实;营造相对简单、独立的和无毒的测试环境,这应该是所有的性能测试的环境都应该具备的条件。