测试开发体系介绍——测试体系介绍-L1
目录:
- 软件测试基础概念
- 软件测试:
- 软件测试作用:
- 软件缺陷:
- 软件测试原则:
- 软件测试对象:
- 测试用例
- 软件开发流程
- 软件:
- 软件生命周期:
- 软件开发流程:
- 瀑布模型:
- 瀑布模型优缺点
- 敏捷开发模型:
- XP - 极限编程:
- SCRUM:
- DevOps:
- DevOps 生命周期:
- DevOps 对发布的影响
- CI/CD
- CD 与 DevOps 的关系
- 测试流程体系
- 软件测试模型:
- V模型
- W模型
- H模型:
- 软件测试工作流程:
- 传统测试流程:
- 系统测试流程:
- Bug管理流程:
- 测试左移和测试右移
- 测试左移
- 测试左移-质量保障手段(方法)
- 测试右移
- 测试右移-线上监控
- 软件测试模型:
- 测试技术体系
- 软件测试分类:
- 黑盒测试:
- 白盒测试:
- 自动化分层测试体系
- 单元测试
- 接口测试:
- 接口测试方法:
- UI 测试:
- 常用测试平台
- 测试用例管理平台
- JIRA 测试用例管理
- Xray Test Management
- RedMine 系统
- TestLink
- Bug 管理平台
- 代码管理平台
- GitLab
- 持续集成管理平台
- Jenkins 平台
- 测试用例管理平台
- 流程管理平台
- JIRA 管理平台
- JIRA 中的基本概念
- JIRA 管理测试用例流程
- JIRA 管理 Bug 流程
- 项目管理与跨部门沟通协作
- 项目管理:
- 需求阶段:
- 设计阶段
- 开发阶段:
- 集成测试阶段
- 系统测试阶段
- 软件项目管理的方法
- 跨部门沟通协作 - 与产品沟通
- 跨部门沟通协作 - 与研发沟通
- 跨部门沟通协作 - 上下游测试配合
- 项目实例
- 测试经典书籍拆分讲解
- 全程软件测试
- 探索式测试
- Google测试之道
- 持续交付
- 不测的秘密
1.软件测试基础概念
软件测试:
- 通过手工或者工具对 “被测对象”进行测试
- 验证实际结果与预期结果之间是否存在差异
软件测试作用:
- 通过测试工作可以发现并修复软件当中存在的缺陷,从而提高用户对产品的使用信心
- 测试可以降低同类型产品开发遇到问题的风险
软件缺陷:
- 软件缺陷被测试工程师和开发工程师们称作 bug
- 软件缺陷会导致软件不能正常运行,它的存在会在一定程度上导致软件不能满足用户的需求,甚至有可能破坏或泄漏用户的重要数据
软件测试原则:
- 测试显示缺陷的存在
- 穷尽测试是不可能的
- 测试尽早介入
- 缺陷集群性(2/8原则)
- 杀虫剂悖论
- 测试活动依赖于测试内容
- 没有错误是好是谬论
软件测试对象:
- 需求分析阶段:需求文档、接口文档
- 编码实现阶段:源代码
- 系统功能使用:软件程序
测试用例
- 为特定的目的而设计的一组测试输入、执行步骤和预期的结果,以便测试产品否满足某个特定需求的文档
2.软件开发流程
软件:
- 软件是与计算机系统操作有关的计算机程序、可能有的文档及数据。
软件生命周期:
- 定义问题
- 软件开发
- 软件维护
软件开发流程:
- 为了使软件开发的工作系统化并且可控制;
- 需要采用合适的软件开发模型和开发过程管理所有的活动。
瀑布模型:
- 软件开发的各项活动严格按照线性方式进行。
- 当前活动接受上一项活动的工作结果。
- 当前活动的工作结果需要进行验证。
瀑布模型优缺点
- 优点:
- 开发的各个阶段比较清晰。
- 强调早期计划及需求调查。
- 适合需求稳定的产品开发。
- 缺点:
- 早期的错误可能要等到开发后期的阶段才能发现。
- 由于开发模型是线性的,增加了开发的风险。
敏捷开发模型:
- 适用于需求频繁变化和需要快速开发的场景。
- XP
- SCRUM
XP - 极限编程:
SCRUM:
敏捷模型总结
- 增量迭代
- 小步快跑
DevOps:
DevOps 生命周期:
- 持续开发
- 持续测试
- 持续集成
- 持续部署
- 持续监控
DevOps 对发布的影响
- 减少变更范围
- 加强发布协调
- 自动化
CI/CD
- 持续集成(Continuous Integration,缩写为 CI):
- 一种软件开发实践。
- 团队开发成员每天可能会发生多次集成。
- 每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证。
- 根据测试结果确定新代码和原有代码能否正确地集成在一起。
- 持续交付(Continuous Delivery,缩写为 CD)
- 是一种软件工程手法。
- 让软件产品的产出过程在一个短周期内完成。
- 保证软件可以稳定、持续的保持在随时可以发布的状况。
- 目标:
- 让软件的构建、测试与发布变得更快以及更频繁。
- 减少软件开发的成本与时间,减少风险。
CD 与 DevOps 的关系
- DevOps 的范围更广:
- DevOps 是软件交付过程所涉及的多个团队之间的合作。
- 并且将软件交付的过程自动化。
- 持续交付是一种自动化交付的手段:
- 关注点在于将不同的过程集中起来。
- 并且更快、更频繁地执行这些过程。
- 总结:DevOps 可以是持续交付下的一个产物,持续交付的成果直接汇入 DevOps 模型。
3.测试流程体系
软件测试模型:
V模型
- V模型是瀑布模型的一种改进
- V模型标明了测试过程中的不同阶段
V模型的优缺点
优点
- 既有底层测试又有高层测试。
- 将开发阶段清楚的表现出来,便于控制开发的过程
缺点
- 容易让人误解为测试是在开发完成之后的一个阶段。
- 由于它的顺序性,当编码完成之后,正式进入测试时,这时发现的一些bug可能不容易找到其根源,并且代码修改起来很困难。
- 如果需求变更较大,导致要重复变更需求、设计、编码、测试。返工量大。
W模型
- W模型明确表示出了测试与开发的并行关系
- W模型中测试伴随着整个软件开发周期,并且测试的对象不仅仅是程序,需求和设计同样要测试
W模型的优缺点:
优点
- 将测试贯穿到整个软件的生命周期中,且除了代码要测试,需求、设计等都要测试。
- 更早的介入到软件开发中,能尽早的发现缺陷进行修复
- 测试与开发独立起来,并与开发并行。
缺点
- 无法支持迭代的开发模型
- 对有些项目,开发过程中根本没有文档产生,故W模型无法使用。。对于需求和设计的测试技术要求很高,实践起来很困难。
H模型:
- 软件开发中需求、设计、编码等活动被分阶段执行、但是实践中,他们并不是完全串行的,它们之间更多时候是交叉进行的,更多的是迭代执行
- 把测试活动完全独立出来,形成一个完全独立的流程,将测试准备活动和测试执行活动清晰地体现出来
优点
- 软件测试完全独立,贯穿整个生命周期,且与其他流程并发进行。
- 软件测试活动可以尽早准备、尽早执行,具有很强的灵活性
缺点
- 测试就绪点分析困难
- 对于整个项目组的人员要求非常高
软件测试工作流程:
传统测试流程:
系统测试流程:
Bug管理流程:
测试左移和测试右移
测试左移
- 左移是往测试之前的开发阶段移
- 测试团队在软件开发周期早期就开始介入。
- 对代码进行测试
- 从发现bug到预防bug
测试左移-质量保障手段(方法)
- 代码评审(code review)
- 代码审计
- 单元测试
- 自动化冒烟测试。研发自测
测试右移
- 右移是往发布之后移。
- 产品上线后进行线上监控。
测试右移-线上监控
- 闭环的线上问题反馈-检查-解决-更新流程
- 更便捷的日志查看、回传服务
- 丰富有效的log,便于问题的快速定位。
- 丰富的监控指标(例如业务异常点指标)。
- 业务监控(例如短信发送等)
- 关键指标每日监控(服务器指标)。
- 生产数据监控(警报)
4.测试技术体系
软件测试分类:
黑盒测试:
- 黑盒测试又称数据驱动测试。
- 完全不考虑程序内部结构和内部特性。
- 注重于测试软件的功能需求。
- 只关心软件的输入数据和输出数据。
白盒测试:
- 白盒测试研究产品内部的源代码和程序结构。
- 单元测试就是白盒测试的一种。
自动化分层测试体系
- 70% 单元测试。
- 20% 服务测试。
- 10% 用户界面测试。
单元测试
- Java
- JUnit
- TestNG
- Python
- unittest
- pytest
接口测试:
- 接口全称 Application Programming Interface,一般称作 API。
- 接口测试是针对软件对外提供服务的接口的输入输出进行测试。
- 检查接口参数传递的正确性。
- 接口功能实现的正确性。
- 输出结果的正确性。
- 对各种异常情况的容错处理的完整性和合理性。
接口测试方法:
- Charles、Fiddler
- postman
- Jmeter
- loadRunner
- python:Requests、HttpRunner
- Java:HttpClient、RestAssured
UI 测试:
- 手工方法:人工查看、操作。
- 自动化方法:
- Web:Selenium
- App:Appium
5.常用测试平台
测试用例管理平台
- JIRA:推荐方案,定制性很强。
- RedMine:推荐方案,开源,活跃,定制性很强。
- TestLink:流行的测试用例管理平台,体验不太好。
- 其他:Tapd、云效、禅道、GitLab、在线协作文档。
- 无协作模式:Excel、思维导图。
JIRA 测试用例管理
Xray Test Management
RedMine 系统
TestLink
Bug 管理平台
- 通常与用例管理平台一致。
- 测试用例、Bug 都可以使用 issue 表达。
- 关联关系设定。
- 测试用例与 Bug 的属性设定。
代码管理平台
- GitLab:可本地部署的 Git 代码管理平台,行业标准。
- SubVersion:SVN 管理,已经过时。
- GitHub:开源项目运作。
- BitBucket:与 JIRA 同属一家公司 Altassian。
GitLab
持续集成管理平台
- Jenkins:持续集成与持续交付的主流平台。
- GitLab Runner:GitLab 的持续交付方案。
- GitHub Action:GitHub 的开源方案。
- 自建 DevOps 平台:企业定制平台,Tapd、云效等。
Jenkins 平台
持续集成与持续交付:
- 研发:
- 构建、单元测试 + 覆盖率分析。
- 自动化代码审计。
- 运维:自动化部署。
- 测试:
- 接口测试。
- UI自动化测试。
- 专项测试自动化。
- 性能测试、安全测试。
6.流程管理平台
JIRA 管理平台
- 推荐方案。
- 定制性很强。
JIRA 中的基本概念
- Project 项目
- Issue 问题
- Field 字段
- Workflow 工作流
- Screen 视图
JIRA 管理测试用例流程
- 创建测试用例管理项目。
- 录入用例。
- 测试用例状态转化。
JIRA 管理 Bug 流程
- 创建 Bug 管理项目。
- 从用例关联到 Bug。
- 在项目中录入 Bug。
- Bug 状态转化。
7.项目管理与跨部门沟通协作
项目管理:
需求阶段:
项目经理 | 产品 | 研发 | 测试 |
---|---|---|---|
活动 1. 在项目管理工具中建立项目目录 2. 分析项目所需资源、风险等 3. 预估项目周期 | 活动 1. 收集整理需求 | 参与 1. 需求分析 2. 环境分析 | 参与 1. 需求分析 2. 环境分析 |
产出 1. 项目计划(大致时间规划) | 产出 1. 需求文档 |
设计阶段
项目经理 | 产品 | 研发 | 测试 |
---|---|---|---|
活动 1. 监控项目进度 2. 组织安排本阶段的评审 3. 任务分解,责任到人 4. 细化项目计划 | 活动 1. 系统功能设计 | 活动 1. 系统功能技术设计 2. 数据库设计 | 活动 1. 组织测试计划评审 |
产出 1. 项目计划(具体到各个功能) | 产出 1. 系统说明书 | 产出 1. 概要设计文档 2. 详细设计文档 | 产出 1. 测试计划 |
开发阶段:
项目经理 | 产品 | 研发 | 测试 |
---|---|---|---|
活动 1. 监控项目进度 2. 调整人员安排 3. 跟踪解决技术难点 | 参与 1. 需求细节沟通 | 活动 1. 具体功能开发 2. 组织 code review 3. 单元测试 | 活动 1. 编写测试用例 2. 组织测试用例评审 |
产出 1. 项目计划(更新进度) 2. 项目报告进度 | 产出 1. 功能代码 2. 单元测试代码 | 产出 1. 测试用例 |
集成测试阶段
项目经理 | 产品 | 研发 | 测试 |
---|---|---|---|
活动 1. 监控项目进度 2. 跟踪解决技术难题 | 参与 1. 需求细节沟通 2. Bug 修改方案 | 活动 1. 集成测试 2. 修改 Bug | 活动 1. 支持研发进行集成测试 2. 准备测试数据 3. 准备自动化测试用例 |
产出 1. 项目报告进度 | 产出 1. 集成测试报告 2. 部署测试环境 |
系统测试阶段
项目经理 | 产品 | 研发 | 测试 |
---|---|---|---|
活动 1. 分配 Bug 2. 跟踪解决技术难题 | 参与 1. 需求细节沟通 2. Bug 修改方案 | 活动 1. 支持测试 2. 修改 Bug | 活动 1. 测试环境搭建 2. 补充测试数据 3. 功能测试 4. 自动化测试 |
产出 1. 项目报告进度 | 产出 1. 系统测试报告(执行报告) 2. 缺陷报告 |
软件项目管理的方法
- 制定项目计划。
- 执行该计划并监控跟踪管理。
- 项目风险应对与问题解决。
- 项目收尾。
跨部门沟通协作 - 与产品沟通
- 需求评审会。
- 在分析需求阶段。
- 在测试用例编写阶段。
- 在测试过程中。
跨部门沟通协作 - 与研发沟通
- 在分析需求阶段。
- 在测试用例编写阶段。
- 在测试过程中。
- 在线上监控发现 Bug 时。
跨部门沟通协作 - 上下游测试配合
- 测试计划沟通。
- 环境对接。
- 熟悉业务。
项目实例
8.测试经典书籍拆分讲解
全程软件测试
- 测试行业的经典书籍
- 测试方法
- 测试策略
- 领域测试
- 主流测试技术
- 涵盖了软件测试的流程与方法体系
探索式测试
- 探索式测试的经典代表性书籍
- 探索式测试是业务测试和手工测试实践中的一个方法论
Google测试之道
- 高级测试工程师与架构师必读
- 讲解google的测试策略与方法
- 以及google对软件开发与测试的理解
持续交付
- 持续交付的经典书籍
- 现代化软件研发与测试的启蒙
- 持续交付 1.0
- 持续交付 2.0
不测的秘密
- 腾讯TMQ出品
- 精准化测试代表性书籍
相关文章:

