• 0
  • 0
分享

前言:初入性能测试的小伙伴们会进入误区么?可能你自己都不知道自己踩坑了,要不跟着我一起瞧瞧!

误区1:应用程序必须通过功能测试后才可以测试性能

应该尽早的进行性能测试。性能测试可以发生在各个测试阶段中,即使是在单元层,一个单独模块的性能也可以使用白盒测试来进行评估,然而,只有当整个系统的所有成分都集成到一起后,才能检查一个系统的真正性能。

性能测试从早开始,完成一个小模块,对小模块的接口进行性能测试,一般耗费资源很少,但可以防止问题在项目最后出现,花费很大的精力去修改。

而有些资料中提到的:在系统代码开发和功能测试完成之后,进行性能测试的说法,是为了检查系统整体性能的做法。一般经常出现在验收性能测试中。

误区2:软件性能测试要向功能测试一样,覆盖到所有功能

性能测试的主要目的是为了系统调优。不可能对所有的系统功能都进行性能测试。在测试设计时需要结合当时的实际系统,先分析软件可能存在的瓶颈,此时可依据80/20原则分析:对系统资源的利用、数据大量传输、数据转换、用户使用频率、逻辑复杂度等进行分析,选择要执行的功能和场景,再依次制定性能测试的方案。

误区3:系统吞吐率随着并发量增加而增加

随着并发量的增加吞吐率并不是线性增长的。并发量从小逐渐增大,开始阶段吞吐率随着并发量的增加线性变化;当并发量达到某一值时,系统处理能力趋于饱和(也可能某一硬件条件达到临界值),此时再逐渐增大并发,会有一些请求处于等待状态,所以响应时间变慢,吞吐率趋于稳定;当并发量达到系统的最大处理能力后,再增加并发,系统处理能力会下降,吞吐率也会下降,最终可能发生宕机。

误区4:客户给出性能指标,我们一定要想法设法达到

根据用户提供的指标进行可行性分析,分析这些指标在理想状态下是否可以达到。比如有这么一个要求:有一台服务器,希望能承载10000个用户每秒200kb的传输。从CPU、Disk、网卡等方面分析都是很难达到的,也是很难测试的。需要和客户商讨增加硬件配置或者通过其他途径来解决。

误区5:压力测试、负载测试、容量测试等这些不同类型的测试一个一个分开来执行

现实场景是复杂的,测试也需要尽可能的模拟负载的场景。在一个整体的系统性能测试场景中,应该包括各个类型的测试。而需要检查某一个方面的指标或分析某个性能问题时,尽量保证场景简单、单一、容易模拟。

误区6:做性能测试主要就是性能测试工具的使用

我做不好性能测试,是因为对测试工具不熟悉;测试工具可以自动生成我所需要的报表;依靠性能测试工具就能准确定位系统瓶颈;

测试工具在测试中只能起到辅助性作用。而测试方案、测试场景的分析、问题的定位这才是性能测试的关键。不要期望测试工具能够生成你想要的东西(报表、瓶颈分析),工具只是尽可能多的提供我们分析的依据。

误区7:在线用户数就是并发用户数

并发用户数高意味着PV(页面浏览量)大。

并发用户数*用户访问页面数=PV

误区8:提高一下硬件配置就可以提高性能了,因此性能测试不重要

随着软件规模的扩大,提高硬件配置只是解决性能问题的一个基本手段。因为如果软件自身存在性能问题,再多的资源可能也不够用,例如:内存泄露问题,随着时间的增加,内存终究会被耗尽,最后导致系统崩溃;数据库连接等配置信息、数据库死锁是和硬件很难挂钩的;算法逻辑问题导致程序缓慢。即使要提高配置,也要首先用性能测试的方式得出哪些硬件可能存在瓶颈。

误区9:性能测试独立于功能测试

一方面,整体性能测试的场景设计要求的系统功能非常熟悉;另一方面,功能测试可以发现性能问题,性能测试也能发现功能问题。很多性能问题时由于软件自身功能缺陷引起的。如果应用系统功能不完善或者代码运行效率低下,通常会带来一些性能问题。功能测试可能会发现这些问题。

误区10:随便找个环境下进行一下性能测试就可以了

