性能测试环境设计研究
作者:网络转载 发布时间:[ 2012/11/22 11:17:16 ] 推荐标签:
测试环境的设计在性能测试过程中是非常重要的,好的测试环境下的测试结果能真实反映系统实际运行时的状况,为性能测试工程师提供有用的信息,进而促进应用系统质量的提高,这也是我们进行性能测试的目的。但是不同的行业应用,不同的质量目标,都可能会影响到测试环境的规划。但从测试工作自身的要求来看,在理想的情况下,所有的测试都应该尽量模拟真实的运行环境。如果系统还未投入实际的使用,可以通过按照系统的运行要求搭建环境来对系统进行测试;如果系统已经上线运行,一般可以选择在夜间对系统进行测试,以免对正常用户的使用造成影响,环境选择系统实际运行的环境是理想的,当然在资金允许的情况下,也可以选择购买或租借相同的设备搭建系统来进行性能测试。通常来说,测试环境应具备以下的基本特性,包括:
稳定性
性能测试一般是需要重复执行的。对于好的测试环境,在相同的条件下,测试结果应该是几乎保持一致的,或者误差在可以接受的范围之内。为了提高性能测试的重复性,在性能测试开始执行后尽量不要改变原来的测试方法,因为新的测试方法可能会对环境带来不确定因素,影响测试环境的稳定。
独立性
在搭建环境的时候应尽量保证测试环境的独立性,好使网络和设备不与其它的系统共用,减少不确定的因素可能对测试过程的影响,导致测试结果失真。
可控制性
在进行性能测试的时候,测试环境中的所有设备和资源应该是可以监测和控制的。如果环境中存在无法修改的参数或者无法控制的设备,那么寻找和解决问题的过程必定是既花费时间也花费精力的。
经过良好设计和规划的测试环境,可以非常有效地减小由于环境变化的影响对测试工作造成的风险,极大地提高测试工作的效率和质量。在进行性能测试环境设计的时候,需要以下问题进行确认:
1、所需要的服务器的数量和软硬件配置,包括CPU主频、内存容量、硬盘容量、网卡速率、操作系统版本和补丁、中间件系统版本和补丁、数据库系统和版本,另外还需要考虑是否需要集群,是否实现负载均衡机制等;
2、所需要的网络设备,包括路由器、交换机等的数量、型号和配置等;
3、所需要的压力机的数量和配置,包括CPU主频、内存、硬盘等;
4、执行测试工作所需要使用的性能测试工具、资源监控工具、数据开发工具、文档编写工具等的版本、License和相关补丁等;
5、所需要的性能测试数据是由客户提供还是自己准备,包括初始数据、业务数据、脚本参数数据。初始数据如登录一个网站或者系统的用户名和密码;业务数据如数据库中已经存在的数据,供我们对系统的“查询”、“删除”、“修改”等业务进行考察时使用;脚本参数数据如需要注册的一个账号、需要提交的表单内容、需要上传的文件等。
当明确了上面的问题后,可以很容易看到哪些条件是满足的,哪些设备或工具需要租用或者购买。另外需要注意的是,在性能测试过程中,会遇到很多不可预测的行为发生,如果系统发生崩溃,会造成测试过程中断、测试数据丢失甚至更严重的后果,所以事先做好预备措施是十分必要的,对测试环境进行备份可以在环境遭到破坏时有效地进行恢复,保证测试的连续性,节省测试的时间。
还应注意的是,对于不同类型的应用系统,在搭建测试环境的时候还应该有所侧重:对大众性的软件,应选用比较普及的操作系统和软件平台,因为用户来自各个阶层,客户端的配置也不尽相同,通过这样的方式来考察系统是否能够满足大部分客户的正常使用;特定的系统好选择和实际环境相同的测试环境,这主要针对一些应用于特定领域的应用系统,比较金融业的月末清算系统,交通行业的城市监控系统,这些系统都只是在特定的地方使用,对于这类系统,应尽量复制真实的运行环境,将环境差异带来的影响降到低,保证测试结果更加真实;营造相对简单、独立的和无毒的测试环境,这应该是所有的性能测试的环境都应该具备的条件,在我们进行性能测试的时候,尽量保证不与其他的测试或活动共用一套环境,减少网络等资源争用带来的影响,同时保证我们的测试用机系统应该相对简单,尽量不要开启与测试无关的进程或线程。
另外,在某些情况下,可能由于种种原因,无法模拟并搭建软件运行的实际环境,这时候需要在有限的资源内,大化的利用现有资源搭建能够运行系统的测试环境,完成简单但有针对性的性能测试,然后根据测试结果按照一定的线形理论进行大致的推断,完成对系统性能的简单判断以及提出可能的性能改进建议。
综上所述,性能测试环境设计是一项非常重要但经常容易被忽视的工作,因此尽量模拟真实的环境,测试结果才能更真实地体现应用系统的实际性能状况,才能充分发挥性能测试的意义。
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11