在质量角度而言,针对一个被测的对象,不仅仅需要考虑它功能层面的完整性,也需要非功能场景下系统的健壮性和稳定性。一个系统最核心的是它的稳定性、完整性、以及弹性的能力。能够在不可预知以及突发的情况下系统能够平稳有效的平滑过去,而不对客户造成任何的影响。
在企业里面,都会接触到性能测试,往往很多的时候,有的同学不知道怎么下手,不知道到底需要关注什么指标,以及怎么判断它的合理性。比如在SAAS的架构下,集群资源怎么部署更加合理?容量规划如何能够有效的服务客户同时能够给公司节约计算成本。
从大的流程和分类上而言,凡是涉及技术角度的事宜,不是快速地干这件事,而是思考怎么干。抛开性能测试领域它的概念和各种工具中的术语,就单纯针对这件事而言,我们到底需要干什么,怎么干才是合理有效的,又如何判断这件事干的是否合理呢?如果非要使用步骤来梳理的话,那么第一步就是梳理性能测试方案,梳理性能测试方案结束后需要约相关的干系人进行性能测试方案的评审。这里阐述下评审的目的和评审方案需要解决的问题。针对方案部分可以汇总如下。
-
需要阐述下干这件事的背景是什么,这样参与方案评审的干系人就清楚了上下文和这件事最终需要达到的目标。
-
前置事宜,这部分主要列出做性能测试需要准备哪些事情,比如数据库是否需要采购、服务器是否需要采购、当前服务的资源是否需要弹升等等。同时在这项中需要清晰地列出每一个事宜的负责人并且当场进行确认,同时也需要写清楚每一个事项完成的时间节点。
-
性能测试的目标。这部分是非常核心的部分,需要相关的干系人能够在目标上达成一致。之所以说目标是最核心的部分是因为最终有性能测试结果的时候,需要判断是否符合目标还是不符合目标,判断是否符合目标的前提是需要有一个判定的基准值,而它就是本次性能测试的目标。比如响应时间不能超过5秒,那么实际测试结果是超过了5秒,那么可以判定为不符合预期,当然这仅仅是一个维度,很多时候需要结合多个维度来进行判断。
-
测试策略。这部分不可缺少的理由是参与方案评审的干系人需要清晰的知道你通过什么样的测试策略来执行和验证。比如验证一个系统是否具备弹性的能力,在资源伸缩的过程中是否可以平滑地无缝切换。那么既然验证这部分,验证它的策略到底是什么? 在进行资源伸缩过程中到底是手动模式还是自动模式,副本数是多少?这些都需要很清晰地列举出来
-
除了测试策略外还需要测试场景。对一个系统而言有很多的场景,那么在进行性能测试的过程中,到底选择哪些场景来进行性能测试,为什么选择这些场景而不是其他的场景。这些信息都需要和参与方案评审的干系人沟通并且大家最终达成一致。
梳理性能测试方案除了上面列表的要素外,还需要核对的是资源的一致性,这些资源主要指的是服务资源配置(内存与CPU)、服务节点数、DB资源配置、MQ资源配置(分区数等)等其他组件的资源配置。一般而言肯定不能使用生产环境来进行性能测试,那么选择其他环境来进行性能测试的时候需要与生产环境的资源配置保持一致,这样测试的数据才有可参考的依据和标准。
这是我整理的《2024最新Python自动化测试全套教程》,以及配套的接口文档/项目实战【网盘资源】,需要的朋友可以下方视频的置顶评论获取。肯定会给你带来帮助和方向。
【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)