性能测试术语及流程

性能测试术语及流程

1.性能测试的方法术语

1)负载测试(Load Testing)
通过对被测试系统不断地加压,直到超过预定的指标或部分资源已经达到了一种饱和状态不能再加压为止。

  策略:
		方法:
			在特定的环境下,不断地对系统进行加压,直到系统中部分资源达到极限
		目的:
			找出系统的最大负载能力

2)压力测试(Stress Testing)
	系统已经达到一定的饱和程度(如:CPU、磁盘等已经处于饱和状态)
	疲劳测试是其中一种表现形式

	策略:
		方法:
			使用模拟负载等方法,使系统资源达到一定较高的水平--系统稳定性
		目的;
			测试在系统已经达到一定的饱和程度时,系统最大处理业务能力

3)配置测试(Configuration Testing)
	通过调整系统软硬件环境,了解各个不同环境对系统性能的影响

	策略:
		方法:
			通过调整系统软硬件环境,使系统在不同环境下进行性能测试,系统调优和配置规划能力
		目的:
			通过调整环境了解不同因素对系统性能的影响情况,从而找到调优的方法。

4)并发测试(Concurrency Testing)
通过模拟用户并发访问,测试多用户同时访问同一个应用、模块或数据,观察系统是否存在死锁、系统处理速度是否明显下降等其他的性能问题。

	策略:
		方法:
			模拟多用户同时并发操作
		目的:
			当多用户并发访问时,系统是否存在一些可能的并发问题

5)基准测试(Benchmark Testing)
	在一定的软件、硬件及网络环境下,模拟一定数量虚拟用户运行一种或多种业务,将测试结果作为基线数据,在系统调优或系统评测过程中,通过运行相同的业务场景并比较,结果调优是否达到效果或为系统的选择提供决策数据

	策略:
		目的:
			度量改善性能测试的情况
			测试并调优,保证系统达到性能要求或服务协议要求

6)可靠性测试(Reliability Testing)
	在系统在一定的业务压力下,让系统持续运行一段时间,观察系统是否达到要求的稳定性(例如:系统能够持续无故障运行多少天)

	策略:
		方法:
			在一定业务压力测试下,关注系统业务运行情况
		目的:
			在一定业务压力测试下,系统可持续运行的时间

7)大数据量测试(Bigdata Testing)
	针对系统新建记录或统计查询等业务进行的大数据量测试,或针对大量存量数据而进行的性能测试

2.性能测试指标术语

1)思考时间(Think Time)
	用户在进行操作时,每个请求之间的时间间隔

2)响应时间RT
	响应时间,处理一次请求所需要的平均处理时间

	指应用系统从发出请求开始到客户端接收到所有请求所消耗的时间。

在这里插入图片描述
3)并发用户数
指同一时刻与服务器进行数据交互的所有用户数量

		-同一时间,用户同时对服务器进行施压
		-要与服务器进行数据交互

4)吞吐量throughPut
	--指在一次性能测试过程中网络上传输的数据量的总和,也就是在单次业务中,客户端与服务器端进行的数据交互总量--------对交互式应用来说,吞吐量指标反映服务器承受的压力,容量规划的测试中

	--计算公式

在这里插入图片描述

			N(vu):vu(virtual user,虚拟用户)的个数
			R:在T时间内每个VU发出的请求字节数
			T:性能测试所用的时间

	注意:如果系统遇到性能瓶颈,就不适用了。------------吞吐量在UV增长到一定数量时,软件系统出现性能瓶颈,此时吞吐量的值可能趋于平衡或者下降

在这里插入图片描述
–吞吐量与负载的关系

在这里插入图片描述

5)吞吐率
–吞吐量/传输时间,即单位时间内网络上传输的数据量,也可以指单位时间内处理客户请求数量

	--单位时间内服务器处理的字节数,吞吐量的单位:B/s  -字节数/秒”

6)资源利用率
	-服务器系统中不同硬件资源被使用的程度、资源使用率=资源实际使用量/总的可用资源量
		1.CPU利用率
		2.内存利用率
		3.磁盘利用率
		4.网络
7)Scenario
	用户场景或测试场景,通常测试设计时,进行负载建模

8)TPS|QPS
	--系统每秒能处理的请求/事务的数量,或者认为是吞吐量

	--在web应用我们更关注的是web应用每秒能处理的request数量

	--QPS的统计可以通过访问日志统计对应时间的PV量除以对应时间求得  --计算公式:QPS(TPS)= 并发数/平均响应时间

