您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件测试技术 > 性能测试 > 正文

一篇文章讲清楚什么是性能测试

发表于:2021-04-08 作者:天上有时下牛 来源:CSDN

一、性能测试是什么

性能测试是验证软件系统是否能够达到用户提出的性能指标,同时发现软件系统中存在的性能瓶颈,优化软件,最后起到优化系统的目的。

中国软件评测中心将性能测试概括为三个方面:

•应用在客户端性能的测试

•应用在网络上性能的测试

•应用在服务器端性能的测试

通常情况下,三方面有效、合理的结合,可以达到对系统性能全面的分析和瓶颈的预测。

目前绝大多数应用都是基于网络的分布式应用,我们无法知道用户数量,用户场景的不确定性,导致系统测试时,不仅仅是功能,业务逻辑,接口测试,还要测试系统性能。一个用户没问题,但是用户一旦多了就可能出现各种各样的问题,所以需要进行系统性能测试。

用户数量增加,系统负债增加,进行系统性能测试,知道系统承受的并发用户数量,带宽是否够用,cpu是否够用,内存是否够用,硬盘速度是否跟得上。从服务端来看,测试服务器是否能承载用户多并发,系统是否稳定,从用户角度看响应时间速度。

当然性能测试不单是指用户数量增加的场景,还有各方面的,拿购物网站举例,可以含有以下方面的性能测试内容(不限于此):

•突发大数量用户同时操作

•长时间操作

•弱网下操作(可以在多差的网络下仍继续正常工作)

二、性能测试的目的

1.评估系统的能力:测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,并帮助作出决策。(根据测试结果查看是否符合指标,如果是首个版本,可以作为规格说明书中的指标参考)。

2.识别体系中的弱点:受控的负荷可以被增加到一个极端的水平,并突破它,从而修复体系的瓶颈或薄弱的地方。(找到弱点,在整个产品生命周期中,不断提升,所谓知己知彼)。

3.系统调优:重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能。

4.检测软件中的问题:长时间的测试执行可导致程序发生由于内存泄露引起的失败,揭示程序中的隐含的问题或冲突。(通过内存趋势图,可以预判结果)。

5.验证稳定性(resilience)可靠性(reliability):在一个生产负荷下执行测试一定的时间是评估系统稳定性和可靠性是否满足要求的唯一方法。