理解性能测试:概念、指标与实践手机性能测试「理解性能测试:概念、指标与实践」

   日期:2025-02-08    作者:5suqa 移动:http://fswenzheng.xhstdz.com/mobile/quote/1857.html

性能测试的概述

性能:百度百科定义:器物的性质与效用。

生活中:买手机,买电脑,买车 –》 性能好:快(时间短)、资源

软件的性能:软件在允许的范围内使用过程中的反应的速度(时间,消耗的资源的情况等等。

性能测试:是通过自动化测试工具模拟多种正常,峰值,以及异常的负载情况下对系统各项性能指标进行的测试。负载测试、压力测试、容量测试都属于性能测试。

负载测试:确定各种负载下系统的性能,目标是测试负载逐渐增加时各项指标的变化。

压力测试:是通过确定一个系统的瓶颈值或者不能接受的性能点,并且获取提供最大服务的测试。也叫极限测试。

容量测试:在可接受性能范围内,最大的负载情况下的测试。

为什么要做性能测试

   应用程序是否满足用户性能的需求

   应用程序在满足能够预期的用户负载的情况是否有盈余的能力

   应用程序在预期或者非预期的用户负载下,运行是否稳定

   应用程序能够确保用户在使用软件的时候有比较好的性能体验。

性能的问题根源

多平台,超多服务器,异构系统,多应用并行,数千个网站同时工作,这个过程中特别容易出现交叉故障点。

误区:提高一些硬件配置,性能就变好了,优化了,所以不用做性能测试。

错误:只是临时解决了问题,根本问题没有解决。

影响性能的因素有哪些

   硬件环境

软件本身(算法逻辑,数据,中间件

网络带宽

软件环境

性能的评定的标准:性能指标

     响应时间:指的是从客户端发出请求开始,到接收到服务器的响应,并且看到响应的内容为止,这个时间段,称为响应时间。

     响应时间=网络传输的时间+服务器的处理时间+浏览器解析呈现的时间

         弱化网络传输时间和浏览器解析的时间

  1. 前期测试建议在局域网测试
  2. 性能测试建议一定要有独立的测试环境(测试环境必须要进行数据初始化)。
  3. 在晚上测试。

用户数

    在线数:在软件上,不一定在操作

    并发数:在软件上,并且在操作。(特定的时间点或者时间段,操作不一定相同

    在线数  >=并发数

实际需求 –》测试用例

  1. 测试500 登录的性能》在线数 500,并发没有要求;一个线程组实现或者多个线程实现
  2. 测试500人并发登录的性能》在线数500,并发数500;实际测试,建议一个线程组实现,如果想要多个线程组,要进行设置
  3. 测试300人并发登录的性能,同时有200人正在注册500,并发数 500

注册和登录在不同的线程组设置,还要进行并发设置

   资源的利用率:cpu 内存 磁盘 网络

   吞吐量:处理事务的总数据量

   吞吐率:单位时间内处理的数量

   点击量:点击数量

   点击率:单位时间内点击的次数

     吞吐量、吞吐率、点击量、点击率 都是从软件的处理能力反馈性能的。

例如:软件的响应时间是1秒,所以性能很好,判断正误

错误,太片面,其它的性能指标不清楚,比如:只有一个用户使用

软件性能是否达标:依据是用户的性能需求。

不同的角度出发,不同的系统平台,对性能的要求不一样,关注的指标也不同。

何时进行性能测试

一般都是在功能测试的中后期进行,性能测试依赖于功能测试的。性能测试一定要独立的测试环境,并且测试环境必须进行用户数据的初始化。

性能测试的过程

前期准备(功能稳定,组建团队

选择合适的测试工具(loadrunner 商用型、jmeter (开源版)、自研的(loadspace

性能测试的计划方案(需求分析,计划,策略,资源

性能测试的实现(准备测试环境—> 设计场景 – > 编写测试用例 – > 辅助工具

性能测试的执行(工具执行脚本 – > 记录结果

性能调优分析 – 》 回归测试

性能测试报告

    要测试的目的:本次性能测试预期要达到的性能要求

    测试概要的描述:结构,人员,环境,场景等等(重点,过程简介。

    测试结果和数据

    测试结论

Jmeter

   基于java开发的开源的测试工具,轻量级

   性能测试

   接口测试

   支持多种协议

Jmeter 的组成

   性能测试的原理:基于协议,用工具模拟实际操作(发送多个请求,并且收集测试数据,生成测试报告。

   负载发生器:产生负载,产生压力,模拟用户行为

   用户生成器:脚本运行的引擎

   资源生成器:生成测试过程中服务器的资源数据(收集测试数据

   报表生成器:根据测试中获取的数据,生成报表,提供可视化显示方式

Jmeter 环境搭建

  1. 基于java,运行的时候需要java环境,JDK,要配置环境变量(系统变量

Java 的环境: JDK 软件开发工具包 、 jre运行环境、jvm (java的虚拟机)

Jdk配置环境变量: (系统变量,新建)  JAVAHOME: C:Program FilesJavajdk1.8.0_111

                  PATH: %JAVAHOME%bin

(系统变量,新建)CLASSPATH: .;%JAVAHOME%lib;%JAVAHOME%lib ools.jar

验证:cmd 命令窗口,输入 java 或者 java –version

  1. jmeter 是免安装模式,需要进行环境变量配置(系统变量

(系统变量,新建)JMETER_HOME: D:apache-jmeter-5.2.1

Path:%JMETER_HOME%bin

CLASSPATH: ;%JMETER_HOME%libextApacheJMeter_core.jar;%JMETER_HOME%libjorphan.jar;

验证:cmd 命令 , jmeter  -v 或者 jmeter

  1. jmeter 启动
  1. 命令启动: jmeter , 启动的是 gui 模式,供制定测试计划和调试就脚本
  2. 批处理文件启动

汉化: optinons à选择语言—》中文 ,退出重新登录后,又变成英文

       如果需要永久汉化,修改配置文件 jmeter.properties

Jmeter 常见的测试框架

测试计划:启动jmeter,就会 有一个默认的计划,这个测试计划包含了本次测试需要的所有的功能。

线程(用户:一个线程表示一个模拟用户

    线程组(主线程组,核心:需要进行性能测试的内容放在其中,不能为空

    Setup 线程组:初始化(准备部分)内容,可以没有;如果有,一定是最先执行的。

    Teardown 线程组:收尾的内容,可以没有

    线程属性:线程数 == 》用户数

Ramp –up :虚拟用户启动的实际,即用户开始发送请求的时间

    循环次数:具体的次数

              永远,一定要设置持续时间,不然无法正常结束。

     取样器:测试对象及测试内容,基于线程,即要模拟的动作,就是需要模拟的请求。一个取样器就放一个请求。Jmeter下支持多个请求可以一起发送,支持很多种协议。

     取样器中:协议、协议方法、服务器的IP,测试的URL地址,端口号等等。

   监听器:用来查看测试结果数据的,图形化显示,列表显示,常见的监听器

         查看结果树:同时查看请求和响应的信息,绿色表示测试地址畅通,不代表测试是成功的,红色表示异常。

汇总报告:汇总请求发送的情况

图形结果:图形化展示

表格显示展示:可以查看启动时间(starttime

请求响应页面有乱码出现,没有做编码处理,修改配置文件

修改后

汇总报告和聚合报告中各项指标项说明

注意:平均响应时间单位是 毫秒


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号