测试开发体系介绍——测试体系介绍-L1
目录: 软件测试基础概念 软件测试:软件测试作用:软件缺陷:软件测试原则:软件测试对象:测试用例软件开发流程 软件:软件生命周期:软件开发流程:瀑布模型:瀑布模型优缺点敏捷开发模型: XP - 极限编程:SCRUM:DevOps:DevOps 生命周期:DevOps 对发…...
Linux中的链接运算符详解 - 提高编程效率与性能
Linux 命令的链接意味着,组合多个命令并根据它们之间使用的操作符的行为使它们执行。 Linux 中的命令链就像您在 shell 本身编写简短的 shell 脚本,然后直接从终端执行它们。链接使得流程自动化成为可能。 此外,无人值守的机器可以在链接操作…...

JS模块化规范之ES6及UMD
JS模块化规范之ES6及总结 前言ES6模块化概念基本使用ES6实现 UMD(Universal Module Definition)总结 前言 ESM在模块之间的依赖关系是高度确定的,与运行状态无关,编译工具只需要对ESM模块做静态分析,就可以从代码字面中推断出哪些模块值未曾被…...

XM平台官网开户注册流程图解
注册前准备 在进行XM外汇官网注册之前,首先需要准备必要的信息,包括个人身份信息、联系方式以及相关财务信息。确保这些信息的准确性是保证注册流程顺利进行的关键。 一、要访问XM外汇官方网站,首先打开您的浏览器。在浏览器的地址栏中输入…...

