性能测试

索引帖:性能测试用户模型分析方法

自作多情 提交于 2019-12-31 03:41:49
   索引帖:性能测试用户模型分析方法 基础数据分析   以下图表均取自互联网,本文是在“已经获取所需数据”的前提下,讲解性能测试的一些设计思路。至于如何才能取得这些数据,将在后续的文章中说明。 系统访问量分布   由系统的日访问量分布图,可知系统的访问压力集中在哪个时间段内。系统的压力是在一天中平均分布的,还是集中在某几个更小的时间段内。根据此信息,我们对测试场景的时间进行设计,如从分布图中明显看出每天的大部分访问量集中在9:00~11:00和14:00~16:00两个时段,那么就可以设计2小时内完成一半访问量的测试场景。 用户的平均活跃时间   用户活跃时间,是指用户一次使用系统的时长,可用来指导测试脚本的设计,即每个虚拟用户脚本应该在多长时间内执行完。   由系统访问量分布和用户活跃时间两个数据,可以对系统使用的并发度进行估算。比如已知系统在2个小时内有200访问量,且分布接近于平均,用户的平均活跃时间为30分钟,那么此时间段的并发度应为:200*30/120=50。这里并发度50传递的信息是,在一个用户活跃周期内,总共会有50个用户与服务端进行交互(即相对并发)。也就是说任意时间点,最大的绝对并发可能性是50,当然实际可能远低于此,可以根据业务特点再乘以相应比例进行估算。   在性能测试时,可以依据此数据设计系统高峰期压力的测试场景。比如我们已知,系统压力最大时

性能测试练习

蹲街弑〆低调 提交于 2019-12-29 03:50:05
一.性能测试有几种类型,它们之间什么关系? 性能测试包括:负载测试、压力测试、配置测试、并发测试、容量测试、可靠性测试、失败测试。 负载测试: 通过在被测系统上不断加压,直到性能指标达到极限,例如“响应时间”超过预定指标或某种资源已经达到饱和状态。主要目的是找到系统处理能力的极限。 压力测试(强度测试): 压力测试方法测试系统在一定饱和状态下,例如cpu、内存在饱和使用情况下,系统能够处理的会话能力,以及系统是否会出现错误。主要目的是检查系统处于压力性能下时,应用的表现。 配置测试: 配置测试方法通过对被测系统的软\硬件环境的调整,了解各种不同对系统的性能影响的程度,从而找到系统各项资源的最优分配原则。主要目的是了解各种不同因素对系统性能影响的程度,从而判断出最值得进行的调优操作。 并发测试: 并发测试方法通过模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或其者他性能问题。主要目的是发现系统中可能隐藏的并发访问时的问题。 容量测试: 在一定的软、硬件条件下,在数据库中构造不同数量级的记录数量,通过运行一种或多种业务场景在一定虚拟用户数量的情况下,获取不同数量级别的性能指标,从而得到数据库能够处理的最大会话能力,最大容量等。系统可处理同时在线的最大用户数,通常和数据库有关。 可靠性测试: 在给系统加载一定业务压力的情况下,使系统运行一段时间

性能测试的种类

断了今生、忘了曾经 提交于 2019-12-28 20:45:42
性能测试 性能测试方法是通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求。 负载测试 负载测试方法通过被测系统上不断增加压力,直到性能指标,例如响应时间超过预定指标或某种资源使用已经达到饱和状态。负载测试方法通过”检测--加压--直到性能指标超过预期“的手段,其目的是找到系统处理能力的极限。 压力测试 压力测试方法测试系统在一定饱和状态下,例如cpu,内存等在饱和使用情况下,系统能够处理的会话能力,以及系统是否会出现错误。 配置测试 配置测试方法通过对被测系统的软硬件环境的调整,了解各种不同环境对系统性能影响的程度,从而找到系统各项资源的最优分配原则。 并发测试 并发测试方法通过模拟用户的并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或者其他性能问题。 可靠性测试 可靠性测试方法通过给系统加载一定的业务压力(例如资源在70%~90%的使用率)的情况下,让应用持续运行一段时间,测试系统在这种条件下是否能够稳定运行。 失效恢复测试 失效恢复测试方法是针对有冗余备份 和负载均衡的系统设计的。这种测试方法可以用来检验如果系统局部发生故障,用户是否能够继续使用系统;已经如果这种情况发生,用户将受到多大程度的影响。 来源: https://www.cnblogs.com/huangzhiguo/archive/2009/07/27

性能测试的类型