9)点击率(HIt Per Second)
	每秒用户向Web服务器提交的Http请求数。

10)PV(Page View)
	用户通过浏览器访问页面,对应用服务器产生的每一次请求

3.性能测试流程
1、设计
收集要求
参与角色
性能测试团队
业务领域的经理
系统管理员|数据库管理员(DBA)
关注问题
业务需求
应用程序情况
创建系统使用演示,让性能测试团队从整体上了解应用程序如何被使用
交易列表
汇编业务流程中需要负载测量(如:登录 或 转移资金等)的关键活动列表
业务流程列表
创建关键业务流程列表,以使用反映最终用户在系统上执行的活动
创建Word文档,以详细记录每个业务流程的正确步骤
创建业务流程图,描述业务流程分支
技术需求
环境预排工作
与系统或基础设置团队开展测试架构的预排工作
系统范围会议
举行会议来讨论系统的哪些部分应该排除在测试流程外,并达成一致见解
生产图–性能调优
创建生产基础设备的图表,以标记出从QA迁移到生成过程中可能影响性能的因素
系统需求
系统在正常和高峰期必须支持的用户数量为多少
系统每秒必须处理的交易量是多少?
对于所有的关键业务交易,可接受的范围(300ms–600ms)的响应时间
团队要求
确定性能测试团队成员。提前收集完整业务、技术、系统和团队要求,是有效和成功地进行负载测试的基础
设计测试策略
定义业务流程
定义系统工作量

2、构建
	设置测试环境
		自动化设置
			制作脚本
				将存档的业务流程记录到自动化脚本中
			交易
				插入计时器来产生业务所需要的逻辑计时
			参数化
				用数据池来代替所有的输入数据(如登录用户名和密码),以便每个虚拟用户使用唯一的数据访问应用程序
			断言--错误率+响应时间
			方案
				通过为不同的用户组分配不同的脚本、连接和用户行为来创建生成工作量
			监控
				确定要监控哪些负载服务器或机器
		环境设置
			组装硬件、软件和数据
			准备数据:历史数据和创建数据
	记录测试脚本
	创建测试方案
	
3、执行
	基线测试
		系统的操作响应时间超出了用户可接受的程度
		角色参与
			系统架构师或技术负责人
				依照系统性能需求,参照性能基线测算计算资源需求
			性能调优人员
				为性能调优建立目标,只有系统性能表现满足基线指标值,方可完成性能调优工作
			性能测试人员
				了解性能基线指标值,能够在测试环境中计算资源不充足的情况下,也对系统的性能表现进行测试并把关,明确系统性能是否达到基线要求,性能测试是否可以通过
		性能基线指标选择
			QPS:每秒请求处理量(Query Per Second)
				对一个特定的应用系统在规定时间内所处理流量多少的衡量标准
			硬件资源
				硬盘、CPU、内存、网络
		场景案例=设计
			QPS指标测试
				场景一、读数据场景 
					脚本描述
						访问用户登录页,输入账户密码后,等待加载首页完,在个人消息中心里进行搜索(搜索条件为空) ,脚本中账户密码参数化500个账号。实际包含对一张数据量100万级别的数据表进行2次数据库查询操作
					压测场景
						没有集合点和思考时间,模拟缓存压测,500并发
				场景二、写数据场景 
					脚本描述
						访问用户登录页,输入账户密码后,等待加载首页完,打开定制的压测页面,新增数据,脚本中账户密码参数化500个账号。实际包含一次百万级数据查询和一次删除、两次插入的数据库操作。 
					压测场景
						没有集合点和思考时间,模拟缓存压测,500并发
			硬软件指标测试
				内网环境,千兆带宽 
				软硬件配置
					4台web服务器:Linux系统,4核8G,web应用基于Ecloud容器部署 

Mysql服务器:Linux系统,8核32G,磁盘IOPS限制在5000
测试-常见发现与结论
基础结论
单纯的读数据场景下,每增加一台4核8G服务器,系统QPS值提升1000左右
单纯的写数据场景下,每增加一台4核8G服务器,系统QPS值提升650左右
推论
框架系统部署提供硬件资源,每一个CPU核,可支撑系统性能表现QPS值在160~250之间,如果实际压测时,依照投入的资源情况,评测出系统性能表现低于此区间的,则认为性能达不到基线标准,需要进行系统调优
基准测试
QPS
配置测试
性能测试
压力测试、负载测试
资源利用率
响应时间RT
并发用户数
吞吐量throughPut
报告生成

