性能测试(PerformanceTesting)杂谈.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
性能测试(PerformanceTesting)杂谈 尽管笔者在知名外企已经从事软件测试⼯作七⼋年了,具体到性能测试也有⼏年经验了,期间在公司也做过⼏次Tech Talk ;不过还真没有 写过有关Performance Testing的博客, 正好借助这个平台也谈谈⾃⼰对Performance Testing的认识和经验。 曾经看到过⽂章,介绍对Performance Testing, Load Testing以及Stress Testing的区别,但还是不完全清楚界限。根据⾃⼰的经验理解,我 认为Performance Testing是⼀个笼统的概念,是对系统总体性能评估的⼀个测试。它可以再具体细分为三类测试: 1. 页⾯加载时间Page Load Time (PLT) Testing: 这种测试主要来衡量⼀个⽹站页⾯的加载时间,它包括前端呈现时间+后端服务器响应时 间。这个时间如果过长,会影响⽤户体验并且会损失客流量。针对这种测试出现问题,需要对前后端都要做优化。具体前端优化,我们 在前⾯已经写了⼀个博客,可以参考: ;对于后端服务器的优化,可以参考下⾯两类测试的经验。 2. 负载测试Load Testing: 这个测试主要来衡量你们系统能⽀持多少并发数(同时在线⼈数)以及主要操作的响应时间,对整体性能的评估。 对于⾼速发展的互联⽹,这类测试尤其重要:⽐如电商双⼗⼀⼤战,春运在线抢票12306平台;运营商对系统提出了越来越⾼的性能要求 来满⾜商业需求。⼀般这个性能瓶颈发⽣在后台服务器端,要经常对后台进⾏监控和优化。 3. 压⼒测试Stress Testing: 它测试的⽬的和Load Testing 是不同的;它主要集中在怎么使系统更稳定,更健壮。所以测试⼿ 段会有所不同,⽐如长时间跑⼤压⼒测试,看系统是不是崩溃,内存有没有泄露(Memory Leak) ;硬件资源是否够⽤等 等。做这种测试⾸先要找出系统可能的不稳定因素(Breaking Point), 然后针对每个因素制定测试策略。 下⾯再具体说⼀下,笔者在实际⼯作中是怎么执⾏Load Testing 和 Stress Testing ;(由于从事的项⽬都是基于.NET Framework的,下⾯提 到的基本上⽤的是微软的⼯具) 1) Load Testing 的⼤体步骤: a. ⾸先了解本次Load Testing的⽬标,然后列出来需要测试那些页⾯或者⽤户操作(Action)。 b. 针对每个Action,要⽤⼯具录制对应的脚本或者⾃⼰写脚本代码;对于.NET平台,我主要⽤Visual Studio 2012 ⾥⾯的Load Test⼯具。其 它平台,可以参考Load Runner。 c. 等每个Action 的脚本代码都写好了,在Load Test⾥⾯加⼊这些Actions ,然后设置测试的并发数和运⾏时间。 d. 接下来就可以运⾏测试了,同时还要监控测试系统服务器⾥的主要的Performance Counters的数据。 e. 测试完毕后要对测试结果进⾏分析找出瓶颈(Bottleneck);是服务器硬件资源CPU/Memory/IO/Network的某个地⽅到达极限了还是代码逻 辑有问题;分析结果⽐执⾏测试更难更重要,这个是需要时间和经验的积累。 f. 重复上⾯的测试在fix掉某些瓶颈之后;如果测试的结果⽐如:并发数和系统响应时间满⾜起初制定的⽬标;这个测试就可以宣告⼀段落 了。 2) Stress Testing 的⼤体步骤: a. ⾸先也是了解本次Stress Testing的⽬标,然后列出来要尝试攻陷哪些可能的Breaking Points。 b. 对于要对系统长时间,⼤压⼒的测试,可以借助Load Testing的脚本修改运⾏时间和并发数达到对此测试的效果;测试过程中要监控系统 的稳定性,有没有出现系统崩溃,重启,错误的⽇志等等。 c. 对于Memory Leak的测试,需要利⽤长时间测试来观察内存的使⽤情况。 d. 对于⼀些特殊场景,需要写专门的测试⼯具来配合;⽐如模拟内存不够,硬盘空间不够的情况。 e. 另外可能还要测试备份系统是不是能⾃动接管⼯作在主系统瘫痪的情况下。 f. 这种测试场景考虑的要相对周全⼀点,很多场景需要具体项⽬具体分析,在此不再⼀⼀列举。 这⾥主要谈论了⾃⼰对性能测试的理解,在以后的博客中还会讲讲具体怎么做性能测试的,会演⽰⼀些⼯具或者录制⼀些视频做进⼀步深⼊ 探讨:⽐如怎么⽤Visual Studio 来做Load Testing, 怎么检查Memory Leak, 监控系统稳定性等;在云计算时代,有机

文档评论(0)

176****7010 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档