概述

        在软件测试行业中,性能测试是确保软件质量的一项关键措施。随着IT技术的发展,性能测试显得越发的重要,各企业的需要也越来越大,同样的对其技术的要求也高。

为什么要做性能测试

性能测试的主要目的是向项目干系人提供关于系统的可伸缩性、速度和稳定性方面的信息,这将有助于项目干系人在推出产品之前对系统进一步进行优化改进。

如果一个系统未经性能测试就上线,有可能会出现许多的错误,包括低速、不同操作系统的不一致、崩溃等等异常。

随着用户对产品体验的进一步要求和市场竞争进一步加剧,没有一个好的性能表现,难以在市场竞争中存活,因此性能测试非常的重要,也是为什么需要进行性能测试的根本原因。

性能测试类型

  • 负载测试
    检查系统在预期的负载下执行的能力,该类型测试将确定性能可能的瓶颈。
  • 压力测试
    检查系统在极端工作负载下的运行状态,进一步确定系统能力。
  • 峰值测试
    检查系统在负载突然增加或减少的情况下,确定系统的能力。
  • 容量测试
    检查系统数据库在不同容量时,系统的性能能力。
  • 可伸缩性测试
    检查系统的可伸缩性或处理增加负载的能力

常见的性能瓶颈

  • 加载时间过长
    系统启动的时间过程,系统的启动时间应该尽可能的小,通常系统启动时间保持在几秒以内是最佳的。
  • 响应时间过长
    从用户输入数据提交到服务器返回的时间段,称为响应时间。如果响应时间过长,会导致用户体验很差。
  • 可伸缩性差
    当系统不能处理预期用户或事务数量时,就会出现该情况。
  • 其他瓶颈
    系统在运行中的障碍称为瓶颈,主要由编码错误或算法效率不高或线程机制有问题等因素造成,当然硬件也是一个可能的因素。

需要关注的指标类型

        在性能测试是,我们通常需要关注以下几大类型的指标数据:

  • CPU
  • 内存
  • 网络
  • IO
  • 操作系统限制
  • JVM
  • 线程(锁)

上述指标不仅仅要关注服务端,同样也需要关注前端相应的技术指标。

性能测试工具

        一些常用的性能测试工具,一般情况下笔者推荐jmeter或Gatling,理由就是没有理由。

  • JMeter
  • Gatling
  • LoadRunner
  • WebLoad
  • OpenSTA
  • httperf
  • LoadING Pro
  • Appvance
  • NeoLoad
  • Loadster
  • WAPT
  • LoadComplete
  • Testing Anywhere
  • LoadStorm
  • CloudTest

小结

        本文简单的介绍了下性能测试的基本知识,让未接触过性能测试的朋友有个基本的了解。

开源优测

分享软件测试开源技术、经验、方案的首发平台

[性能测试]性能测试基础_大数据

长按二维码/微信扫描 关注开源优测

QQ群:260407012