zoukankan      html  css  js  c++  java
  • 性能测试报告

     

    什么是负载测试?

    负载测试确定系统在特定预期负载下的性能。负载测试的目的是确定当多个用户同时访问它时,应用程序是如何工作的。负载测试的目的是保证软件在实际负载条件下的顺利运行。负载测试是非功能性测试类型,是性能测试的一个子集。

    Load Testing image

    这项测试通常确定-

    • 应用程序的最大操作能力
    • 确定当前基础结构是否足以运行应用程序。
    • 应用程序在峰值用户负载方面的可持续性
    • 应用程序可以支持的并发用户数量,以及允许更多用户访问它的可伸缩性。

    这是一种非功能测试.在软件工程中,负载测试通常用于客户机/服务器、基于Web的应用程序--Intranet和Internet。

    在本教程中,你将学到-

    • 需要进行负载测试:
    • 为什么是负载测试?
    • 负载测试的目标:
    • 负载测试策略:
    • 负载测试的先决条件:
    • 如何进行负载测试
    • 负载测试指南
    • 负载测试工具:
    • 负载测试的优缺点:

    需要进行负载测试:

    一些极受欢迎的网站遭遇了严重的停机,因为它们获得了巨大的流量。电子商务网站在广告宣传上投入巨资,而不是在负载测试上投入巨资,以确保在市场营销带来流量的情况下,系统的最佳性能。

    考虑以下示例

    • 广受欢迎的玩具商店Toysrus.com,无法处理因其广告宣传活动而导致的市场营销损失和潜在玩具销售的增加。
    • 在节日期间,航空公司网站无法处理10000多个用户。
    • 大英百科全书宣布免费访问他们的在线数据库作为促销活动。他们几个星期来一直跟不上交通的猛增。

    许多站点遇到大流量时都会受到延迟加载时间的影响。很少的事实-

    • 大多数用户在加载页面时延迟8秒后就会单击
    • 因业绩不佳每年损失44亿美元

    为什么是负载测试?

    • 负载测试给了系统的信心&它的可靠性和性能。
    • 负载测试有助于在严重的用户压力情况下识别系统中的瓶颈,然后再在生产环境中发生这些瓶颈。
    • 负载测试提供了很好的防止性能低下的保护,并为性能管理和生产环境的监控提供了互补的策略。

    负载测试的目标:

    在将应用程序转移到市场或生产之前,加载测试会发现以下问题:

    • 每个事务的响应时间
    • 系统构件在不同负载下的性能
    • 数据库组件在不同负载下的性能
    • 客户端和服务器之间的网络延迟
    • 软件设计问题
    • 服务器配置问题,如Web服务器、应用服务器、数据库服务器等。
    • 硬件限制问题,如CPU最大化、内存限制、网络瓶颈等。

    负载测试将决定是否需要对系统进行微调,还是需要对硬件和软件进行修改以提高性能。

    负载测试的先决条件:

    负载测试的主要指标是响应时间。在开始负载测试之前,您必须确定-

     
    • 是否已经测量和比较了响应时间-定量的
    • 响应时间是否适用于与业务流程相关的
    • 回应时间是否合理?
    • 响应时间是否可实现-可实现
    • 使用工具或秒表是否可测量响应时间.可测量的

    在开始负载测试之前,需要设置一个环境:

    硬件平台软件配置
    • 服务器机
    • 处理器
    • 记忆
    • 磁盘存储
    • 负载机配置
    • 网络配置
    • 操作系统
    • 服务器软件

    负载测试策略:

    执行负载测试的方法有很多。以下是一些负载测试策略-

    Load Testing Tutorial: Tools, Process & Examples

    • 人工负载测试这是执行负载测试的策略之一,但它不会产生可重复的结果,无法为应用程序提供可测量的压力水平,并且是一个无法协调的过程。
    • 室内开发的负载测试工具实现负载测试重要性的组织可以构建自己的工具来执行负载测试。
    • 开源负载测试工具有几种免费的开放源码负载测试工具。他们可能不像他们的薪酬同行那么老练,但如果你是在一个预算,他们是最好的选择。
    • 企业级负载测试工具::它们通常带有捕获/播放功能。它们支持大量的协议。他们可以模拟大量的用户。

    如何进行负载测试

    负荷测试过程可简述如下-

    1. 创建一个专用的试验环境用于负载测试
    2. 确定以下内容
    3. 负载测试场景
    4. 确定应用程序的负载测试事务
      • 为每个事务准备数据
      • 需要预测访问系统的用户数。
      • 确定连接速度。一些用户可以通过租用线路连接,而另一些用户可以使用拨号连接。
      • 确定用户使用的不同浏览器和操作系统
      • 所有服务器的配置,如web、应用程序和DB服务器。
    5. 测试场景的执行和监视。收集各种指标
    6. 分析结果。提出建议
    7. 微调系统
    8. 重测

    负载测试指南

    Load Testing Tutorial: Tools, Process & Examples

    1. 一旦应用程序功能稳定,就应该计划负载测试。
    2. 应该在数据池中准备大量唯一的数据。
    3. 应该为每个场景或脚本确定用户数量。
    4. 避免创建详细日志以节省磁盘IO空间
    5. 尽量避免下载网站中的图片
    6. 应该记录运行期间响应时间的一致性&与各种测试运行进行比较。

    载荷和应力测试的区别:

    负载测试应力测试
    负载测试识别系统在各种工作负载下的瓶颈,并检查当负载逐渐增加时系统是如何反应的。 应力测试确定系统的断点,以显示系统崩溃后的最大值。

    功能测试和负载测试的区别:

    功能测试负载测试
    功能测试的结果很容易预测,因为我们已经定义了适当的步骤和先决条件。 负载测试的结果是不可预测的。
    功能测试的结果略有不同。 负载测试结果变化很大
    执行频率功能测试会很高 执行负载测试的频率将很低。
    功能测试的结果取决于测试数据。 负载测试取决于用户数量。

    负载测试工具:

    LoadNinja

    LoadNinja-正在彻底改变我们负载测试的方式。这个基于云的负载测试工具使团队能够记录和立即播放全面的负载测试,而不需要复杂的动态相关性,并且可以在实际的浏览器中大规模运行这些负载测试。团队能够增加测试覆盖率。&将负载测试时间缩短60%以上。

    NeoLoad:

    新负荷是为敏捷和DevOps设计的企业级负载测试平台。NeoLoad与您的连续交付管道集成,以支持贯穿整个软件生命周期的性能测试--从组件到全系统范围的负载测试。

    负载Runner:

    负载流道是用于测试正常和高峰负载条件下的应用程序的HP工具。负载运行器通过创建模拟网络流量的虚拟用户来生成负载。它像生产环境一样模拟实时使用,并给出图形结果。

    阅读更多关于LoadRunner的信息这里.

     

    负载测试的优缺点:

    以下是负载测试的优点:

    • 生产前的性能瓶颈识别
    • 提高了系统的可伸缩性。
    • 最小化与系统停机相关的风险
    • 减少失败的代价
    • 提高顾客满意度

    负载测试的缺点:

    • 使用负载测试工具需要编程知识。
    • 工具可能很昂贵,因为定价取决于所支持的虚拟用户的数量。

    摘要:

    • 负载测试是一种软件测试,它决定了系统在实际负载条件下的性能。
    • 负载测试通常会改善应用程序在投入生产之前的性能瓶颈、可伸缩性和稳定性。
    • 此测试有助于确定应用程序的最大操作能力以及系统瓶颈。
    • 加载测试很重要,因为如果忽略它,就会造成经济损失。

     

  • 相关阅读:
    Netty学习路线总结
    Intellij IDEA 快捷键整理-鬼畜版(全键盘开发指南)
    httpClient
    [翻译]Javaslang 介绍
    Docker学习<一>--初体验Windows环境下安装
    Spring @RequestParam @RequestBody @PathVariable 等参数绑定注解详解
    IntelliJ IDEA 2016.2激活方法
    解决mac升级后,出现的 xcrun: error: invalid active developer path, missing xcrun 错误
    Logstash 安装与配置
    【JVM学习笔记】双亲委托机制存在的意义
  • 原文地址:https://www.cnblogs.com/zhu520/p/12628558.html
Copyright © 2011-2022 走看看