老徐
级别: 测试新手
精华:
0
发帖: 9
基地声望: 2 点
基地币: 2216 Bug
基地贡献: 0 点
好评度: 0 点
在线时间:4(小时)
注册时间:2007-04-28
最后登录:2007-05-10
|
谈谈老徐对性能测试的理解
最通俗的理解“性能测试”
如果你开发了一个网站,这个网站上放了一些你的文章,你希望每天都有人来访问这个网站,浏览你的文章。
当只有一个人访问你的网站时,她每点击一个链接打开其中的一篇文章时,IE窗口里很快的就显示了该篇文章的内容,显示内容的时间大概在3秒钟左右。这时,没有任何事情发生。
但是,当100个人都来访问你的网站时,每个人点击一个链接打开其中的一篇文章时,IE窗口里已经不能很快的显示该篇文章的内容,这时显示内容的时间大概在8秒钟左右。
最后,如果某天你突发奇想,写了一片非常吸引人的文章,吸引了更多的人来访问你的网站。假设有1000个人在某天上午10点时都来访问你的网站,这时,问题严重了:每个人都点击了你的这篇文章的链接,但是她们苦苦等候了5分种,没有一个人的IE窗口里显示了她们想看的内容。
在这件事情发生后,这1000人很可能今后都不再来你的网站访问了:(
我们称这种情况为:你的网站出现了性能瓶颈!
“性能测试”就该派上用场了!如果在你的网站同时访问者达到了100人后,你开始利用专门的性能测试工具对你的网站进行性能的检查,这个检查不是为了查看100个人同时访问有没有问题,而是为了查看将来一旦出现1000个人同时访问有没有问题。这就是“对性能的测试”!
性能测试的价值
我们先来看看什么地方需要性能测试?
所有的“多用户访问型软件”都需要性能测试
例如:
(1)你可能每天都会访问的“百度网”、“搜狐网”、“新浪网”等大型的门户网站
(2)在一个企业中,所有员工都需要使用的“自动化办公系统”
(3)你去银行的营业厅办理业务,所有银行的营业员都要使用的“银行业务系统”
(4)你去移动公司的营业厅办理业务,所有移动公司的营业员都要使用的“移动业务系统”
这里列出的“门户网站”、“自动化办公系统”、“银行业务系统”、“移动业务系统”都是“多用户访问型软件系统”。
它们都需要在投入使用前进行性能测试。
这对于每个拥有此类软件系统的企业都是生存攸关的事情。
例如:
当你每次去中国农业银行办理业务时,仅仅是到营业员那里存个5000元钱,就坐在那儿等了15分种,当你询问为什么这么慢时,如果营业员告诉你“我们的银行业务系统遇到了性能瓶颈,现在很慢......”,你会怎么办?
下次很可能你就不去中国农业银行了,而改为去招商银行开了个账户,把钱存到她们的账户里。遇到这件事情的会只有这一个人吗?不是,会有很多人!
这对于中国农业银行来讲,她们就损失了一批客户。
软件系统的性能好坏是不是很重要!!!
这就是性能测试的价值!!!
对软件系统进行性能测试,预防此类的事情发生,就显得不可缺少了!!!
性能测试好做吗? 性能测试不好做!
原因有二:
第一,性能测试时要尽力模仿真实的情况,分析准确很难!
例如,如果要你分析每天上午10点到11点之间的一个小时内,到北京市所有移动公司营业厅办理业务的人整体行为,你该如何分析?
可能有10000个人在营业厅里,有的人在前台办理业务,有的人在排队等候,有的人在使用选号电脑为自己的新手机选择手机号码,有的人在自动服务机器上打印通话详单......
在这一个小时内,很多人在利用移动公司的“移动业务系统”办理很多的事情。
这些情况你都需要统计、分析,才能为性能测试提供一个合理的模拟实际情况的模型。
有了这个分析结果,你才能确保你的性能测试能做对。
要想精确的模拟实际情况,是不是很难?!
第二,性能测试时如果发现有性能瓶颈,定位瓶颈的所在很难!
现在的多用户访问型软件系统已经变得越来越复杂,多数软件系统是三层架构,即WEB服务器、APP服务器、DB服务器,而有的软件系统已经突破了这样的架构,达到了四层或者五层;甚至有的系统中包含了多个子系统,每个子系统都拥有自己的三层架构。
同时,在服务器上安装的操作系统也很可能不同,有的是Windows、有的是IBM AIX(Unix操作系统的一种)、有的是HP UNIX、有的是Linux......
还有,APP服务器可能是Weblogic、WebSphere、Tuxedo......
WEB服务器可能是IIS、Tomcat......
软件系统里还有开发人员开发的程序......
当出现性能瓶颈的时候,你需要大致的确定性能瓶颈的位置,是发生在操作系统层面、数据库层面、还是应用服务层面......,还是在开发人员开发程序层面!
要想找到什么地方引起软件系统的性能低劣,是不是很难?!
|
“实现自己的同时实现他人” 引自“焦点测试论坛”http://bbs.testfocus.com.cn
|
|
[楼 主]
|
Posted: 2007-04-29 10:16 |
| |