て烟熏妆下的殇ゞ 提交于 2019-12-28 20:45:10
性能测试的类型 我们在做性能测试的时候一般都是笼统的称为性能测试,其实性能测试分为多个类型:负载测试,压力测试,性能测试,基准测试,并发测试,配置测试,稳定性测试,失效恢复测试。下面就详细说说这些名词之间的区别和特点。 1、负载测试 负载测试是对被测系统不断增加压力(即用户并发数),直至性能指标超过预期或者某项资源使用达到饱和状态(就是加压到系统崩溃)。重点观察系统正常运行的最大值时候的一些数据和资源使用。观察程序、网络、服务器、还是数据库等哪个方面存在瓶颈。 目的:发现系统处理能力的极限。找出问题所在,做这个就是为了发现系统是否还有隐藏的能力。用来改进调优。 2、压力测试 压力测试是系统在一定饱和状态下,例如cpu、内存、磁盘I/O在饱和使用情况下,系统能够处理能力,以及系统是否会出现错误。(可以参考负载测试情况) 目的:该方法通过增加压力,使系统资源使用保持在较高的压力下,检验此时应用的表现,重点在于有误出错信息产生,系统对应用的响应时间等。 3、性能测试 性能测试一般是根据模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求。也可以说是在特定的运行条件下验证系统的能力状态。比如做100个并发,持续10分钟等。查看平均响应时间和TPS是否满足生产的指标或者是设计的指标。评估正常使用的功能。不是破坏性的。   目的

Android性能测试工具Emmagee介绍

孤街浪徒 提交于 2019-12-26 19:47:56
Android性能测试工具Emmagee介绍 Emmagee介绍 Emmagee是监控指定被测应用在使用过程中占用机器的CPU、内存、流量资源的性能测试小工具。 该工具的优势在于如同windows系统性能监视器类似,它提供的是数据采集的功能,而行为则基于用户真实的应用操作 开源地址:https://github.com/NetEase/Emmagee/releases 支持SDK:Android2.2以及以上版本 为什么使用Emmagee? 1 、 开源 2、使用方便 3、可以监控单个应用性能 4、浮窗显示实时展示数据 5、CSV格式保存性能数据,方便转换为其它格式 6、用户自定义采集性能数据频率 7、支持2.2以及以上版本 Emmagee详细功能介绍 1、检测当前时间被测应用占用的CPU使用率以及总体CPU使用量 2、检测当前时间被测应用占用的内存量,以及占用的总体内存百分比,剩余内存量 3、检测应用从启动开始到当前时间消耗的流量数 4、测试数据写入到CSV文件中,同时存储在手机中 5、可以选择开启浮窗功能,浮窗中实时显示被测应用占用性能数据信息 6、在浮窗中可以快速启动或者关闭手机的wifi网络 Emmagee如何使用 ? 首先启动Emmagee,设置采集频率为1秒,从列表中选择360安全卫士,开始测试 1、安装Emmagee应用 apk下载地址:https://github

性能测试知多少---吞吐量

☆樱花仙子☆ 提交于 2019-12-26 02:19:05
我们每天的生活中都在用水用电,我只会关心自己的水管是否有水,水压是否稳定,如果我们把水龙头拧到最大,还是一滴一滴的流水。那我们就要愤怒了,直接找房东问明情况。我们从来没想过去找自来水公司。我们每天都会上网,网速很慢,看个电影很卡,需要等很久才缓冲一个画面,我们打开网页很慢,IE状态条一直50%,那我们就要愤怒了,直接找电信、网通公司问明情况。   我想说以上的情况是正常的,如果你在优酷上看视频,需要缓冲很久。然后,你跟优酷客服打电话;访问博客园网站半天打不开,就跟dudu打电话,那我们如果不是对网络一窍不通的白痴,那一定是脑抽了。其实,我想说明的是,你可能从来不关心一个自来水厂供应多少水,但供应多少水对一个自来厂来说却非常重要。你可能从来不关心一个系统的吞吐量,但吞吐量对一个系统来说却非常重要。 ps:依照个人惯例,纯文字的内容必须配一张淡疼的图片!^_^ 吞吐量   指在一次性能测试过程中网络上传输的数据量的总和。   对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,在容量规划的测试中,吞吐量是一个重点关注的指标,因为它能够说明系统级别的负载能力,另外,在性能调优过程中,吞吐量指标也有重要的价值。如一个大型工厂,他们的生产效率与生产速度很快,一天生产10W吨的货物,结果工厂的运输能力不行,就两辆小型三轮车一天拉2吨的货物,比喻有些夸张

性能测试之吞吐量

人走茶凉 提交于 2019-12-26 02:18:10
我们每天的生活中都在用水用电,我只会关心自己的水管是否有水,水压是否稳定,如果我们把水龙头拧到最大,还是一滴一滴的流水。那我们就要愤怒了,直接找房东问明情况。我们从来没想过去找自来水公司。我们每天都会上网,网速很慢,看个电影很卡,需要等很久才缓冲一个画面,我们打开网页很慢,IE状态条一直50%,那我们就要愤怒了,直接找电信、网通公司问明情况。   我想说以上的情况是正常的,如果你在优酷上看视频,需要缓冲很久。然后,你跟优酷客服打电话;访问博客园网站半天打不开,就跟dudu打电话,那我们如果不是对网络一窍不通的白痴,那一定是脑抽了。其实,我想说明的是,你可能从来不关心一个自来水厂供应多少水,但供应多少水对一个自来厂来说却非常重要。你可能从来不关心一个系统的吞吐量,但吞吐量对一个系统来说却非常重要。 吞吐量   指在一次性能测试过程中网络上传输的数据量的总和。   对于交互式应用来说,吞吐量指标反映的是服务器承受的压力,在容量规划的测试中,吞吐量是一个重点关注的指标,因为它能够说明系统级别的负载能力,另外,在性能调优过程中,吞吐量指标也有重要的价值。如一个大型工厂,他们的生产效率与生产速度很快,一天生产10W吨的货物,结果工厂的运输能力不行,就两辆小型三轮车一天拉2吨的货物,比喻有些夸张,但我想说明的是这个运输能力是整个系统的瓶颈。   提示

