你好,我是庄振运。
从这一讲开始我们讨论性能测试。性能测试是一种特殊的软件测试,它的目的是确保软件应用程序在一定的负载流量下运行良好。性能测试是性能分析和性能优化的基础,它的目标是发现和性能相关的各种问题和性能瓶颈,从而进一步去消除错误和性能瓶颈。
由于性能测试本身就有好多种类;加上各种测试之间的界限其实很模糊,这就造成了很多人理解上的混乱。
比如大家在工作讨论时,经常说做性能测试,但对于做什么样的“性能测试”,每个人有不同的看法,而且又经常表达不清。这就造成来交流不畅,甚至是误解,从而严重地影响了工作的速度。我见过很多次因为对性能测试定义和交代不清,造成了老板和员工之间 / 员工和员工之间的理解误差。
性能测试的种类颇多,各自有不同的测试目的、测试环境、负载等等;这里面最重要的是测试目的和负载的大小变化。我们这一讲就一起来分一下类。
性能测试的分类方式
性能测试如何分类呢?我们需要从几个方面来看,包括测试目的、测试环境、负载流量、测试对象、负载数据、黑盒白盒等。
测试目的
测试目的是最重要的方面。大体上有几种目的:
测量服务速度(Speed):确定程序是否能够快速地响应用户的请求,这个服务速度一般包括延迟和吞吐率两个指标。速度通常是应用程序最重要的属性之一,因为运行缓慢的应用程序容易丢失用户。
测量可扩展性(Scalability):确定应用程序是否可以在用户负载和客户流量增大情况下还能正常地运行。
测量稳定性(Stability):确定在各种极端和恶劣环境下,应用程序是否能稳定运行。
测量性能瓶颈(Performance Bottleneck):性能瓶颈是应用程序和系统中的最影响整体性能的因素。瓶颈是指某个资源不足而导致某些负载下的性能降低。一些常见的性能瓶颈是 CPU、内存、网络、存储等。