关于线上与线下性能测试结果的差异

发表于:2014-8-18 10:15

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:小强    来源:51Testing软件测试网采编

  有几个学员经常会对线上与线下测试结果不一样的问题产生纠结。。。。所以还是统一写一篇这样的文章
  其实这个问题本身不用纠结,就好比再牛逼的双胞胎还是有他们不一样的地方。本身性能测试就是一个预估风险、排查瓶颈、了解系统现有性能的一个手段。就好比小时候你是个好孩子,但不意味这你长大了也是一个好孩子,也许你会像海波兄那样的。。。。。so,性能测试只是一种手段,减小风险的方法而已。
  再者,本身线上和线下的测试结果就不太具有可比性,原因为:
  1、线下与线上机器环境配置的差异
  2、线下和线上业务数据的差异,虽然我们线下要最大可能的模拟用户行为,但你不能拿保证100%的模拟啊,那么多用户你都能兼顾到??????
  3、线下和线上产生压力时间的差异,线下是模拟高压力大并发的情况,而线上通常压力不大,大并发主要集中在某几个特殊时段。
  说道这里,又会有童鞋继续纠结了,那为毛还做测试啊,都不准确,做个毛毛??????好吧,那我想反问你一句,一辆汽车开的人不同,开车的习惯不同,会对车造成不同程度的影响,既然我们没法100%测试模拟,那我们干脆就产出汽车后直接卖给你好了,做个什么测试和路测,多tmd费劲。对吧?这时候你不干了,你说那多危险,万一有大问题呢,不就要了我的命了吗?呃。。。。这时候你明白了?那换到性能测试中就不明白了?
  我们做性能测试的意义其实很简单:
  1、预防、评估风险,如果有大问题可以早点发现,减小风险。这里理解极其简单,你程序存在内存泄漏的问题,难道线下2g和线上4g这个内存差异就不会有内存泄漏了????????????????这就好比,你不会骑永久牌自行车,难道给你换个小强牌(瞎编的。。。)自行车你就瞬间会骑了?
  2、前端性能测试。可以通过前端性能测试保证页面性能,给用户带来较好的用户体验。
  3、单接口性能调优。主要目的是优化接口性能,排查接口性能问题,及应用内存隐患。
  比如,我们会准备几种业务场景,比如全走DB和全走缓存,分别得到这几种场景下,应用最佳处理能力情况下,在测试中排查是否存在性能提升的地方,及代码问题导致的内存泄露等。
  4、容量评估。可以根据线上机器比例,线下模拟配比来估算。
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号