性能测试基础

2023-11-12


以下内容比较枯燥,但是作为基础无法绕开,就像修房子你的知道砖头是什么东西,尽管你无法用语言描述清楚,但是没关系,你知道它是什么东西。概念只是一种概念,真正的理解才是我们所需要的。

性能测试的定义

性能测试指的是在一定的负载情况下,系统响应时间、资源利用率等特性是否满足特定的性能需求,从某些角度来说性能是其实是功能的一种。

衡量软件的性能需要考虑的三点内容

  1. 时间特性: 在规定条件下,软件产品执行其功能时,提供适当的响应和处理时间以及吞吐率的能力;
  2. 资源利用率: 在规定条件下,软件产品执行其功能时,使用合适的数量和类别的资源的能力;
  3. 效率依从性: 软件产品遵循和效率相关的标准或约定的能力;

性能测试的分类

压力测试

在一定的软件、硬件以及网络环境下,通过模拟大量的虚拟用户向服务器产生负载,是服务器的资源处于极限状态下长时间连续运行,易策师服务器在高负载情况下是否能够稳定工作。

压力测试强大系统的稳定性,处理能力在这个时候已经不重要了。

负载测试

在一定的软件、硬件以及网络环境下,通过运行一种或多种业务在不同虚拟用户数量情况下,测试服务器的性能指标是否在用户的要求范围之内,用于确定系统所能承载的最大用户数、最大有效用户数以及不同用户数下的系统响应时间以及服务器的资源利用率。

大多数的性能测试都是负载测试。基本上性能测试是通过加压来实现的,一般认为【最佳用户数】之前是负载测试,之后的重负载区域为压力测试。

容量测试

在一定的软件、硬件以及网络环境下,向数据库中构造不同数量级别的数据记录,通过运行一种或多种业务在一定的虚拟用户数量情况下,获取不同数据级别的服务器性能指标,以确定数据库的最佳容量。

容量测试不光可以对数据库进行测试,还可以对硬件处理能力,各种服务器的连接能力进行性能测试,来测试系统在不同容量级别是否达到指定的性能。

强度测试

强度测试主要是为了检查程序对异常情况的抵抗能力,强度测试总是迫使系统在异常的资源配置下运行。

比如:正常用户点击率为100次/秒时,执行点击率为200次/秒的测试的用例,执行需要最大存储空间的测试用例,执行可能导致系统崩溃或磁盘数据剧烈抖动的测试用例等等。

疲劳测试是一种特殊的强度测试,主要测试系统长时间运行后的性能表现,例如7x24小时的压力测试。

配置测试

在不同的软件、硬件以及网络环境配置下,通过执行一种或多种业务在一定的虚拟用户数量情况下,获得不同配置的性能指标,用于选择最佳的设备及参数配置。

通过产生不同的配置,来得到系统性能的变化状况,通过配置吃可以将性能缺陷放大,方便定位性能瓶颈。

基准测试

在一定的软件、硬件及网络环境下,模拟一定数量虚拟用户运行一种或多种业务,将测试结果作为基线数据,在系统调优或者系统评测过程中,通过运行相同的业务场景并比较测试结果,确定调优是否达到效果或者为系统的选择提供决策数据。

基准测试一般基于配置测试,通过配置测试得到数据,并将这个数据作为基准,来比较每次调优后的性能是否有所改善。

并发测试

通过模拟多个用户并发访问同一应用、同一存储过程或数据记录以及其他并发操作,测试是否存在锁死、数据错误等故障。

为了避免数据库和开发的并发错误,需要对每一个模块进行并发测试。

性能指标

响应时间

反映在完成某个业务所需要的时间,例如从点击登录到登录成功页面耗时1秒,那么我们就说这个操作的响应时间就是1秒。

LR是通过事务来完成对响应时间的统计,事务是指某件事情的操作,而函数会记录开始做这件事到做完之间的时间差,我们使用response time来说明,也称之为事务响应时间。

吞吐量

反映单位时间内能够处理的事务数目。

例如:对于一个系统来说,我们一个用户登录需要1秒,如果系统支持10个用户同时登录,且响应时间是1秒,那么我们的吞吐量就是10/秒。

在LR中,吞吐量也称之为TPS(transaction per sescound)每秒事务数,也就是说在单位时间内,能完成的事务数目。

服务器资源占用