4、分析/诊断/调整

	诊断瓶颈
	调整配置
	量化改善
总结
	1、设计阶段
		定义待测试的业务流程、业务的平均处理量、业务处理量的最高峰值、组合业务流程、系统的整体用户和响应时间目标
	2、构建阶段
		涉及设置和配置测试系统及基础设施、使用自动化测试解决方法构建测试脚本和负载方案
	3、执行阶段
		包括运行负载方案和测试系统性能
	4、分析、诊断和调节阶段
		测量系统性能并使负载测试进行下一级别,重点查找问题的原因以帮助开发工程师迅速解决问题,并实时调节系统参数以提高性能
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这段工作要求负责管理所在产品线的测试框架和测试流程,并负责进行持续优化。这可能涉及到使用各种测试工具和方法来确保产品质量,包括自动化测试、性能测试、回归测试和安全测试等。同时还需要负责监控和改进测试效率,并与其他团队成员合作来实现这些目标。 在这项工作中,可能会用到一些专业术语,如: - 测试框架:指测试程序、脚本和工具的集合,用于组织、管理和执行测试。 - 测试流程:指测试的整个过程,包括测试计划、测试设计、测试执行和测试报告等。 - 自动化测试:指使用软件工具来自动执行测试的过程。 - 性能测试:指评估软件系统或硬件设备在各种条件下的性能表现。 - 回归测试:指在软件进行更改后重新测试整个系统以确保其正常工作。 - 安全测试:指对软件系统进行的安全评估,以确保系统不会被恶意攻击。 ### 回答2: 这段工作要求要求负责所在产品线测试框架的持续优化和测试流程的持续改进,以提高测试效率。为了实现这个目标,需要具备以下专业术语和技能: 1. 测试框架优化:对于产品线的测试框架进行持续优化,可以采用自动化测试工具和框架,如Selenium、Appium等,以提高测试效率和准确性。同时,可以使用性能测试工具,如LoadRunner和JMeter等,来评估系统的性能和稳定性。 2. 测试流程改进:在测试的各个阶段,如需求分析、测试计划制定、测试用例设计、测试执行、缺陷管理等,都应当优化和改进相应的流程。例如,可以使用用户故事和需求规格说明等文档来确保测试需求的准确理解;利用敏捷开发方法,如Scrum和Kanban等,来提高测试团队的效率和协作性。 3. 测试效率改进:通过持续改进测试流程和框架,可以提高测试效率。使用一些常见的测试指标来衡量测试的效果,如缺陷密度、缺陷修复速度、测试覆盖率、用例通过率等。同时,可以采用自动化测试和持续集成工具,如Jenkins和Travis CI等,来实现快速上线和回归测试,减少人工测试的工作量和时间消耗。 4. 专业术语补充:在工作中,需要熟悉测试相关的专业术语,如黑盒测试、白盒测试、功能测试、性能测试、负载测试、安全测试、自动化测试、冒烟测试、回归测试、故障注入、持续集成、持续交付等。了解这些术语和它们的具体含义,可以更好地理解和应用相关的测试技术和工具。 总之,持续优化测试框架、改进测试流程和提高测试效率是这段工作要求所要求的,合理应用专业术语和技巧可以达到这个目标。 ### 回答3: 根据所给的工作要求,候选人将承担产品线测试框架和测试流程的持续优化工作,以及测试效率的持续改进任务。这包括以下几个方面: 首先,候选人需要对产品线测试框架进行深入的研究和分析,以了解其结构、组件和依赖关系。在此基础上,候选人可以使用专业术语,如测试工具、自动化测试框架、性能测试、功能测试等,来描述和说明测试框架的优点和不足之处。 其次,候选人需要对测试流程进行评估和改进。他们可以使用专业术语,如需求分析、测试用例设计、测试环境配置、测试报告生成等,来描述测试流程中的不同阶段,并提出改进建议。例如,候选人可以提出引入敏捷开发方法来加快测试流程,或者使用持续集成和持续部署来提高效率。 此外,候选人还需要关注测试效率的持续改进。他们可以使用专业术语,如测试自动化、代码覆盖率、缺陷密度等,来衡量和评估测试的效率。候选人可以提出使用自动化测试工具来减少手动测试工作量,或者通过改进测试用例设计和执行策略来提高测试的效率和覆盖率。 总而言之,候选人需要具备深入的测试领域知识和丰富的经验,以便对所在产品线的测试框架、测试流程和测试效率进行持续优化和改进。使用专业术语可以更准确地描述和说明相关工作,并与业内标准保持一致。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值