zoukankan      html  css  js  c++  java
  • 性能测试总结与分享材料

    开篇语

       作为一个测试人员,专门挖掘别人缺陷的人,手里没有几把铲子,恐怕干起活来不是那么利索吧。俗话都有说,工欲善其事,必先利其器。这里我就通过一个工具LoadRunner的基本使用,给大家分享下性能测试的小小心得体会。

    性能测试到底是什么?

      我认为性能测试其实是我们对被测系统的一种质量要求。一辆车可以跑是功能,要跑得多快,能跑多少年还能跑,这就是车子的性能。好吧,既然是一种要求,那么有可能有很多系统是不需要做性能测试的,如果要测试的话,肯定需要一些性能指标,这些指标下面会略略描述,其实就是我们对系统的要求要量化的意思。

    性能测试要测什么?

      性能测试不是功能测试,不需要所有功能都测试,只测试关键位置。如小车的发动机,防撞能力,并不会去关心椅子舒不舒服。再说我们的测试系统,要测试什么,首先我们需要分析我们的系统数据流是怎样子的,程序的架构是怎样子的才能分析出关键位置!

    我们的程序架构都是什么样子的呢?

      从我们用户使用的角度来看,无非是“浏览器或app”---》“服务器”---》“浏览器或app”,

      从HTTP交互上看,专业一点的人会说是如下图描述的:

      从程序的部署上看,其实大概是如下图描述这样子的:

    (题外知识点)WEB服务器与应用服务器是什么?

      (百度百科)通俗的讲,Web服务器传送(serves)页面使浏览器可以浏览,然而应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。确切一点,你可以说:Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic)。

      常见WEB服务器:Apache Nginx IIS

      常见应用服务器:Apache的Tomcat、IBM的websphere、Caucho Technology的Resin、Macromedia的JRun、NEC WebOTX Application Server、JBoss Application Server、BEA的WebLogic等

      我的理解是,web服务器其实就是做负载均衡的一个小插件,而应用服务器就是部署解析应用程序的一个容器。很多应用服务器都自带有web服务器功能,根本不用额外部署web服务器,同样可以工作。

    性能测试分类

    • 负载测试:强调处理能力,测试服务器的性能指标是否在用户的要求范围内。

    • 压力测试:强调在极端情况下的稳定性。

    • 容量测试:关心how much。

    • 并发测试:通过模拟多个用户并发操作,测试是否存在死锁,数据错误等故障。

    • 配置测试:

    • 基准测试:

    性能指标

    • 响应时间:反映完成某个业务所需要的时间。 

    • 吞吐量(TPS,每秒事务数):反映单位时间内能够处理的事务数目。

    • 服务器资源占用:CPU占用率,内存使用率,查询Cache命中率等。

    (必须保证<5s,满意<2s<可以接受,略有不满<5s,无法接受>10s) 

      举个例子,一般指标有下面说法:  

      1.HP Web Tours必须能够处理10家旅行社的并发操作

      2.HP Web Tours必须能够处理10个并发操作的机票预订操作,且响应时间不能超过90秒。

      3.HP Web Tours必须能够处理10家旅行社的并发航班路线查看操作,且响应时间不能超过120秒。

      4.HP Web Tours必须能够处理10家旅行社的并发登录和注销操作,且响应时间不能超过10秒。

    性能测试基本流程

      从一张图展开我们对性能测试基本流程的认识

    LoadRunner 工具使用流程

      下面,从工具入手,简单的介绍下性能测试的一个实际测试过程,各位读友觉得肤浅勿喷

    前提:安装性能测试工具LoadRunner

     安装文档见 《LoadRunner 11 安装破解

     LR的使用步骤如下图:

    对应上图,LR这工具主要由三个重要部分组成:Virtual User Generator,Controller,Analysis,下面的实际操作也是分别在这三个组件上面进行展开。

    • Virtual User Generator:录制用户业务流程并创建自动化性能测试脚本。

    • Controller:组织,驱动,管理并监控负载测试。

    • Load Generator:通过运行Vuser产生负载。

    • Analysis:用于查看,剖析和比较性能结果。

    ********************废话一箩筐,分享一下实践案例********************

    【实例演示1-LR自带实例】

    【实例演示2-微信指令礼包活动】

    【实例演示3-游币服务器接口脚本】

    【实例演示4-竞拍压测报告】


    ***微信扫一扫,关注“python测试开发圈”,了解更多测试教程!***
  • 相关阅读:
    Oracle EBS—PL/SQL环境初始化之 fnd_global.apps_initialize
    fnd_profile.value的用法
    FND_MESSAGE 消息提示详解
    FORM触发器执行顺序
    大数据实战精英+架构师班 ④ 期
    .Net Core3.0 WebApi 十五:使用Serilog替换掉Log4j
    .Net Core3.0 WebApi 十四:基于AOP的切面redis缓存
    .Net Core3.0 WebApi 十三:自定义返回Json大小写格式
    .Net Core3.0 WebApi 十二:自定义全局消息返回过滤中间件
    .Net Core3.0 WebApi 十一:基于Log4j的全局异常处理
  • 原文地址:https://www.cnblogs.com/guanfuchang/p/6019911.html
Copyright © 2011-2022 走看看