性能测试基础知识

性能测试基础知识

 

1、软件性能概念

软件性能是软件的一种非功能特性,它关注的不是软件是否能够完成特定的功能,而是在完成该功能时展示出来的及时性。软件的性能是一个很大的概念,覆盖面非常广,对于一个软件系统而言包括了执行效率、资源占用、稳定性、完全性、兼容性、可扩展性、可靠性等等。

 

2、为什么要做性能测试?

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

 

(补充:进行性能测试时,要告诉开发在什么样的场景下发生什么现象,最好提供日志。)

 

 

3、性能指标

响应时间:指系统响应时间,是指客户发出请求到得到响应的整个过程的时间。

tps(事务处理能力)每秒系统处理事务的能力

                                 举例:tps=30:每秒处理事务30个,如果有100个用户,则要分批处理,需要3秒多才能处理完

吞吐量:一次性能测试过程中网络传输数据量的总和,反应带宽情况

请求数:每秒请求数、总请求数

并发数:同时发起请求的用户数量

资源利用率(CPU、内存、IO):cpu:指用户进程与系统进程消耗的CPU时间百分比,长时间情况下,一般可接受上限不超过85%

                                                   内存:内存泄漏,使用系统过程中内存会一直减少直到溢出,内存回收

                                   内存利用率=(1-空闲内存/总内存大小)*100%,一般至少有10%可用内存,内存使用率可接受上限为85%

                                                 IO:磁盘读写,当磁盘读写过于频繁也会影响系统性能

参考博客http://www.cnblogs.com/fnng/archive/2012/08/17/2644878.html

http://www.cnblogs.com/fnng/archive/2012/06/29/2570558.html

 

 

4、性能测试分类

基准测试

指在一定的软件、硬件及网络环境下,模拟一定数量的虚拟用户运行一种或多种业务,将测试结果作为基线数据,在系统调优或系统评测的选择时提供决策数据

 

负载测试

指在一定的软件、硬件及网络环境下,运行一种或多种业务,在不同虚拟用户数量的情况下,测试服务器的性能指标是否在用户要求的范围内,以此确定系统所能承受的最大用户数、最大有效用户数、以及不用户数下的系统响应时间及服务器的资源利用率

 

压力测试

指在一定的软件、硬件及网络环境下,模拟大量的虚拟用户向服务器产生负载,使服务器的资源处于极限状态下并长时间连续运行,以测试服务器在负载情况下是否能稳定工作

 

容量测试

指在一定的软件、硬件及网络环境下,在数据库中构造不同数级别的数据记录,运行一种或多种业务在一定虚拟用户数量的情况下,获取不同数量级别的服务器性能指标,以确定数据库的最佳容量和最大容量

 

可靠性测试

通过给系统加载一定的业务压力的情况下,让应用持续运行一段时间,测试系统在这种条件下是否能够稳定运行。

 

 

5、如何做性能测试

一、测试准备:

1、项目性能调研:了解用户需求,产生调研文档

2、性能需求分析:分析要测试哪些功能(一般是使用频率高的或者是用户量大的功能)

3、性能测试计划:如何做性能测试

                                 做哪些性能测试(基准、性能、压力、负载、容量)

                                 人力安排

                                设备安排

                                进度安排

4、测试脚本设计开发

 

二、测试执行:

1、执行测试脚本

2、监控性能指标

3、调优

 

三、结果分析:

1、分析测试结果

2、输出测试报告

 

 

性能测试工具Loadrunner

主流版本:LR11(有破解)、LR12

安装LR11教程:详见我写的《安装虚拟机win7+LR11教程》

安装LR12教程:http://jingyan.baidu.com/article/3065b3b680a7b2becff8a4cc.html

Virtual User:用户行为模拟器

Controller:性能测试指挥中心

Analysis:分析器,寻找性能瓶颈助手

 

补充:

安装LR11的环境要求

1、不要安装任何杀毒软件,如果安装了杀毒软件,为了方式后期安装LR11出现很多莫名其妙的无力解决的问题,请卸载杀毒软件,最好重装系统,永无后顾之忧。

2、环境要求:winxp或者win7系统,win8以及以上的系统都不支持

最佳环境:winXP

3、一旦安装LR后,很难卸载干净,一般一些安装信息都会写入到注册表中,如果真的要删除,则可以考虑重装系统

注:(1)如果第二点环境要求不符合,也可以安装在win8或以上系统,但是使用过程中会出现很多问题

        (2)如果解决第2点环境问题,可以在VM中安装虚拟机,在此虚拟机中安装win7系统,在此系统中安装LR11。

 

 

思考:

1)在测试环境做还是正式环境做?

应该都可以,要根据实际情况来。

如果在正式环境做性能测试,不会对真实数据产生影响,不会影响客户使用还是可以在生产环境进行性能测试的;

否则要在测试环境做性能测试,需要将测试环境配置的尽量和正式环境一致进行测试,这样可以尽可能的模拟真实环境进行测试。测试环境测试也不会影响正式环境。可以进行各种性能测试操作比如压力、负载等等,产生了数据或者性能下降也没有关系,不会影响到正式环境。

 

2)功能没有做全的时候做 还是功能全部做好了再做?

功能全部做完测完才能做性能测试,这样既不会影响功能测试,也不会在进行性能测试过程中出现bug从而影响测试。

 

3)正式环境和测试环境的区别在哪里?

正式环境:是指正式提供对外服务的,一般会关掉错误报告,打开错误日志。

测试环境:一般是克隆一份正式环境的配置,一个程序在测试环境工作不正常,那么肯

定不能把它发布到生产机上。

 

原文地址:https://www.cnblogs.com/dahujidi/p/7601604.html