什么是性能测试?
性能测试是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,优化软件,最后起到优化系统的目的。
在产品上线前,我们无法知道用户数量,而且用户场景也存在不确定性,一旦用户多了就可能整出各种幺蛾子,所以需要进行系统性能测试。性能测试可以告诉我们用户数量增加、系统负载增加时,系统能承受的并发用户数量,以及带宽是否够用、cpu是否够用、内存是否够用、硬盘速度是否跟得上等问题。
性能测试测什么?
性能测试的类型和划分网上有很多定义,我这取比较常见的几个
负载测试(Load Testing):负载测试主要测试软件系统在不同负载下,性能指标是否符合预定指标,譬如在一定负载时,系统支持多少并发用户数,软件请求出错率等。
压力测试(Stress Testing):压力测试是指在被测系统在一定饱和状态下,例如CPU、内存等在饱和使用情况下,系统能够处理的会话能力。说人话就是看看在极端情况下系统还能不能转得起来。
容量测试(Volume Testing):确定系统承受量,譬如系统用户数,存储量,最多处理的数据流量等。
作为产品需要关注的性能点有哪些?
为了安稳端好产品经理的饭碗,我们需要关注这些性能点:
系统处理一个请求或一个任务耗时多少?
系统最多支持多少用户访问、系统业务处理量是多少?
系统性能可能存在的瓶颈在哪里?
系统能否支持7×24小时的业务访问?
性能测试的常见指标有哪些?
上面叨叨了这么多,大家对性能测试和需要关注的内容应该有所了解了,那么作为产品,我们怎么对性能测试进行验收呢?为了防止被忽悠,这里我们需要了解一些性能的关键指标:
外部指标
吞吐量:每秒钟系统能够处理的请求数、任务数。
响应时间:服务处理一个请求或一个任务的耗时。
错误率:一批请求中结果出错的请求所占比例。
内部指标
从服务器的角度看,性能测试主要关注CPU、内存、服务器负载、网络、磁盘IO等。
由于我们是只用指手画脚,不用自己操刀的产品经理,我们只需要重点关注外部指标就可以了。接下来我们学习这些外部指标。
