• 什么是性能测试?
    • 性能测试是用来评估计算机、网络、软件程序或设备在负载下的速度,响应时间和稳定性的测试方法。一般运行性能测试是为了识别性能相关的瓶颈。
    • 性能测试可以在实验室做定量测试,也可以在生产环境下的某些场景做量化测试。识别性能需求并且完成测试。
    • 典型的性能测试因素有处理时间,数据传输比率,网络带宽和吞吐量,工作负载的效率和可靠性。
  • 性能测试指标有哪些?
    • 性能测试指标一些性能指标,或关键性指标(KPI),可以帮助一个组织评估当前的性能。
    • 性能指标通常包括:
      • 吞吐量:一个系统在指定时间内处理多少单位的信息。
      • 内存:一个处理器或工作负载可用的工作存储空间。
      • 响应时间:从用户输入请求到系统开始响应该请求之间所经过的时间量带宽。
      • 带宽:每秒可以在工作负载之间移动的数据量。
      • CPU每秒中断次数:通常是通过网络CPU 每秒中断次数。
  • 如何进行性能测试?
    • 由于性能测试可以在不同类型的指标进行,实际过程可能有很大的不同。然而一个通用的过程有如下步骤:
      • 确定测试环境。包括测试和生产环境以及测试工具。
      • 确定和定义可接受的性能标准。这包括性能目标和指标约束。
      • 规划性能测试。
      • 测试所有可能的用例。围绕性能指标建立测试案例,
      • 配置和实施测试设计环境。安排资源来准备测试环境,并实施。
      • 监控测试结果
      • 分析和重新测试。查看结果,在任何微调之后,重新测试,看看在性能上是否有增加或 减少。
  • 性能测试的类型有哪些?
    • 性能测试的类型有两种主要的性能测试方法:负载测试和压力测试,另外还有其他类型的测试方法。
    • 负载测试:帮助开发人员了解系统在特定负载值下的行为。在负载测试过程中,一个组织在一段时间内模拟预期的开发用户和交易数量,以验证预期的响应时间和定位瓶颈。这种类型的测试有助于开发人员在应用程序或系统上线之前确定该应用程序或系统可以处理多少用户。
    • 压力 测试:将系统置于高于预期的流量负载下,因此开发人员可以看到系统在其预期容量限制之上的工作情况。
      • 压力测试有两个子类型:长时间测试(耐力测试)和峰值测试
    • 可扩展性测试:根据软件的能力来衡量性能,以扩大或缩小性能测量属性。
    • 容量测试:与压力测试类似,根据用户的数量来测试流浪负载,但在数量上有所不同,容量测试着眼于软件应用程序或环境是否能够处理其专门设计的流量。
    • 云性能测试
  • 性能测试工具有哪些?
    • jmeter:一个Apache性能测试工具,可以对网络和应用服务产生负载测试。JMeter的插件为负载测试提供了灵活性,涵盖了图形、线程组、定时器、函数和逻辑控制器等领域。JMeter支持集成开发环境(IDE),用于浏览器或Web应用程序的测试记录,以及用于基于Java的操作系统的负载测试的命令行模式。
    • loadrunner:测试和测量负载下的应用程序的性能。LoadRunner可以模拟成千上万的终端用户,以及记录和分析负载测试。作为模拟的一部分,该软件在应用程序组件和终端用户操作之间生成信息,类似于按键或鼠标移动。LoadRunner还包括面向云计算使用的版本。