资源并不是简单值运行系统的硬件,而是支持你运行程序的一切。

在LR中,通过了很多的计数器监控接口来帮助我们监控系统中的硬件或者软件上各种资源占用情况,例如CPU的使用量,内存,查询cache命中率等。

对于一个用户来说,最关心的只有响应时间,如果响应时间长了,用户会觉得系统使用缓慢,用户不关心系统有多少人使用,系统的资源是否足够,所以从某个角度来说我们必须保证在任意情况下终端用户使用的操作响应时间不能大于5秒。

有调查统计对于一个用户来说,系统响应时间在2秒以内,用户会感觉系统很快,比较满意。如果响应时间在2-5秒以内,用户可以接受,但是对速度不满意。如果响应时间超过10秒,用户将无法接受。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

性能测试基础 的相关文章

  • 接口测试之Fiddler弱网测试

    前言 目前市面上的APP功能越来越丰富 移动端测试也越显为重要 因为用户在网速慢的情况下 你的网站 软件 总能出现各种各样的问题 请不要忽略这一点 针对在不同的网络情况下 接下来 本篇要讲述的就是在通过fiddler对APP进行模拟弱网测试
  • 最佳利用Mock提升测试效率的7个技巧!

    再聊这个问题之前 我们先了解一下公司技术架构的演变过程 这样我们才能真正体会到我们为什么要使用 Mock功能 单体应用 在早期 大部分公司的应用技术栈主要可以分为两大类 LAMP Linux Apache MySQL PHP 和 MVC S
  • 软件测试|Python openpyxl库使用指南

    简介 我们之前介绍过 python在自动化办公方面可以大放异彩 因为Python有许多的第三方库 其中有很多库就支持我们对office软件进行操作 熟练的使用Python对office进行操作 可以实现自动化办公 极大提升我们的工作效率 本
  • 软件测试/测试开发/全日制/测试管理丨Redis内存数据库

    Redis是一种开源 内存中的数据结构存储系统 它提供了高性能 灵活性和丰富的数据结构 以下是Redis内存数据库的基本介绍 键值存储 Redis基于键值对的存储模型 其中每个键都与一个特定的值相关联 这种简单的数据模型使其易于使用和理解
  • 软件测试/测试开发/全日制/测试管理丨Python深拷贝与浅拷贝

    深拷贝和浅拷贝是两种不同的拷贝方式 它们在处理可变对象 如列表 字典 时有着不同的行为 以下是深拷贝和浅拷贝的主要区别 1 浅拷贝 Shallow Copy 创建方式 浅拷贝通过复制原始对象 创建一个新对象 但对于原始对象中的可变对象 如列
  • 2种方法,教你使用Python实现接口自动化中的参数关联

    通常在接口自动化中 经常会参数关联的问题 那么什么是参数关联 参数关联就是上一个接口的返回值会被下一个接口当做参数运用 其中Python中可以实现参数关联的方法有很多种 今天小编给大家介绍下 如何通过Python来实现接口自动化中的参数关联
  • Jenkins 插件下载速度慢、安装失败了!我教你怎么解决!

    Jenkins部署完毕 如果不安装插件的话 那它就是一个光杆司令 啥事也做不了 所以首先要登陆管理员账号然后点击系统管理再点击右边的插件管理安装CI CD必要插件 但是问题来了 jenkins下载插件速度非常慢 而且经常提示下载插件失败 真
  • 外包干了3个月,技术退步明显。。。。。

    先说一下自己的情况 本科生 19年通过校招进入广州某软件公司 干了接近4年的功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了四年的功能测试 已经让我变得不思进取 谈了2年的女朋友
  • 软件测试|深入了解Python中的super()函数用法

    简介 Python中的super 函数是一种强大的工具 用于在子类中调用父类的方法 它在面向对象编程中非常有用 可以让你轻松地扩展和重用现有的类 本文将详细介绍super 函数的用法 并提供一些示例来帮助你更好地理解它的功能 什么是supe
  • 软件测试|使用matplotlib绘制多种折线图

    简介 在数据可视化领域 Matplotlib是一款非常强大的Python库 它可以用于绘制各种类型的图表 包括折线图 本文将介绍如何使用Matplotlib创建多种不同类型的折线图 并提供示例代码 创建模版 在绘图之前 我们可以先创建我们的
  • 软件测试|Selenium StaleElementReferenceException 异常分析与解决

    简介 Selenium 是一个流行的自动化测试工具 用于模拟用户与网页交互 然而 当我们在使用 Selenium 时 可能会遇到一个常见的异常 即 StaleElementReferenceException 这个异常通常在我们尝试与网页上
  • 软件测试|web自动化测试神器playwright教程(三十八)

    简介 在我们使用selenium时 我们可以获取元素的属性 元素的文本值 以及输入框的内容等 作为比selenium更为强大的web自动化测试神器 playwright也可以实现对元素属性 文本值和输入框内容的抓取 并且实现比seleniu
  • 软件测试|使用Python读写yaml文件,你会了吗?

    简介 YAML YAML Ain t Markup Language 是一种可读的数据序列化格式 它常用于配置文件和数据交换 Python 提供了许多库来处理 YAML 文件 在本文中 我们将探讨如何使用 PyYAML 库来读取和写入 YA
  • 软件测试|使用matplotlib绘制多种柱状图

    简介 在数据可视化领域 Matplotlib是一款强大的Python库 它可以用于创建多种类型的图表 包括柱状图 本文将介绍如何使用Matplotlib创建多种不同类型的柱状图 并提供示例代码 创建基本柱状图 首先 让我们创建一个基本的柱状
  • 盲猜你不懂H5架构和原生架构的区别

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 跨平台UI自动化框架:Airtest,游戏开发和应用测试的利器

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 一篇文章带你了解Python常用自动化测试框架——Pytest

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 月薪2W的软件测试工程师,到底是做什么的?

    在生活中 我们常常会遇到以下几种窘迫时刻 准备骑共享单车出行 却发现扫码开锁半天 车子都没有反应 手机导航打车 却发现地图定位偏差很大 司机总是跑错地方 买个水 却遭遇自动售货机吐币 或者不找零钱 好不容易休息打个游戏 却一直出现卡顿 闪退
  • Web自动化测试 —— capability参数配置

    一 capability概述 capability是webdriver支持的标准命令之外的扩展命令 配置信息 配置web驱动属性 如浏览器名称 浏览器平台 结合selenium gird完成分布式 兼容性测试 官网地址 https www
  • Airtest自动化测试工具

    一开始知道Airtest大概是在年初的时候 当时 看了一下官方的文档 大概是类似Sikuli的一个工具 主要用来做游戏自动化的 通过截图的方式用来解决游戏自动化测试的难题 最近 移动端测试的同事尝试用它的poco库来做自动化 看样子还不错

