性能测试的基本概念资料
- 格式:ppt
- 大小:499.00 KB
- 文档页数:49


性能测试概述性能测试概述软件性能:软件质量属性中的“效率”特性,如时间特性(请求响应时间)、资源特性(消耗服务器资源)等⼀、性能测试概念1、性能测试:通过⾃动化的测试⼯具模拟不同的场景(正常、负载等)来对系统的各项性能指标进⾏测试。
2、性能测试⽬的:评估当前系统能⼒寻找性能瓶颈,优化性能评估软件是否能够满⾜未来需要3、性能与功能的差异从⽬标来看:功能关注产品是否符合功能需求规格,性能关注产品是否满⾜业务需求场景从关系上看:功能与性能相辅相成;在项⽬中,先进⾏功能测试,再进⾏性能测试⼆、性能测试指标1、响应时间:指⽤户从客户端发起⼀个请求开始,到服务端响应的整个过程所耗费的时间2、并发量:系统同时接收的请求数3、吞吐量:单位时间内处理的请求数量,直接体现系统的承载能⼒(TPS:每秒事务数,事务对应⼀个或多个接⼝请求 QPS:每秒查询数,查询对应单个接⼝请求)4、错误率:系统在负载情况下,业务失败的概率。
5、资源利⽤率:客户机系统各种硬件资源的使⽤情况三、性能测试策略1、基准测试针对单⽤户进⾏的业务场景测试,⽬标是获取单⽤户运⾏时的各项性能指标,从⽽建⽴起⼀个已知的性能⽔平⽤于对之后软硬件变化后的性能进⾏对⽐。
为多⽤户并发测试和复杂综合场景测试等性能分析提供依据识别系统或环境变更对于性能响应带来的影响为评价系统优化前后的性能提供参考指标2、负载测试通过不断提⾼系统负载,测试系统性能的变化,并最终确定在满⾜系统性能指标的前提下,系统所能承受的最⼤负载量。
负载:服务器接收的请求数量,请求越多,负载越⾼。
最优负载:对外最⼤负载:对内注意:负载测试的关注重点是逐步增加压⼒3、稳定性测试服务器稳定运⾏时(正常负载)进⾏的长时间测试(⼀天、⼀周等),确保服务器能满⾜线上业务需求。
四、性能测试流程1、性能需求分析:关注系统对特定业务场景的满⾜程度熟悉被测系统:业务功能、技术架构明确性能测试内容:从业务⾓度:确定关键业务(使⽤频率较⾼的业务)从技术⾓度:确定占⽤CPU、内存等资源较多的业务确定测试策略确定性能测试指标⽆明确指标:和类似系统进⾏对⽐有明确指标:平均响应时间⼩于100ms等2、性能测试计划及⽅案项⽬背景:项⽬的基本描述测试⽬的:项⽬需要满⾜的性能指标测试范围:确定需要测试的业务测试策略:基准-负载-稳定性风险控制:测试过程出现问题时的响应办法交付清单:测试计划、脚本,缺陷统计和性能测试报告进度与分⼯:各阶段的事务安排3、性能测试⽤例设计参考功能,区别在于期望,由⽬标功能点改为性能指标4、建⽴测试环境包括软、硬件及⽹络环境5、执⾏测试脚本6、性能测试监控执⾏测试脚本同时对各性能指标进⾏监控7、性能分析和调优8、性能测试报告。
第1章测试的基础知识1.1 知识要点1.1.1测试的基本概念1.什么是测量、计量、试验和测试?测量是指以确定被测对象值为目的的全部操作;计量是指实现单位统一和量值准确可靠的测量;试验是对被研究对象或系统进行实验性研究的过程,通常是将被研究对象或系统置于某种特定的或人为构建的环境条件下,通过实验数据来探讨被研究对象性能的过程;测试是人们认识客观事物的方法,是具有试验性质的测量,是测量和试验的综合,是依靠一定的科学技术手段定量地获取某种研究对象原始信息的过程。
2.什么是信息和信号?对于信息,一般可理解为消息、情报或知识,从物理学观点出发来考虑,信息不是物质,也不具备能量,但它却是物质所固有的,是其客观存在或运动状态的特征。
因此,可以理解为:信息是事物运动的状态和方式。
把传输信息的载体称为信号,信息蕴涵于信号之中,信号是物理性的,含有特定的信息,易于被测得或感知,易于被传输,是物质,具有能量。
人类获取信息需要借助信号的传播,信号的变化则反映了所携带信息的变化。
3.测试工作的任务是什么?测试工作就是信号的获取、加工、处理、显示记录及分析的过程。
测试工作的基本任务是通过测试手段,对研究对象中有关信息量作出比较客观、准确的描述,使人们对其有一个恰当的全面的认识,并能达到进一步改造和控制研究对象的目的,进一步提高认识自然改造自然的能力。
测试工作中的一项艰巨任务是要从复杂的信号中提取有用的信号或从含有干扰的信号中提取有用的信息。
4.测试有什么作用?人类从事的社会生产、经济交往和科学研究活动总是与测试技术息息相关。
首先,测试是人类认识客观世界的手段之一,是科学研究的基本方法。
科学的基本目的在于客观地描述自然界,科学定律是定量的定律,科学探索离不开测试技术,用定量关系和数学语言来表达科学规律和理论也需要测试技术,验证科学理论和规律的正确性同样需要测试技术。
事实上,科学技术领域内,许多新的科学发现与技术发明往往是以测试技术的发展为基础的,可以认为,测试技术能达到的水平,在很大程度上决定了科学技术发展水平。
任务名称:测试的基本概念一、什么是测试?测试是软件开发过程中的一项重要工作,用于检查和评估软件系统或应用程序的质量和性能。
测试通过运行程序来检测错误,评估系统的功能和符合性,并确保系统的稳定性和可靠性。
二、测试的目的测试的主要目的是发现和修复软件系统中的错误和缺陷。
通过测试,可以确保软件系统满足用户需求,并且能够正常工作。
此外,测试还可以评估系统的性能,如响应时间、吞吐量和负载能力。
三、测试的类型1. 功能测试功能测试是测试系统功能是否按照要求正常工作。
测试人员基于系统的需求文档和规格说明书,设计测试用例来验证每个功能点的正确性和完整性。
功能测试可以分为黑盒测试和白盒测试。
黑盒测试不考虑系统的内部结构和代码实现,只关注系统功能的输入和输出。
而白盒测试则基于系统的内部结构和代码逻辑来设计测试用例。
2. 性能测试性能测试用于评估系统在不同负载下的性能表现。
通过模拟多种负载情况,测试人员可以评估系统在高负载下的响应时间、吞吐量和资源消耗等指标。
性能测试可以分为负载测试、压力测试和容量测试。
负载测试是模拟多用户并发访问系统,测试系统的性能瓶颈。
压力测试则是通过逐渐增加负载,测试系统在超过正常工作量时的表现。
容量测试则是评估系统能够处理的最大负载。
安全测试旨在评估系统对各种恶意攻击和威胁的防护能力。
测试人员通过模拟攻击场景,检测系统的弱点和漏洞,并提出修复建议。
安全测试可以分为网络安全测试、应用程序安全测试和数据安全测试等。
网络安全测试检测系统的网络接口和通信是否存在安全风险。
应用程序安全测试则评估系统的代码和逻辑是否容易受到攻击。
数据安全测试则关注系统中用户数据的保护和隐私安全。
4. 兼容性测试兼容性测试用于验证系统在不同硬件、操作系统和软件环境下的兼容性。
通过测试系统在各种环境下的表现,可以确保系统在不同平台上正常工作。
兼容性测试可以分为硬件兼容性测试、操作系统兼容性测试和浏览器兼容性测试等。
硬件兼容性测试验证系统在不同硬件配置下的兼容性。
系统吞吐量(TPS)、⽤户并发量、性能测试概念和公式PS:下⾯是性能测试的主要概念和计算公式,记录下:⼀.系统吞度量要素:⼀个系统的吞度量(承压能⼒)与request对CPU的消耗、外部接⼝、IO等等紧密关联。
单个reqeust 对CPU消耗越⾼,外部系统接⼝、IO影响速度越慢,系统吞吐能⼒越低,反之越⾼。
系统吞吐量⼏个重要参数:QPS(TPS)、并发数、响应时间QPS:每秒查询数TPS:每秒事务数HPS:每秒HTTP请求数并发数:系统同时处理的request/事务数响应时间:⼀般取平均响应时间(很多⼈经常会把并发数和TPS理解混淆)理解了上⾯三个要素的意义之后,就能推算出它们之间的关系:QPS(TPS)= 并发数/平均响应时间⼀个系统吞吐量通常由QPS(TPS)、并发数两个因素决定,每套系统这两个值都有⼀个相对极限值,在应⽤场景访问压⼒下,只要某⼀项达到系统最⾼值,系统的吞吐量就上不去了,如果压⼒继续增⼤,系统的吞吐量反⽽会下降,原因是系统超负荷⼯作,上下⽂切换、内存等等其它消耗导致系统性能下降。
决定系统响应时间要素我们做项⽬要排计划,可以多⼈同时并发做多项任务,也可以⼀个⼈或者多个⼈串⾏⼯作,始终会有⼀条关键路径,这条路径就是项⽬的⼯期。
系统⼀次调⽤的响应时间跟项⽬计划⼀样,也有⼀条关键路径,这个关键路径是就是系统影响时间;关键路径是有CPU运算、IO、外部系统响应等等组成。
⼆.系统吞吐量评估:我们在做系统设计的时候就需要考虑CPU运算、IO、外部系统响应因素造成的影响以及对系统性能的初步预估。
⽽通常境况下,我们⾯对需求,我们评估出来的出来QPS、并发数之外,还有另外⼀个维度:⽇PV。
通过观察系统的访问⽇志发现,在⽤户量很⼤的情况下,各个时间周期内的同⼀时间段的访问流量⼏乎⼀样。
⽐如⼯作⽇的每天早上。
只要能拿到⽇流量图和QPS我们就可以推算⽇流量。
通常的技术⽅法:1. 找出系统的最⾼TPS和⽇PV,这两个要素有相对⽐较稳定的关系(除了放假、季节性因素影响之外)2. 通过压⼒测试或者经验预估,得出最⾼TPS,然后跟进1的关系,计算出系统最⾼的⽇吞吐量。