# 性能测试小知识点(我的小笔记)

# 性能测试小工具

弱网测试(fiddler):fiddler是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,默认端口:8888

ADB(Android debug bridge):安卓调试工具,默认端口:5037

devices三种状态

1、device

2、offline

3、no device

Monkey:是Android附带的工具,可以运行在模拟器或实际设备中;它向系统发送伪随机流(按键输入,触摸屏。。。)实现对正在开发的应用程序进行压力测试

DDMC(内存是否有泄漏):是Android开发环境中的Dalvik虚拟机调试监控服务,通过ddmc可以看到目标机器运行的进程,线程情况,帮助开发和测试人员调试安卓程序

GT(随身调):是APP的随身调测平台,他是直接运行在手机上的‘集成调测环境’

# 小小知识点

性能操作:通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试

负载测试和压力测试都属于性能测试

测试计划:例:

1、测试什么?

2、谁测试:jmeter-http sample

3、期待的结果:监听

4、如何判断结果对不对:断言

5、什么时候测试:调度

6:总结

如何区分软件是功能自动化(0-1)还是性能自动化(1-N):?-?

selenium:功能UI界面自动化

soapUI:功能接口自动化

LR/Jmeter:功能+性能+接口自动化

# LR(LoadRunner)

LR(LoadRunner):是预测系统行为和性能的负载测试工具,通过以模拟上千万用户实施并发负载及实现性能监测的方式来确认和查找问题与瓶颈;可以最大限度的缩短测试时间,优化性能和加速应用系统的发布周期

LR测试流程

指定性能测试方案-》录制(开发)测试脚本:选择协议-》设计测试场景-》执行测试场景-》监控测试场景-》分析测试结果

LR事务:就是一个计时标识,通常事务时间所反映的是一个操作过程的相应时间

使用事务的原因

1、事务是LR度量系统性能指标的唯一手段

2、通常事务计时实现了不同压力负载下的指标对比

3、通过事务计时可以帮助定位性能瓶颈

添加事务(事务点)的方法

1、录制时插入

2、维护脚本是操作

LR集合点(只能向Action部分添加集合):在需要测试并发前,所有虚拟用户等待和集合的位置

注意:集合点要在事务之前

LR参数化:针对脚本中的某些常量,定义一个或者多个包含数据源的参数,达到模拟多用户真实使用环境的目的

目的:

1、模拟更真实的用户使用环境

2、有些被测应用系统不允许用同一个账号多次登入

参数化过程:

1、确定需要参数化的常量

2、准备参数化数据

3、对脚本进行参数化

补充

IP欺骗:指行动产生的IP数据包为伪造的源IP地址,以便冒充其他系统或发件人的身份

目的:增加访问频率和访问量,以达到压力测试的效果;通过调用不同的IP,可大程度上的模拟实际使用中多IP访问和测试服务器均衡能力

# 场景分析

(迭代运行,只迭代action部分)

手工场景:自行设置虚拟用户的变化,通过设计用户的增加和减少的过程,来模拟真实的用户请求模拟,完成负载的生成;

手工场景:“定量型”性能测试,掌握负载的变化过程中系统各个组件的变化情况,定位性能的瓶颈并了解系统的处理能力,一般在负载测试和压力测试中应用

核心:设置‘用户负载方式’

目标场景:设置一个运行目标,通过controller的auto load功能进行自动化负载,如果测试的结果达到目标,则说明系统的性能符合测试要求,否则就提示无法达到目标;

目标场景:“定性型”性能测试,只关心最后性能测试的结论是否符合性能需求,常常用在验收测试的场合

查看的5种类型:

virtual users:虚拟用户数,检验被测系统所需的用户数

hits per second:每秒点击量,每秒向服务器的请求数

transactions per second:可以选择一个在脚本里面已经定义好的事务,每秒事务数,反应系统处理能力

transactions response time:事务反应时间

pages per minute:每分钟页面刷新的次数

性能指标

LR性能运行监控指标

每秒事务数

平均事务响应时间

吞吐量:单位时间成功传送数据的数量

每秒点击量:客户端产生的每秒请求数

Windows系统资源

图表分析

事务平均响应时间

可以分析测试场景运行期间应用系统的性能走向