Chinaunix首页 | 论坛 | 博客
  • 博客访问: 230164
  • 博文数量: 108
  • 博客积分: 3092
  • 博客等级: 中校
  • 技术积分: 1172
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-25 16:35
文章分类

全部博文(108)

文章存档

2011年(3)

2010年(43)

2009年(19)

2008年(43)

我的朋友

分类:

2010-09-07 16:25:02

1.性能测试(performance testing)

模拟实际应用场景,测试系统性能是否满足生产性能的需求,即性能测试是在已经确定的环境下运行。
e.g.: 要求系统在100个并发用户的条件下进行某种业务操作,response time<5s
 
2.负载测试(Load testing)

在被测系统上不断加压,直到某些性能指标超过预定目标或者某种资源使用已达到饱和状态。这种测试旨在寻找系统处理能力的极限。
e.g.:预定指标:response time<5s, CPU percentage<55%
     极限:在给定条件下最多可以支持120个并发用户,在给定条件下最多可以在1小时 2100次操作。
Load testing一可以用来了解系统的容量,二来可以配合性能调优,用这种方法比较调优前后的性能差异。
 
3.压力测试(Stress testing)

在CPU、内存等饱和使用的情况下,系统的处理能力。
这种测试一般用于考量系统的稳定性,在压力下是否有内存方面的问题。
 
4.配置测试(configuration testing)

通过对被测系统的软/硬件环境的调整,了解不同环境对系统性能影响的程度(e.g.:硬件设备、网络环境、application server、数据库server的参数等),从而找到各项资源的分配原则。
这种测试一般在对系统性能状况有初步了解后进行,一般用于性能调优和系统扩展。
 
5.并发测试(Concurrency testing)

模拟用户并发访问时系统是否存在内存泄露、线程锁、资源争用或其他性能问题。
并发测试主要关注的问题
内存问题:是否有内存泄露(C/C++)
         是否有太多的临时对象(java)
         是否有太多超过生命期的对象(java)
数据库问题:是否有数据库死锁
           是否经常出现长事务(long transaction)
线程/进程问题:是否出现线程/进程同步失败
其他问题:是否出现资源争用导致死锁
         是否没有正确处理异常(如超时)导致系统死锁
 
6.可靠性测试(Reliability testing)

给系统加载一定的业务压力的情况下,让应用持续运行一段时间,测试系统在这种条件下是否稳定运行。与压力测试不同的是,这种测试旨在验证系统能否长期稳定运行。在运行测试的过程中要观察系统的内存使用状况、系统其它资源的使用状况以及系统的响应时间有无明显变化。
 
7.失效恢复测试(Failover testing)

针对具有冗余备份和负载均衡的系统所设计的测试。这种性能测试方法还需指出,当问题发生时“能支持多少用户访问”的结论和“采取何种应急措施”的方案。
 
阅读(1713) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-09-10 09:36:12

Download More than 1000 free IT eBooks: http://free-ebooks.appspot.com