苏州网站建设网站,网页美工设计(第2版),酒泉北京网站建设,培训心得体会100字目录
性能测试的类型
负载测试(load testing)
压力测试(Stress Testing)
可扩展性测试(
尖峰测试(Spike Testing)
耐久性测试(Endurance Testing)
并发测试(Concurrency Testing)
容量测试(Capacity Testing)
资料获取方法 性能测试的类型
性能测试#xff1a;确定软…目录
性能测试的类型
负载测试(load testing)
压力测试(Stress Testing)
可扩展性测试(
尖峰测试(Spike Testing)
耐久性测试(Endurance Testing)
并发测试(Concurrency Testing)
容量测试(Capacity Testing)
资料获取方法 性能测试的类型
性能测试确定软件产品性能的测试。 负载测试(load testing)
负载测试的重点是系统处理由并发用户或进程的可控数量产生的事务请求所导致的不断增加的预期实际负载的能力。
负载测试用于评估组件或系统在不同负载下的行为通常在预期的低使用率、典型使用率和峰值使用率之间进行。
负载测试几乎总是基于一些真实的组织条件。负载测试是所有性能测试的组成部分因为它是其他性能测试类型的基础。负载测试的基础运行和最终负载曲线通常被称为volumetrics并根据以下问题确定 Who 谁是用户是否有不同的用户组访问该负载测试的组件或系统这些用户可能是执行不同任务或拥有不同访问权限的不同用户组。 What
用户正在执行哪些业务流程 以在线零售网站为例。业务流程代表了用户想要执行的一些端到端的操作例如购买一本关于性能测试的书。这个端到端的流程可以被分解成一系列可重用的任务登录、搜索书籍、添加到购物篮、购买和注销这些任务可以代表系统中的服务或组件。每个可重复使用的任务都可以分解成用户将要执行的一系列步骤打开浏览器浏览零售商网站输入用户名和密码点击登录按钮。
这些业务流程中的每一个都代表了负载的定义或负载的一部分将在环境中执行代码来创建实际的负载。性能测试的部分技巧在于观察 是什么并了解该业务流程如何在被测系统中运行。例如性能测试计划需要创建80个独立的报告来测试ERP系统的商业智能报告。但是当从后端服务器、数据库和服务进行测试时发现80个脚本可以减少到7个每个报告都可以通过输入数据进行管理从而节省了性能工程师大量的工作。
Where
用户在哪里用户是集中访问系统如企业办公室还是分散访问系统如用户在家工作使用地理定位将负载重定向到不同的服务器、服务、组件或业务流程。
When
负载测试在一天中的什么时间进行 压力测试(Stress Testing) 压力测试的重点是系统或组件处理峰值负载的能力这些负载达到或超过了其预期或指定工作负载的极限。压力测试也用于评估系统处理资源可用性降低的能力如可访问的计算能力、可用带宽和内存。
压力测试是一种有用的类型因为它有助于识别被测系统的最大容量,组件或系统的哪个部分首先失效
压力测试需要注意的一点是它可以无限期地进行下去。一旦确定并报告了最大容量就存在替代方案 压力测试可以从负载定义的角度用户执行与时间行为相关的业务流程简单地告知利益相关者最大容量。可能不需要采取进一步的措施--我们知道当负载达到X时系统将变得不稳定。
压力测试通知开发人员和/或管理员如果负载达到最大容量资源利用率哪个组件将失效。因此如果负载达到X出现故障的部件就是Y。
然后可以采取进一步措施修复最初出现故障的组件从而可能提高最大容量。如果时间和资金允许测试可以继续到新的故障点因为总有另一个组件会在负载下发生故障。
可扩展性测试(
scalability testing) 可扩展性测试的重点是系统满足未来效率要求的能力这些效率要求可能超出目前的要求。这些测试的目的是确定系统的增长能力例如更多的用户、更大的数据存储量而不违反当前指定的性能要求或失败。一旦知道了可扩展性的极限就可以设置阈值并在生产中进行监控以便对可能出现的问题发出警告。此外还可通过适当数量的硬件调整生产环境。
可扩展性:组件或系统可根据容量变化进行调整的程度。
可扩展性测试 确定软件产品可扩展性的测试。
-可扩展性测试
一个常见的问题是系统是可扩展的吗
请记住答案总是肯定的我们总是可以增加系统、服务或组件的负载并提高处理负载的能力。
之前我们问过负载对系统/服务/代码在时间行为、资源利用率和容量方面的可扩展性有多大影响
通过可扩展性测试我们现在回答了一个不同的问题。与其问 系统/服务是否具有可扩展性不如问 系统/服务的可扩展性如何
系统/服务的可扩展性如何
可扩展性测试一般有两种类型--水平和垂直
横向可扩展性是在系统中增加更多相同规格的机器/设备/虚拟机而纵向可扩展性则是将现有的机器/设备/虚拟机替换成更大、功能更强的机器或为虚拟机/设备分配更多的CPU和/或内存。这两种方法各有利弊。
在这两种情况下通常首先收集时间行为、资源利用率和单台服务器的容量。然后可以决定是测量横向可扩展性添加额外的服务器/虚拟机/虚拟机还是纵向可扩展性增加单台服务器的资源以提高系统/服务处理更高容量负载的整体能力。
需要始终明确的是可扩展性总是有上限的。系统或服务可能具有可扩展性但将必要的硬件/软件许可/基础设施扩展到所需水平的成本可能过于昂贵。系统或服务可能变得不稳定或者增加容量对整体性能没有任何好处。
尖峰测试(Spike Testing) 尖峰测试主要是测试系统对突如其来的峰值负载做出正确响应并在其后恢复到稳定状态的能力。
尖峰测试: 测试确定系统从突发的峰值负载中恢复到稳定状态的能力。
尖峰负载测试已成为一种流行的测试方法用于考察负载在短时间内超过规定峰值时系统的性能。这些峰值可能是 单个事件
耐久性测试(Endurance Testing)
耐久性测试的重点是系统在特定时间段内的稳定性。此类测试验证是否存在资源容量问题如内存泄漏、数据库连接、线程池这些问题最终可能会降低性能和/或导致断点故障。
耐久性测试:在系统运行环境下确定系统在相当长的一段时间内承受重大负载的稳定性的测试。
耐久性测试也称为浸泡测试。负载测试和耐久性测试的区别主要在于测试执行的时间长短。两者在设计上具有相似的负载曲线。不同之处在于负载测试可能只执行一小时而耐久性测试通常会执行数小时、数天甚至在极端情况下执行数周。耐久性测试的挑战在于获得足够的测试数据来长时间执行测试并有足够的存储空间来捕获测试结果。耐久性测试变得更加重要因为许多组织每周7天、每天24小时在线这意味着几乎没有时间停机或 重启服务器。
并发测试(Concurrency Testing)
并发测试的重点是特定操作同时发生时如大量用户同时登录的影响。众所周知并发问题很难发现和重现特别是当问题发生在测试几乎无法控制的环境中如生产环境。
并发性: 组件或系统同时执行多个独立的线程。
并发的概念是性能测试的基石。即使单个用户或事务产生负载该负载也可能不足以真正锻炼被测系统。通过并发性性能工程师可以定义有多少业务流程、任务甚至步骤同时发生。
一般可考虑三种并发类型。例如如果被测系统是一个在线零售网站许多用户可能同时在网站上执行一系列功能。在组件层面测试登录组件时可能需要同时进行多次登录尝试。细分如下
应用程序并发性
可能有许多用户使用网站执行不同的业务流程搜索、购买、检查订单状态、创建用户帐户等。
业务流程并发
较少数量的用户可能同时执行一个业务流程搜索网站。
事务并发
用户子集同时执行一个业务流程搜索所有用户同时点击搜索按钮。-
也可能出现意外情况这些情况更多属于故障转移和灾难恢复的范畴但仍需要进行性能测试。并发测试可能会在高峰负载时同时运行批处理或在繁忙时开始计划备份。
容量测试(Capacity Testing)
容量测试确定给定系统将支持多少用户和/或事务并仍然满足既定的性能目标。这些目标也可能与事务产生的数据量有关。
容量:组件或系统参数的最大限制满足要求的程度。
容量测试类似于其他已经确定的测试类型压力和尖峰测试。容量测试和压力测试的区别在于压力测试延伸到预定的故障点例如吞吐量或资源利用率的限制或超过处理时间。容量测试仍可能超出峰值负载但其目的是实现性能测试目标例如系统将支持多少用户而不是确定故障原因。容量测试的重点是达到规定的性能水平而不是试图导致故障压力或 看看会发生什么峰值。通常情况下容量测试的负载/性能增长与组织需求有关。例如组织可能有一个全球增长率定义为每年4%的新客户增长。容量测试可以帮助回答系统支持这种逐年增长的能力问题。 资料获取方法
【留言777】 各位想获取源码等教程资料的朋友请点赞 评论 收藏三连
三连之后我会在评论区挨个私信发给你们~