【Linux进阶之路】线程
文章目录 一、初始线程1.概念2.执行3.调度4.切换 二、线程控制1.创建2.等待3.分离4.退出5.取消 三、线程安全1.互斥1.1初始1.2理解1.3锁1.3.1概念1.3.2原理1.3.4死锁 2.同步2.1概念2.2原理 3.生产消费者模型 总结尾序 一、初始线程 1.概念 简单的概念: 线程就是一…...

个性化TikTok外贸工具定制!突破营销新境界!
随着全球化的加速发展,外贸行业正面临着前所未有的机遇和挑战,在这个竞争激烈的市场环境中,如何脱颖而出,吸引更多的潜在客户,成为每个外贸企业亟待解决的问题,而个性化TikTok外贸工具的定制,正…...

设计模式-门面模式
设计模式专栏 模式介绍模式特点应用场景门面模式和代理模式的区别代码示例Java实现门面模式Python实现门面模式 门面模式在spring中的应用 模式介绍 门面模式是一种常用的软件设计模式,也称为外观模式。它提供了一个高层次的接口,将一个子系统的外部与内…...

搭建接口自动化测试框架python+requests+pytest
安装python(最好是比较新比较稳定的版本),然后是python的解释器或者叫编译器pycharm安装后新建一个项目,以此项目为基础,安装依赖搭建框架。打开pycharm,点击左上角的File->New project->弹出如下界面…...
一套rk3588 rtsp服务器推流的 github 方案及记录 -02
整体方案参考上一篇博文 https://blog.csdn.net/qq_31764341/article/details/134810566 本篇博文主要介绍基于RK3588进行硬解码 还是之前的套路,我不生产代码,我只是代码的搬运工,今天我们搬运瑞芯微的官方代码,并记录下来整个调…...
docker运行java程序的Dockerfile
1,docker运行java程序的Dockerfile # 使用基础镜像 FROM alpine:latest # 暴露容器的端口 不会自动将容器的端口映射到宿主机上 docker run -d -p <宿主机端口>:7080 <镜像名称> EXPOSE 9202 EXPOSE 19202 #下载jdk8 RUN apk update && apk a…...

