性能测试总结(一)---基础理论篇

随着软件行业的快速发展,现代的软件系统越来越复杂,功能越来越多,测试人员除了需要保证基本的功能测试质量,性能也随越来越受到人们的关注。但是一提到性能测试,很多人就直接连想到Loadrunner。认为LR就等于性能测试,其实这是不对的。LR只是性能测试的一个工具,但性能测试不仅仅是LR。本文会从以下几个方面介绍基础的性能测试理论,后续也会持续更新相关文章,尽量理论结合实践,让性能测试学习不在是工具的学习。

目录:

一、 ****什么是软件性能

****二、****不同群体眼中的性能****

三、性能测试类型****

**四、******性能测试应用场景****

五、****性能测试基本概念

六、理发店模型和地铁进站模型

七、做好****性能测试需要掌握的知识

正文:

一、 ****什么是软件性能

  **定义**:软件的性能是软件的一种**非功能特性**,它关注的不是软件是否能够完成特定的功能,而是在完成该功能时展示出来的**及时性**。

由定义可知性能关注的是软件的非功能特性,所以一般来说性能测试介入的时机是在功能测试完成之后。另外,由定义中的及时性可知性能也是一种指标,可以用时间或其它指标来衡量,通常我们会使用某些工具或手段来检测软件的某些指标是否达到了要求,这就是性能测试。

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

二、****不同群体眼中的性能

   不同的人由于人生观、世界观、价值观以及教育背景、知识体系、人生阅历的不同,对于同一事物或问题的看法可能不同。对于软件性能也是如此,不同的人由于视角的不同,所关注的点也可能不同。下面来看看在不同的人群眼中性能分别是什么样的。
  • 用户眼中的性能

image

  • 开发眼中的性能

image

  • 系统管理员眼中的性能

image

  • 测试眼中的性能是什么样的呢?

image

测试人员通常是做为软件质量控制的一个角色,不仅仅是找bug,需要对整个软件的质量负责,性能也属于质量的一部分,因此测试人员眼中的性能应该是全面的,考虑的东西也需要全面:

          1、测试人员需要考虑全面的性能,包括用户、开发、管理员等各个视角的性能。

          2、测试人员在做性能测试时除开要关注表面的现象如响应时间,也需要关注本质,比如用户看不到的服务器资料利用率,架构设计是否合理?代码是否合理等言方方面面。

三、性能测试类型****

  1. 基准测试:在给系统施加较低压力时,查看系统的运行状况并记录相关数做为基础参考
  2. 负载测试:是指对系统不断地增加压力或增加一定压力下的持续时间,直到系统的某项或多项性能指标达到安全临界值,例如某种资源已经达到饱和状态等 。
  3. 压力测试:压力测试是评估系统处于或超过预期负载时系统的运行情况,关注点在于系统在峰值负载或超出最大载荷情况下的处理能力。
  4. 稳定性测试:在给系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定。
  5. 并发测试:测试多个用户同时访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题,

四、****性能测试应用场景(领域)

1、性能测试应用场景(领域)主要有:能力验证、规划能力、性能调优、缺陷发现、性能基准比较,下表简单介绍和对比了这几个场景的各自用途和特点:

image.png

image.png

2、通常在某个性能场景(领域)中需要联合使用多种性能测试方法一起进行性能测试,下表为性能测试应用领域与测试方法关联:

image.png

五、****性能测试基本概念

 1、响应时间

a)定义:从用户发送一个请求到用户接收到服务器返回的响应数据这段时间就是响应时间

b) 关键路径:下图为一次http请求经过的路径,请求会经过网络发送到web服务器进行处理,如果需要操作DB,再由网络转发到数据库进行处理,然后返回值给web服务器,web服务器最后把结果数据通过网络返回给客户端。

image

c) 计算方法:Response time = (N1+N2+N3+N4)+ (A1+A2+a3),即:(网络时间 + 应用程序处理时间)

d) 响应时间-负载对应关系:

image

图中拐点说明:

1、响应时间突然增加

2、意味着系统的一种或多种资源利用达到的极限

3、通常可以利用拐点来进行性能测试分析与定位

  2、吞吐量

a)定义:单位时间内系统处理的客户端请求的数量

b)计算单位:一般使用请求数/秒做为吞吐量的单位,出可以使用 页面数/秒表表示。

另外,从业务角度来说也可以使用 访问人数 /天 或 页面访问量/天 做为单位。

