• Day38 性能测试理论


    系列文章目录

    Day01 软件测试基础总结

    Day02 测试用例知识点总结(上)

    Day03 测试用例知识点总结(下)

    Day04 禅道-从安装到卸载

    Day05 MySql的基础使用

    Day06 MySql知识点总结

    Day07 MySql知识点再总结与多表查询

    Day08 redis的基础知识

    Day08 VMware的安装、Linux系统安装和Linux基础命令

    Day09 Linux常用命令总结

    Day10 Linux环境部署和项目构建

    Day11 shell脚本基础知识

    Day12 接口和协议

    Day13 Postman的使用

    Day13 Windows环境下的JDK安装与Tomcat的启动

    Day14 jenkins部署

    Day15 jenkins的简单使用

    Day16 charles的基本使用

    Day17 考试

    Day18 考试

    Day19 Fiddler的简单使用

    Day20 Python基础

    Day21 python 语句基础

    Day22 Python数据类型(上)

    Day23 Python数据类型(下)

    Day24 Python函数

    Day25 Python的文件操作和异常处理

    Day26 Python面向对象

    Day27 Python的部分算法

    Day28 单元测试 unittest

    Day29 单元测试 pytest

    Day30 接口测试requests

    Day31 Web端自动化基础

    Day32 Web自动化进阶

    Day33 PO模型

    Day34 移动端测试(上)

    Day35 移动端测试(下)

    Day36 移动端自动化(上)

    Day37 移动端自动化(下)

    Day38 性能测试理论


    目录

    系列文章目录

    前言

    一、性能测试的概念

    1.什么是性能

    2.什么是性能测试

    3.性能测试的目的

    4.性能测试与功能测试的对比

    5.性能测试与功能测试的关系

    二、性能测试的策略

    1.基准测试

    2.负载测试

    3.稳定性测试

    4.压力测试

    5.并发测试

    三、性能指标

    1.响应时间

    2.并发数

    3.吞吐量(Throughput)

    4.点击数

    5.错误率

    6.资源利用率

    四、性能测试流程

    1.性能测试流程

    2.性能测试需求分析

    3.性能测试计划及方案

    4.性能测试用例

    5.性能测试执行

    6.性能分析和调优

    7.性能测试报告

    总结


    前言


    一、性能测试的概念

    1.什么是性能

    时间:系统处理用户请求的响应时间

    资源:系统运行过程中, 系统资源的消耗情况

    2.什么是性能测试

    使用自动化工具,模拟不同的场景,对软件各项性能指标进行测试和评估的过程

    3.性能测试的目的

    评估当前系统能力;寻找性能的瓶颈,优化性能;评估软件是否能够满足未来的需要

    4.性能测试与功能测试的对比

    功能测试:验证软件系统操作功能是否符合产品需求规格,主要焦点在功能(正向,逆向)

    性能测试:验证软件系统是否满足业务需求的场景,主要焦点是业务的场景的满足(时间,资源)(注意:性能测试只测正向)

    5.性能测试与功能测试的关系

    两者不能同时进行,一般项目中,先通过功能测试,后进行性能测试

    二、性能测试的策略

    性能测试的策略就是根据不同的场景模拟不同的方法

    基准测试、负载测试、稳定性测试、其他(并发测试、压力测试)

    1.基准测试

    狭义上:基准测试就是单用户测试。测试环境确定后,对业务模型中的重要业务做单独的测试,获取单用户运行时的各项性能指标

    广义上:基准测试是一种测量和评估性能指标的活动。你可以在某个时刻通过基准测试建立一个已知的性能基准线,当系统的软硬件环境发生变化之后再进行一次基准测试以确定变化对性能的影响。

    建立基准线,当系统的软硬件环境发生变化之后再进行一次基准测试以确定变化对性能的影响

    基准测试的用途:

    1.基准测试不会单独存在

    2.为多用户并发测试和综合场景测试等提供参考依据

    3.为系统/环境配置,系统优化前后的性能提升/下降提供参考指标

    2.负载测试

    通过逐步增加系统负载,确定在满足系统的性能指标情况下,找出系统所承受的最大负载量的测试

    3.稳定性测试

    在服务器稳定运行(用户正常的业务负载下)的情况下进行长时间测试(1天-1周等),并最终保证服务器满足线上业务的需求。

    作用:系统在用户要求的业务负载下运行达到规定的时间时,系统才能正式上线使用

    4.压力测试

    在强负载下的测试,查看系统在峰值情况下是否有功能隐患,系统是否具有良好的容错能力和可恢复能力

    5.并发测试

    指在极短时间内,发送多个请求,来验证服务器对并发的处理能力

    三、性能指标

    响应时间、并发数、吞吐量、点击数、错误率、资源利用率等

    1.响应时间

    指用户从客户端发起一个请求开始,到客户端收到从服务器返回的结果结束,整个过程所耗费的时间

    响应时间=网络传输时间+服务器处理时间

    2.并发数

    指某一时刻同时向服务器发送请求的用户数

    3.吞吐量(Throughput)

    指的是单位时间内处理的客户端请求数量,直接体现系统的性能承载能力

    QPS(query per second)每秒查询数:即控制服务器每秒处理的指定请求的数量

    TPS(Transaction per second)每秒事务数:即控制服务器每秒处理的事务请求的数量

    事务:即业务,页面上的一个事务可能对应一个请求或多个请求

    一个事务对应一个请求时:TPS=QPS

    一个事务对应n个请求时:n*TPS=QPS

    4.点击数

    指客户端向服务器发送请求时,所有的页面资源元素(如:图片,链接,框架CSS、JS等)的请求的总数量

    5.错误率

    指系统在负载情况下,失败业务的概率,错误率=(失败业务/业务总数)*100%

    大多系统会要求错误率无限接近0

    错误率是一个性能指标,是在高负载下的失败业务的概率

    6.资源利用率

    指系统各种资源使用情况,一般是用  资源的使用量/总的资源可用量*100%  形成资源利用率的数据

    四、性能测试流程

    1.性能测试流程

    需求分析->测试计划->测试用例->用例执行->性能分析与调优->测试报告

    2.性能测试需求分析

     明确被测系统->明确测试内容->明确测试策略->明确测试指标

    3.性能测试计划及方案

    测试的目的和范围
    测试人员和分工
    测试时间安排
    测试的方法
    测试风险评估

    4.性能测试用例

    用例编号、用例名称、用例描述、前置条件、操作步骤、预期结果、实际结果

    5.性能测试执行

    搭建环境,编写测试脚本,配置性能测试监控指标,执行测试脚本

    建立测试环境搭建性能测试环境,包括硬件环境、软件环境、网络环境一般情况下可以要求运维和开发工程师协助完成
    编写测试脚本按照性能测试用例的需要,使用性能测试工具进行编写测试脚本脚本可以自己编写,也可以使用工具录制
    性能测试监控在脚本执行前,配置各项性能的监控指标如响应时间、TPS、错误率、资源使用率
    执行测试脚本设置性能运动场景、执行性能测试,并同步收集各项性能指标执行性能测试脚本前,保证脚本都调试通过

    6.性能分析和调优

    性能测试分析人员经过对结果的分析以后,如果不符合性能需求,则会提出性能bug,然后开发人员进行后续的调优

    调优:开发人员为主导,数据库管理员、系统管理员、网络管理员、性能测试分析人员配合进行

    验证:性能测试人员继续进行第二轮,第三轮——的测试,与以前的测试结果进行对比,从而确定经过调整以后系统的性能是否有提升

    7.性能测试报告

    测试工作的经历回顾
    缺陷分析和调优
    风险评估
    性能测试结果
    测试工作总结与改进


    总结

  • 相关阅读:
    【DNS系列-K8S排错】CoreDNS 新增 host 解析不生效
    会议OA小程序项目 与后台数据的交互【首页】
    基于SpringBoot的校园失物招领系统
    CSS特效001:鼠标放div上,实现旋转、放大、移动等效果
    Linux入门(三)
    C++构造函数中调用虚函数为什么不会实现多态
    【MySQL】索引和事务(B树、B+树图解原理)
    Scheduling in Kubernetes
    计算机毕业设计 SSM餐饮收银管理系统 商场收银系统 饭店收银系统 服装店收银系统
    第二十八章 车道线检测中的论文梳理(车道线感知)
  • 原文地址:https://blog.csdn.net/lookout99/article/details/126836525