docker数据卷数据卷容器
前言 今天调休在家,随便玩玩,简单做下学习记录 1. 数据卷特点 数据卷在容器启动时初始化,如果容器使用的镜像在挂载点包含了数据,这些数据会被拷贝到新初始化的数据卷中数据卷可以在容器之间共享和重用可以对数据卷里的内容直接…...

使用HTTP协议有哪些风险?HTTP与HTTPS的区别是什么
作为两种常见的网络协议,HTTP和HTTPS都是用于在浏览器和服务器之间传输数据的。然而在保障数据安全性方面,HTTPS远远优于HTTP。在网络安全愈发重要的当下,HTTP协议的不安全性使得其逐渐被淘汰弃用。那么使用HTTP协议有哪些风险呢?…...

【jvm从入门到实战】(十) 实战篇-内存调优
内存溢出和内存泄漏:在Java中如果不再使用一个对象,但是该对象依然在GC ROOT的引用链上,这个对象就不会被垃圾回收器回收,这种情况就称之为内存泄漏。内存泄漏绝大多数情况都是由堆内存泄漏引起的。少量的内存泄漏可以容忍&#x…...

设计模式分类
不同设计模式的复杂程度、 细节层次以及在整个系统中的应用范围等方面各不相同。 我喜欢将其类比于道路的建造: 如果你希望让十字路口更加安全, 那么可以安装一些交通信号灯, 或者修建包含行人地下通道在内的多层互通式立交桥。 最基础的、 底…...

