一:性能测试
- 优点
-
确定应用程序的速度、可扩展性和稳定性特征,从而为作出明智的业务决定提供依据。
-
重点在于确定系统的用户是否会满意应用程序的性能特征。
-
识别与性能相关的期望和现实之间的差异。
-
支持调优、容量规划和优化工作。
- 缺点
-
在负载下可能检测不到某些功能缺陷。
-
如果不仔细设计和验证,可能仅表示非常少量生产场景中的性能特征。
-
除非在生产硬件上从用户将使用的同一台机器上进行测试,否则结果总会有一定的不确定性。
二:负载测试
- 优点
- 确定支持预期峰值生产负载所需的吞吐量。
*确定硬件环境的适当性。
-
评估负载均衡器的适当性。
-
检测并发性问题。
-
在负载下检测功能错误。
-
收集可扩展性和容量规划目的的数据。
-
帮助确定应用程序在性能受损之前可以处理多少用户。
-
帮助确定硬件在资源利用率限制超过之前可以处理多大负载。
- 缺点
-
不关注响应速度。
-
结果应仅用于与其他相关负载测试的比较。
三:压力测试
- 优点
-
确定系统过度压力是否会损坏数据。
-
提供应用程序在导致故障和错误以及缓慢性之前可以超过目标负载多远的估计。
-
允许您建立应用程序监视触发器以警告即将发生的故障。
-
确保压力条件不会打开安全漏洞。
-
确定常见硬件或支持应用程序故障的副作用。
-
帮助确定计划最有价值的故障类型。
- 缺点
-
由于压力测试在设计上不现实,某些利益相关者可能会忽略测试结果。
-
往往难以知道应用多大的压力。
-
可能导致应用程序和/或网络故障,如果不隔离到测试环境,可能导致严重中断。
四:容量测试
- 优点
-
提供有关如何处理工作负载以满足业务需求的信息。
-
为容量规划者提供实际数据,用于验证或增强其模型和/或预测。
-
使您能够进行各种测试以比较容量规划模型和/或预测。
-
确定现有系统的当前使用情况和容量以帮助容量规划。
-
提供现有系统的使用情况和容量趋势以帮助容量规划。
- 缺点
-
容量模型验证测试复杂。
-
通过测试无法在最有价值时验证容量规划模型的所有方面。
尽管与性能测试相关的潜在收益远大于挑战,但由于测试所有合理的变量、场景和情况组合的绝对不可能性,结果数据的相关性存在不确定性,这使某些组织质疑进行性能测试的价值。然而,在实践中,经过合理(甚至不严格)性能测试的系统出现灾难性性能故障的可能性大大降低,特别是如果性能测试用于帮助确定在生产中监控什么,以便团队如果应用程序开始朝着重大性能相关故障漂移会得到早期警告。
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取