c)计算方法:Throughput = (number of requests) / (total time).

d吞吐量-负载对应关系:

image

图中拐点说明:

1、吞吐量逐渐达到饱和

2、意味着系统的一种或多种资源利用达到的极限

3、通常可以利用拐点来进行性能测试分析与定位

  3、并发数:

并发用户数:某一物理时刻同时向系统提交请求的用户数,提交的请求可能是同一个场景或功能,也可以是不同场景或功能。

在线用户数:某段时间内访问系统的用户数,这些用户并不一定同时向系统提交请求

系统用户数:系统注册的总用户数据

    三者之间的关系:系统用户数 >= 在线用户数 >= 并发用户数

  4、资源利用率

a) 定义:指的是对不同系统资源的使用程度,通常以占用最大值的百分比来衡量

b) 通常需要关注的服务器资源如下:

1、CPU:就像人的大脑,主要负责相关事情的判断以及实际处理的机制

2、内存:大脑中的记忆块区,将眼睛,皮肤等收集到的信息记录起来的地方,以供cpu进行判断,但是是临时的,访问速度快,如果关机或断电这里的数据会消失。

3、磁盘IO:大脑中的记忆区块,将重要的数据保存起来(永久保存,关机或断电不会丢失,速度慢),以便将来再次使用这些数据。

4、网络:

c)资源利用-负载对应关系:

image

图中拐点说明:

1、服务器某荐资源使用逐渐达到饱和

2、通常可以利用拐点来进行性能测试分析与定位

5、其它常用概念:

a) TPS:Transactions Per Second,每秒事务数

b) 思考时间:用户每个操作后的暂停时间,或者叫操作之间的间隔时间,此时间内是不对服务器产生压力的

c) 点击数:每秒钟用户向WEB服务器提交的HTTP请求数。这个指标是WEB应用特有的一个指标:WEB应用是"请求-响应"模式,用户发出一次申请,服务器就要处理一次,所以点击是WEB应用能够处理的交易的最小单位。如果把每次点击定义为一个交易,点击率和TPS就是一个概念。容易看出,点击率越大,对服务器的压力越大。点击率只是一个性能参考指标,重要的是分析点击时产生的影响。需要注意的是,这里的点击并非指鼠标的一次单击操作,因为在一次单击操作中,客户端可能向服务器发出多个HTTP请求.

d)PV:访问一个URL,产生一个PV(Page View,页面访问量),每日每个网站的总PV量是形容一个 网站规模的重要指标。

UV:作为一个独立的用户,访问站点的所有页面均算作一个UV(Unique Visitor,用户访问)

六、理发店模型和曲线拐点模型

上面介绍了很多性能测试中的基本概念,比较抽象,可以通过性能测试理发店模型地铁进站模型来帮忙我们更好的理解这些概念。这里不做详细介绍了,需要的可直接查看原文。

七、做好****性能测试需要掌握的知识:

  • 掌握一门编程语言
  • 掌握计算机原理和操作系统知识
  • 良好的网络基础
  • 掌握数据库知识
  • 中间件(apache,tomcat)
  • 常用抓包工具
  • 性能测试工具
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,222评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,455评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,720评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,568评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,696评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,879评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,028评论 3 409
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,773评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,220评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,550评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,697评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,360评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,002评论 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,782评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,010评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,433评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,587评论 2 350

推荐阅读更多精彩内容

  • 目录:一、 什么是软件性能二、不同群体眼中的性能三、性能测试类型四、性能测试应用场景五、性能测试基本概念六、理发店...
    在暴风雨中逆袭阅读 442评论 0 1
  • 随着软件行业的快速发展,现代的软件系统越来越复杂,功能越来越多,测试人员除了需要保证基本的功能测试质量,性能也随越...
    James黄杰阅读 605评论 2 4
  • 什么是性能测试? 指测试系统在一定负荷下,系统的响应时间、吞吐量、稳定性、资源使用率等性能指标。 实际项目中...
    测试小懒阅读 240评论 0 0
  • 第一章 性能测试:实质上是利用工具去模拟大量用户操作来验证系统能够承受的负载情况,找出潜在的性能问题分析并解决。 ...
    ottol阅读 575评论 1 4
  • 性能测试基础理论 1.什么是性能测试? 答案:系统在一定压力下,通过模拟生产环境运行的业务压力和使用场景组合,查看...
    许小小晴阅读 784评论 0 1