• 性能测试 - 理论


    简介

    性能测试是通过一些自动化的测试工具来模拟用户使用系统,从而检测出系统的各项性能指标,抗压能力如何,一般来说,主要从 正常峰值异常负载等三个方面出发进行测试。

    和功能测试的区别

    功能测试有着很明确的需求说明,性能测试的影响因素较多,机房、服务器的性能都会对性能测试的结果产生影响,性能测试需求以及目标也很重要。

    意义

    1. 评估系统的能力。测试中得到的负荷和响应时间数据可以被用于验证所计划的模型的能力,从而帮忙做出决策。
    2. 识别体系中的弱点。受控的压力可以被增加到一个极端的水平,并突破他,从而修复体系的瓶颈或者薄弱的地方。
    3. 系统调优。重复运行测试,验证调整系统的活动得到了预期的结果,从而改进性能。长时间的测试执行可导致程序发生由于内存泄漏引起的失败,揭示程序中隐含的问题或者冲突。
    4. 验证稳定性可靠性。在一个生产负荷下,执行测试一定的时间,是评估系统稳定性和可靠性是否满足要求的唯一方法。
    5. 通过预埋未来数据,评估未来时间内系统的支撑情况。
    6. 通过节点性能测试,就可以计算生产服务器节点配比。

    名词解释

    虚拟用户

    模拟现实中的实际用户,测试工具会使用虚拟用户来代替真实用户对系统进行操作。

    测试场景

    测试场景就是一个具体的测试用例,他是测试资源,包括测试脚本,运行设置。运行用户数等的集合,在场景中,可以定义为并发用户的数目,定义要运行的脚本,在一个场景中,可以是单个流程、也可以是多个流程的混合。

    事务

    是一个流程中某个或者某些环节的称呼,一个流程可以成为一个大的事务,其中大事务中可以包含很多的小失误。

    响应时间

    指的是用户发出请求 到 看到请求结果的整个过程,计算的是端到端的时间,是衡量性能的重要手段。

    平均响应时间

    总的交易量除以总的交易时间,通常以秒为单位。

    90%响应时间

    将所有的响应时间从小到大排列,取排在90%位置的那个值,主要用于衡量系统的稳定性。
    eg:
    {1,3,5,10,16}
    {5,6,7,8,9}
    平均响应时间都是7,但是第二组数据的90%响应时间为9.

    TPS: transaction per second

    每秒的系统交易量,单位是笔/秒,衡量系统处理能力的重要指标,表示一次交易的申请和响应返回的过程。

    QPS:query per second

    每秒的查询率,是一台服务器每秒能够执行查询的次数,是对查询服务器规定时间内处理流量多少的称量标准。

    网络吞吐量

    指单位时间内通过网络成功传输的数据量,单位是 byte/s

    资源使用率

    主要指服务器硬件资源,网络资源等,如cpu,内存使用率,磁盘IO,网络IO等。

    思考时间

    虚拟用户在与系统进行交互的时候等待的时间,用户模拟真实环境下,用户在使用系统时每一步操作等待的时间。

    并发数

    指在某一个时间,一定数量的用户同时对系统进行操作,通常性能测试工具可以设置集合点以加强并发点。

    性能测试角度

    用户

    • 响应时间 - 还要让我等多久
    • 稳定性 - 为什么总是失败

    开发

    • 架构设计 - 是否合理
    • 数据库设计 - 是否合理
    • 代码 - 性能问题、内存使用、线程同步操作、资源竞争、算法优化

    系统管理员

    • 资源利用率 - 服务器资源使用、数据库使用
    • 可扩展性 - 能否实现扩展、潜在的瓶颈、设备优化
    • 系统容量 - 支持多少用户、最大事务处理量
    • 稳定性 - 连续不间断业务访问

    测试人员

    测试人员要考虑全面的性能,包括用户、开发、管理员等各个视角的性能。

  • 相关阅读:
    SpringMVC
    抽象工厂模式
    Word文档恢复,2大方案教你找回没有保存或者被删除的数据
    linux中busybox与文件系统的关系
    暑假基于springboot开发的工厂项目学习总结
    智能优化算法:广义正态分布优化算法-附代码
    js函数新东西——匿名函数
    IOS OpenGL ES 波浪特效
    新增功能 编辑功能 数据回填 显示详情不准确的三种修复方式 控制统一弹窗 删除功能 表单校验
    单链表的创建定义
  • 原文地址:https://blog.csdn.net/weixin_43831559/article/details/126084584