leave island

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

1、性能测试的目的

(1)评估当前系统

(2)寻找瓶颈

(3)预测未来瓶颈

2、性能测试的前提:

测试流程概念:单元测试-接口测试-UI测试-安全测试-性能测试

性能测试通常是在测试的最后一步进行的。原因如下:

(1)首先,性能测试本质是模拟用户访问,一个用户做登录操作,在服务器端的压力情况就是用户做登录操作所涉及的请求往服务器发送并获得响应。接口如果需要修改,通常需要更改性能测试脚本,也会影响响应时间

(2)WEB项目举例,UI测试在接口的基础上还涉及了HTMLCSSJS等前端请求,这些请求进行修改肯定会影响响应时间

(3)安全测试包含服务器中间件和接口2个部分,为了满足安全指标往往需要给接口加密,中间件做限制。尤其是对中间件做限制,这对用户响应时间通常有很大的影响

3、性能测试的术语与指标详解:

(1)并发:一种为所有用户在同一时刻做同一操作,主要是为了验证程序或数据库对并发处理能力,另一种为多个用户对被测系统发起了多个请求,这些请求可以是同一种操作,也可以是不同操作,类似于混合场景的概念

(2)响应时间:响应时间反应完成某个业务所需的时间

响应时间网络传输时间(请求)+服务器处理(一层或多层)时间+网络传输时间(响应时间)+页面前端解析渲染时间

3)每秒通过事务数(TPS):指每秒通过的事务数,是直接反映系统性能的指标,该值大时,系统性能比较好,当然每个系统都有他的上限,不可能无限大 

将他以平均事务响应时间进行对比,可以分析事务数量对以响应时间的影响

 4)事务:用户一个或一系列的操作,代表一定的功能,在程序上变现为一段代码区块,所有性能测试其实最终都是围绕着事务展开的,事务代表用户的使用方法和结果,不同的操作组合成不同的事务,不同的事务又能组合成不同的场景 

5)事务请求时间:从这个事务发起到最终处理完毕的所有时间

6)每秒点击数:每秒点击数代表用户每秒向外部服务器提交的http请求,但这里需要注意是提交一个登陆请求对于后端服务器来说,也许是多个请求,所以点击一次不代表就是一个请求

 7)吞吐量/吞吐率(I/O)(Input/Output)(反应服务器处理能力) 吞吐量:指单位时间内系统处理的请求数量 吞吐率:一般指用户在给定的一秒内从服务器获取的数据量,简而言之就是服务器返回的数据量 

(8)思考时间:指用户进行操作时每个请求或操作之间的间隔时间,是为了更加真实的模拟用户的操作场景

(9)资源利用率(服务器)

系统CPU:是处理系统本身占用的资源

系统内存:重点关注是否达到上限

磁盘I/O:与磁盘的交互,重点关注交换频率和磁盘队列长度    

网络I/O:重点关注网络的流量,看是否存在网络带宽的瓶颈 

4、性能测试分类:

1)基准测试:可以在制定的标准下通过测试建立一个性能基准,这样以后当系统的环境参数发生变化后,在进行一次相同标准下的测试,即可看出变化对性能的影响。系统进行基准测试可以在较早的阶段发现性能问题

2)并发测试:可以理解为很多的用户按照预定的场景并发请求某个业务或功能时是否出现并发问题

3)负载测试:可以理解为确定所要测试的业务或系统的负载范围,然后对其进行测试,他的主要目的验证业务或者系统在给定负载条件下的处理能力。此外,还要关注响应时间、每秒通过事务数和其他相关指标

4)压力测试:可以理解为没有预期的性能指标,不断加压,看系统什么时候崩溃,以此来确定系统的瓶颈不能接受的性能拐点,以获取系统的最佳并发数,最大并发数。压力测试也可以看作负载测试的一种,即高负载下的负载测试。负载测试与压力测试的概念并非完全独立,在实际应用中一般二者都是相互结合,相互补充的

5)稳定性测试:建立在负载测试基础上,需要长时间运行,在这段时间内观察系统的出错几率、性能变化趋势等。进而大大减少系统上线后的崩溃的现象。

posted on 2017-11-24 16:42  恒-星  阅读(265)  评论(0编辑  收藏  举报