系统吞吐量(TPS)、用户并发量、性能测试概念和公式

喜欢而已 提交于 2019-12-26 02:14:18
PS:下面是性能测试的主要概念和计算公式,记录下: 一.系统吞度量要素: 一个系统的吞度量(承压能力)与request对CPU的消耗、外部接口、IO等等紧密关联。 单个reqeust 对CPU消耗越高,外部系统接口、IO影响速度越慢,系统吞吐能力越低,反之越高。 系统吞吐量几个重要参数:QPS(TPS)、并发数、响应时间 QPS(TPS): 每秒钟request/事务 数量 并发数: 系统同时处理的request/事务数 响应时间: 一般取平均响应时间 (很多人经常会把并发数和TPS理解混淆) 理解了上面三个要素的意义之后,就能推算出它们之间的关系: QPS(TPS)= 并发数/平均响应时间 一个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有一个相对极限值,在应用场景访问压力下,只要某 一项达到系统最高值,系统的吞吐量就上不去了,如果压力继续增大,系统的吞吐量反而会下降,原因是系统超负荷工作,上下文切换、内存等等其它消耗导致系统 性能下降。 决定系统响应时间要素 我们做项目要排计划,可以多人同时并发做多项任务,也可以一个人或者多个人串行工作,始终会有一条关键路径,这条路径就是项目的工期。 系统一次调用的响应时间跟项目计划一样,也有一条关键路径,这个关键路径是就是系统影响时间; 关键路径是有CPU运算、IO、外部系统响应等等组成。 二.系统吞吐量评估:

jmeter基础概念

两盒软妹~` 提交于 2019-12-24 21:45:23
从性能工具的原理划分 : Jmeter工具和其他性能工具在原理上完全一致,工具包含4个部分: (1)负载发生器:用于产生负载,通常以多线程或是多进程的方式模拟用户行为。 (2)用户运行器:通常是一个脚本运行引擎,用户运行器附加在线程或进程上,根据脚本要求模拟指定的用户行为。 (3)资源生成器:用于生成测试过程中服务器、负载机的资源数据。 (4)报表生成器:根据测试中霍地的数据生成报表,提供可视化的数据显示方式。 测试计划元件 Test Plan (测试计划) :用来描述一个性能测试,包含与本次性能测试所有相关的功能。也就说本的性能测试的所有内容是于基于一个计划的。 下面看一下一个计划下面都有哪些主要的功能模块(右键单击“测试计划”弹出菜单)。 Threads (Users)线程 用户 虽然有三个添加线程组的选项,名字不一样, 创建之后,其界面是完全一样的。之前的版本只有一个线程组的名字。现在多一个setUp theread Group 与terDown Thread Group 1) setup thread group   一种特殊类型的ThreadGroup的,可用于执行预测试操作。这些线程的行为完全像一个正常的线程组元件。不同的是,这些类型的线程执行测试前进行定期线程组的执行。 2) teardown thread group.   一种特殊类型的ThreadGroup的

[原创]推荐软件测试书籍(不定时更新)

吃可爱长大的小学妹 提交于 2019-12-24 18:47:04
[原创]推荐软件测试书籍(不定时更新) 一 软件测试基础类: 1 《软件测试》 作者: (美)Ron Patton 点评:非常经典软件测试入门书,非常适合初学者或是无测试经验者 二 软件测试提高类 1 《 软件测试的艺术》 https://item.jd.com/10978790.html 点评:软件测试经典之作,可以说是做为软件测试圣经的一本书" 三 Web测试类: 1《Web测试指南》 http://product.china-pub.com/17267#ml 点评:如果你要从事Web测试,此书可以做为Web测试指南书,涉及到Web测试各方面介绍 2 《Web应用测试》 http://product.china-pub.com/24349#ml 点评:WEB测试不可多得的"参考书",虽然现在是移动的天下,但Web测试还是占有很大的市场份额 三 App测试类 1 《移动App测试实战:互联网企业软件测试和质量提升实践》 https://item.jd.com/1639472851.html 点评:通俗易懂的讲解移动App测试相关内容,虽然只是简单介绍,但也算全面 四 自动化测试类: 1《高效软件测试自动化》 http://product.china-pub.com/20352#ml 点评: 深刻理解C#语言如何自动化测试,比较详尽的一本书 2 《腾讯Android自动化测试实战》