zoukankan      html  css  js  c++  java
  • 性能测试误区

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    误区7:在线用户数就是并发用户数。并发用户数高意味着PV(页面浏览量)大。

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

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

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

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

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

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

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

  • 相关阅读:
    leetcode--Populating Next Right Pointers in Each Node II
    leetcode—Populating Next Right Pointers in Each Node
    Pascal's Triangle II
    leetcode—pascal triangle
    leetcode—triangle
    October 23rd, 2017 Week 43rd Monday
    October 22nd, 2017 Week 43rd Sunday
    October 21st 2017 Week 42nd Saturday
    October 20th 2017 Week 42nd Friday
    October 19th 2017 Week 42nd Thursday
  • 原文地址:https://www.cnblogs.com/yangxia-test/p/3737348.html
Copyright © 2011-2022 走看看