随机推荐

  • 阿里云oss使用教程

    一 准备工作 1 点击 注册账号账号 输入用户名 密码 手机号 2 实名阿里云账号 点击跳到个人中心 对阿里云账号进行实名 这里我建议选择企业实名 3 购买阿里云OSS 打开OSS入口 选择 OSS资源包 地区 中国大陆 标准 本地冗余存储
  • jeesite框架下获取当前登录人的部门编号部门名称以及姓名:

    部门编号 String dept StringUtils isNotBlank EmpUtils getOffice getOfficeCode EmpUtils getOffice getOfficeCode 部门名称String dep
  • 第十二讲:生成树概念及STP技术应用

    在传统的交换网络中 设备通过单条链路进行连接 当某一个点或是某一个链路发生故障时可能导致网络无法访问 解决这种问题的办法是在网络中提供冗余链路 但是交换机网络中的冗余链路会产生广播风暴 MAC地址失效等现象 最终出现的结果就是网络瘫痪 为避
  • 如何一眼分辨是C还是C++

    C语言的历史 C语言是由贝尔实验室的Dennis Ritchie在20世纪70年代初开发的一种通用程序设计语言 在早期的计算机时代 许多计算机使用不同的汇编语言编写程序 这导致了程序的可移植性和代码的可重用性很低 因此 Dennis Rit
  • markdown模板(个人使用)

    头部1 博客标签规定 文章目录 一 常用可以内嵌的HTML标签 一 标题 知识点 知识点 二 图片 三 字体 五 表格 六 锚链接 七 Typora中的技巧 一 常用可以内嵌的HTML标签
  • 编译原理第二版3.4答案

    3 4 节的练习 3 4 1 给出识别练习 3 3 2 中各个正则表达式所描述的语言状态转换图 解答 解答步骤 NFA gt DFA gt 最少状态的 DFA 状态转换图 a a b a NFA DFA NFA DFA a b 0 A B
  • 报错: 登录异常:Could not read JSON: Could not resolve type id ‘com.macro.mall.tiny.modules.ums.model.UmsAd

    全部报错信息 登录异常 Could not read JSON Could not resolve type id com macro mall tiny modules ums model UmsAdmin as a subtype of
  • 无法登录到你的账户,通常可以通过从你的账户注销,然后重新登录

    1 点击 系统属性 2 点击 高级系统设置 3 点击 高级 点击用户配置文件的设置 删除指定的用户账号 重启才能登录账号
  • C++ 标识符

    标识符 lt cpp language 一个标识符是一个由数字 下划线 小写和大写拉丁字母 和大多数 Unicode 字符 见下文的详细说明 组成的任意长度的序列 有效的标识符必须以一个非数字字符 拉丁语字母 下划线或 Unicode 非数
  • java 事件监听connection_java 事件监听

    事件监听实现 三要素 1 事件源 数据源 要处理的数据 2 事件 承载数据 传递信息并被监听 3 监听器 负责对数据的业务处理 该开发用例采用了Spring的事件监听 1 定义事件类型 public class MyEvent extend
  • unity——Rigidbody类 (刚体)

    unity Rigidbody类 刚体 博客分类 unity3d unity Rigidbody类 转载自 http hi baidu com quibos item 0b035e15e63041b499ce33d8 游戏对象添加Rigid
  • mybatis源码,从配置到 mappedStatement —— mapper.xml 是如何被解析的?

    个人博客导航页 点击右侧链接即可打开个人博客 大牛带你入门技术栈 Ext1 本文源码解析基于 mybatis spring boot starter 2 1 1 即 mybatis 3 5 3 版本 Ext2 本文主要是对源码的讲解 着重点
  • 学习入门 MQTT 协议原理与应用场景

    学习认识 MQTT 协议 掌握学习MQTT协议 本文章学习借鉴于太极创客团队 以表感谢 官网http www taichi maker com 文章目录 学习认识 MQTT 协议 一 MQTT是什么 1 MQTT版本 二 MQTT基本原理
  • 【计算机技术】我用两句话在电脑课上解除了老师的控制

    前言 时光荏苒 日月如梭 转眼间暑假就过完了 我又回到了校园的怀抱 不过这不重要 在语数外之余 我每周还是有两节电脑课的 但是 事情远没有我想的这样美好 就在我满怀期待的准备一展身手 啪 很快啊 美好的一节电脑课从被老师控制结束 要是放在以
  • 机器学习——sklearn转换器和预估器(估计器)

    这里写目录标题 学习目标 1 转换器 特征工程的父类 2 预估器 估计器 estimator 学习目标 目标 知道sklearn的转换器和预估器的执行流程 内容预览 转化器 预估器 估计器 sklearn机器学习算法的实现 1 转换器 特征
  • webpack打包用的cdn,速度明显加快,只要10秒不到,全部import需要近一分钟,--最终算是彻底失败-axios

  • Swin-Unet模型代码详解及改进思路

    Swim unet是针对水下图像分割任务提出的一种模型结构 其基于U Net模型并加入了Swin Transformer模块 可以有效地解决水下图像分割中的光照不均匀 噪声干扰等问题 Swim unet模型代码详解 首先 在导入必要的库后
  • 虚拟化磁盘模式、数据存储详解

    虚拟化磁盘模式 数据存储详解 1 配置模式 1 1 普通 1 2 普通延迟置零 1 3 精简 2 磁盘模式 2 1 从属 2 2 独立 持久 2 3 独立 非持久 3 数据存储 3 1 虚拟化类型数据存储 3 2 非虚拟化类型数据存储 3
  • Web和HTTP

    目录 HTTP概况 Web术语 HTTP基本 HTTP是无状态协议 HTTP连接方式 非持续连接HTTP 例子 花费时间 持续连接的HTTP 非持续的缺点 HTTP报文格式 请求报文 HTTP请求报文的通用格式 及GET POST HEAD
  • 性能测试基础

    性能测试基础知识 性能测试的定义 衡量软件的性能需要考虑的三点内容 性能测试的分类 压力测试 负载测试 容量测试 强度测试 配置测试 基准测试 并发测试 性能指标 响应时间 吞吐量 服务器资源占用 以下内容比较枯燥 但是作为基础无法绕开 就