美文网首页
性能测试

性能测试

作者: robot_test_boy | 来源:发表于2022-01-01 06:56 被阅读0次

    学习软件质量报道的2021年软件测试工具总结——性能测试工具。

    软件性能测试的目标是识别应用程序中的所有性能瓶颈。一个软件系统的性能不仅取决于系统本身的设计和编码,而且取决于系统所依赖的运行环境。系统的运行环境会依赖于一些关键因素,例如:系统架构、硬件配置、网络带宽、配套的软件如数据库和中间件等、以及外部的负载大小。

    系统性能的改善是测试、调整、再测试、再调整……的一个持续改进的过程,即性能调优,根据性能测试的结果对软件的设计,代码,系统的配置进行调整。

    性能测试主要包含6种类型,如下所示。

    负载测试:确定软件在给定时间内随着工作负载增加的运行方式,工作负载可以是并发用户、事务数、软件行为等。在被测系统上不断增加压力,直到性能指标(如响应时间)超过预期指标或者某种资源使用已经达到饱和状态。可以找到系统的处理极限,为系统调优提供数据。

    压力测试测量超出正常工作参数、更高的流量负载(更多用户、事务等)下的软件稳定性,即系统在一定饱和状态下,例如CPU、内存、磁盘空间等硬件资源饱和的情况下,系统能够处理的会话能力,以及系统是否会出现错误。

    稳定性测试:评估软件在一个固定的常规工作负载下的长期性能。换句话说,它决定了软件能够承受恒定的工作负载多长时间以提供长期的可持续性。在测试期间,测试团队监控KPI,如内存泄漏、内存使用、内存不足等。稳定性测试还分析长时间使用后的响应时间和吞吐量,以观察这些指标是否一致。

    尖峰测试:尖峰测试是一种压力测试,它测量软件在显著的、突然的工作负载增加(如用户并发数量)情况下的性能。软件是否能够反复快速地处理突然增加的工作负载。

    容量测试:测试软件在处理大量数据时的效率,用于检查数据丢失、系统响应时间、数据存储可靠性等。

    可伸缩性测试:测量软件在处理不断增加的工作量方面的有效性。可以通过在监视软件性能的同时逐渐添加数据量或用户来执行可伸缩性测试。

    随着DevOps的发展,性能测试已经上升为软件系统全生命周期性能工程。性能测试的一般有客户端性能测试、服务端性能测试、分布式系统的应用性能监控、分布式系统的全链路压测。

    客户端性能测试:CS架构中客户端的性能测试(Android/iPhone和window下)和BS架构中客户端响应时长等。

    服务端性能测试:好理解,极限范围内的负载测试,极限范围外的压力测试,突发的极限范围外的尖峰测试,7*24小时的稳定性测试和可弹缩性测试。

    分布式系统的应用性能监控大多数是链路追踪,不仅仅是性能测试,混沌工程也需要。分布式架构非常复杂,链路追踪可以把一个链路上的请求,通过某个唯一的traceid串起来,并可视化。

    分布式系统的全链路压测:分布式架构中链业务链路调用复杂,需要选择核心的全链路,向系统进行加压。

    相关文章

      网友评论

          本文标题:性能测试

          本文链接:https://www.haomeiwen.com/subject/ybqiqrtx.html