【前缀和】【单调栈】LeetCode2281:巫师的总力量和
作者推荐 map|动态规划|单调栈|LeetCode975:奇偶跳 涉及知识点 单调栈 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 题目 作为国王的统治者,你有一支巫师军队听你指挥。 给你一个下标从 0 开始的整数数组 strength &…...

力扣面试经典题之二叉树
104. 二叉树的最大深度 简单 给定一个二叉树 root ,返回其最大深度。 二叉树的 最大深度 是指从根节点到最远叶子节点的最长路径上的节点数。 示例 1: 输入:root [3,9,20,null,null,15,7] 输出:3示例 2: 输入…...

图灵日记之java奇妙历险记--数据类型与变量运算符
目录 数据类型与变量字面常量数据类型变量语法格式整型变量浮点型变量字符型变量希尔型变量类型转换自动类型转换(隐式)强制类型转换(显式) 类型提升不同数据类型的运算小于4字节数据类型的运算 字符串类型 运算符算术运算符关系运算符逻辑运算符逻辑与&&逻辑或||逻辑非…...

PhysX——源码编译
从git下载源码 git主页 https://github.com/NVIDIA-Omniverse/PhysXclone地址 https://github.com/NVIDIA-Omniverse/PhysX.git源码编译 运行PhysX需要两个编译器的支持,CMake 3.12 或以上版本以及Python 2.7.6 版本 进入工程的 physx 目录,运行generate…...