做性能问题分析可以在类生产环境上进行,配置可以有些差别,但是,整体性性能测试、验收性性能测试要尽量在用户生产环境下进行。


作者:Detail-L

原文链接:https://wenliang.blog.csdn.net/article/details/108536302


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   1. 首先明确下并发的概念。在性能测试中并发可以理解为同一时刻做不同的事,或同一时刻做同样的事。一般我们在性能测试的时候也是这么去模拟的。那这个同一时刻的并发是很难做到的。  要知道我们用来发起压力的测试工具本身要能做到同一时刻发起压力,如果设置线程数过多,负载机本身资源不足会有排队,请求建立和服务端的连接过程会排队,请求数据发送到服务的时候在网络队列上也会排队,请求数据达到服务端,在服务端也会进行排队,所以严格意义上的并发多少用户数等等是比较难做到的。  但是,并发我们可以分层去看,像一般的webserver或容器服务都有监控数据,如nginx的Active connections,to...
            0 0 2459
            分享
          •   前言  通常在接口自动化中,经常会参数关联的问题,那么什么是参数关联?  参数关联就是上一个接口的返回值会被下一个接口当做参数运用,其中Python中可以实现参数关联的方法有很多种,今天小编给大家介绍下,如何通过Python来实现接口自动化中的参数关联。  UnitTest  虽然说目前Pytest框架比较流向,但是目前应该有绝大部分公司还是在使用UnitTest框架,那么小编先介绍下如何通过UnitTest来实现接口自动化的参数关联。  方法一  下面小编通过测试用例返回参数的形式进行实现参数关联。# coding:utf-8 import requests impo...
            0 0 1455
            分享
          •   测试工程师经常遇到的问题有:  · 开发的提测质量不佳,开始提测之后明明还有许多功能没有开发完整就提测,导致测试延期  · 经常出现功能漏测的情况,无法保障产品质量  · 经常出现明明测试过的功能,测试通过之后又出现重复的bug  · 测试环境没问题,但是线上环境就是出现了问题  针对第一种提测质量不佳的情况  测试同学做到规范冒烟测试流程,可以提高开发的产品质量意识,冒烟测试通过之后才算正式进入提测环节,这样可以很好的判断到底是因为开发质量问题延期,还是测试慢延期。  冒烟自测流程如下:  QA同学负责用例输出,开发同学执行接口/功能/场景用例,QA同学负责复杂场景及功能走查验收。  项...
            17 17 1569
            分享
          •   1、警惕自身和单位的耦合程度  很多人在一个公司、企业待久了,学的东西都是这个企业所能用到的,时间长了,会发现自己在公司里越来越得心应手,但是你的技能和长处可能仅仅适应这家公司,换一家公司可能就用不上,这样就很危险。  2、忘掉光环,忘掉徒有的虚名  特别是在大公司里,而且是做过管理岗位的,那些光环和title会让你骄傲自满。你始终要明白,平台再大,公司再牛掰,终究不是你的真实能力的体现,特别是做过管理岗位的,不要迷恋管理,技术才是长久立足的根本。  3、新技术日新月异,但人生是一场长跑  没有一劳永逸,这个行业不进步就淘汰了,要学的,要看的总是很多,但是面对这些也不要有任何的压力和焦虑,...
            0 0 689
            分享
          •   当前测试市场技术发生了什么变化?  自2018年,软件测试就业市场发生了变化。因为随着国内互联网的发展,测试越来越重要,根据业务的不同,导致发展方向越来越多,细分职能越来越多,请看下图:  所以市场上对软测技能要求也是水涨船高,企业更需要的是全栈型测试,或懂得多种测试技能,以提高人效。早期功能测试打天下,撸起袖子就是点的时代早已一去不复返,如果你刚入行也许认为我还能点点点,那么你可能很快会被行业淘汰,从入门到失业你做到了无缝衔接。  未来路如果想走的更好,我们有必要深入了解下软件测试行业未来发展趋势,让我们一起来拥抱变化:  趋势1.功能测试虽然是测试的核心,但提供的价值日益降低。当前行业...
            0 0 1305
            分享
      • 51testing软件测试圈微信