上一篇 / 下一篇 2006-12-13 15:24:53 / 天气: 阴雨 / 心情: 高兴 / 精华(1) / 个人分类:测试心得
性能测试概念
通过自动化测试工具模拟多种正常、峰值、异常负载条件来对系统的各种性能指标进行测试.
性能测试主要类别
1. 性能测试:测试正常使用时,系统是否满足要求,同事可能为了保留系统的扩展空间进行一些稍微超出"正常"范围的测试.
2. 负载测试:通过再被测系统上不断增加压力,知道性能指标(如响应时间、资源状态).此测试考验找到系统的处理极限,为系统调优提供数据,一般负载测试的压力比较大.
3. 压力测试:对系统不断的施加压力,确定一个系统的瓶颈或不能接受的性能点来获得系统能够提供最大的服务级别.
4. 配置测试:通过测试找到系统各项资源的最佳分配原则,是系统调优的重要依据.
5. 并发测试:测试多个用户同时访问一个应用程序、同一模块或者数据记录时是否存在思索或者其他性能问题.几乎所有的性能测试都设计到并发测试.
6. 容量测试:测试系统能够处理最大会话能力,确定系统可处理同时在线的最大用户数,通常和数据库有关.
7. 可靠性测试:通过给系统加载一定的业务压力情况下,运行一段时间,检查系统是否稳定.
8. 失败测试:对于有冗余备份和负载均衡的系统,通过此测试来检验如果系统局部发生故障,用户是否能够继续使用系统,用户受到多大的影响.
性能测试主要指标
1. 响应时间(最关心的指标);一般遵循2/5/10的原则,过长的等待时间会使客户烦躁不安.
2. 点击数;
3. 吞吐量(任一秒再服务器上读取的数据量);
4. 并发量;
5. 资源利用率(内存、CPU的利用率);
6. 每秒连接数(每秒打开新的TCP/IP的连接数);
性能测试的主要工具
商业
1. Mercury LoadRunner
2. Rational Performance Tester
3. Seague Silk Test
免费
1. Microsoft Web Application Stress Tool
2. Microsoft Application Center Test
开源
1. OpenSTA
2. Jmeter
3. Grinder
性能测试实施过程
1. 了解被测项目的性能测试需求;
2. 分析被测项目的性能测试需求;
3. 编写性能测试计划/测试用例;
4. 相关资源准备;(测试、开发、数据库设计、系统管理人员、硬件资源、软件资源)
5. 脚本维护(编写程序);包括脚本录制、脚本修改/改善、脚本参数化、脚本以及数据的存储、程序的编写通常为多线程来实现.
6. 执行脚本(执行程序);包括脚本保存、参数文件保存、结果信息保存.
7. 分析结果;通常提供问题的定位(应积极和其他人员讨论)、分析结果对比.
8. 性能调优;补充多方面知识(系统、数据库、应用服务器等),为了更好的定位错误,每次只调整一方面的配置.