性能测试总结与分享材料

开篇语

   作为一个测试人员,专门挖掘别人缺陷的人,手里没有几把铲子,恐怕干起活来不是那么利索吧。俗话都有说,工欲善其事,必先利其器。这里我就通过一个工具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测试开发圈”,了解更多测试教程!***
posted @ 2016-11-01 16:29  鲨鱼逛大街  阅读(919)  评论(0编辑  收藏  举报