小鹅通基于 TSE 云原生 API 网关的落地实践
导语 2023腾讯全球数字生态大会已于9月7-8日完美落幕,40专场活动展示了腾讯最新的前沿技术、核心产品、解决方案。 微服务与消息队列专场,我们邀请到了小鹅通的基础架构组负责人黄徐震为我们带来了《小鹅通基于 TSE 云原生网关的落地实践》的精彩演讲。…...
Postgresql处理JSON类型中替换某个属性值问题
一、问题描述 使用postgresql对json的特性使用sql批量处理json中某个属性的值 结构如下: {"id": 1,"parentId": 123,"globalParameters": [{"value": "date","boardId": 123,"canReName":…...
KubeSphere 容器平台高可用:环境搭建与可视化操作指南
Linux_k8s篇 欢迎来到Linux的世界,看笔记好好学多敲多打,每个人都是大神! 题目:KubeSphere 容器平台高可用:环境搭建与可视化操作指南 版本号: 1.0,0 作者: 老王要学习 日期: 2025.06.05 适用环境: Ubuntu22 文档说…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
oracle与MySQL数据库之间数据同步的技术要点
Oracle与MySQL数据库之间的数据同步是一个涉及多个技术要点的复杂任务。由于Oracle和MySQL的架构差异,它们的数据同步要求既要保持数据的准确性和一致性,又要处理好性能问题。以下是一些主要的技术要点: 数据结构差异 数据类型差异ÿ…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明
AI 领域的快速发展正在催生一个新时代,智能代理(agents)不再是孤立的个体,而是能够像一个数字团队一样协作。然而,当前 AI 生态系统的碎片化阻碍了这一愿景的实现,导致了“AI 巴别塔问题”——不同代理之间…...

MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

全志A40i android7.1 调试信息打印串口由uart0改为uart3
一,概述 1. 目的 将调试信息打印串口由uart0改为uart3。 2. 版本信息 Uboot版本:2014.07; Kernel版本:Linux-3.10; 二,Uboot 1. sys_config.fex改动 使能uart3(TX:PH00 RX:PH01),并让boo…...

2025季度云服务器排行榜
在全球云服务器市场,各厂商的排名和地位并非一成不变,而是由其独特的优势、战略布局和市场适应性共同决定的。以下是根据2025年市场趋势,对主要云服务器厂商在排行榜中占据重要位置的原因和优势进行深度分析: 一、全球“三巨头”…...

C++ 设计模式 《小明的奶茶加料风波》
👨🎓 模式名称:装饰器模式(Decorator Pattern) 👦 小明最近上线了校园奶茶配送功能,业务火爆,大家都在加料: 有的同学要加波霸 🟤,有的要加椰果…...

(一)单例模式
一、前言 单例模式属于六大创建型模式,即在软件设计过程中,主要关注创建对象的结果,并不关心创建对象的过程及细节。创建型设计模式将类对象的实例化过程进行抽象化接口设计,从而隐藏了类对象的实例是如何被创建的,封装了软件系统使用的具体对象类型。 六大创建型模式包括…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...