自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 功能测试用例和设计测试用例

把输入数据划分为“有效等价类”和“无效等价类”,在每个类中选择一个代表值进行测试。例:电商下单流程:登录 → 选择商品 → 购物车 → 下单 → 支付 → 成功。例:输入范围 1–100 → 测 0, 1, 2, 99, 100, 101。记录测试执行后的结果,比如“通过 / 失败 / 阻塞 / 未执行”。把输入条件看作原因,输出看作结果,通过逻辑图表示,再转化成测试用例。在执行用例前需要满足的条件,如“用户已注册”“系统已启动”。执行步骤时所需的数据,例如用户名、密码、文件路径等。

2025-08-29 15:06:23 374

原创 软件测试基础

目标:评估测试活动,输出总结报告。工作内容检查是否完成测试计划中的目标。分析缺陷分布、质量风险。输出测试总结报告。复盘:改进测试流程和方法。产出:测试总结报告(Test Summary Report)。定义回归测试是指在软件修改(修复缺陷、增加功能、代码重构、性能优化等)后,重新执行之前的测试用例,确认修改没有引入新的问题,并且原有功能仍然正常。

2025-08-27 16:01:12 961

原创 MySQL的存储引擎和索引

B+树单点查询效率高、且性能稳定,非常适合数据库场景。

2025-08-21 15:28:30 587

原创 数据库和缓存一致性

在分布式系统中,通常会采用数据库 + 缓存(如 Redis)的组合。数据库:存储真实、权威的数据。缓存:存储热点数据,加速访问,减轻数据库压力。一致性:指缓存中的数据与数据库中的数据在同一时间点上是否相同。如果两者数据不同步,就叫做数据库和缓存不一致。

2025-08-20 15:58:44 346

原创 Redis 缓存雪崩、缓存穿透和缓存击穿

在应用层做“请求合并”:多个相同请求合并为一次请求,只允许一个真正查数据库,其余复用结果。或缓存服务宕机,导致大量请求直接打到数据库/后端,瞬间造成压力激增,可能导致数据库崩溃。对于访问量极高的热点数据(比如首页推荐、热门商品),直接设置缓存永不过期。本地缓存(Guava、Caffeine) + 分布式缓存(Redis)。类似“雪崩”,因为缓存层失效后,大量请求倾泻到数据库。每次请求都会绕过缓存,直接打到数据库,造成无效压力。:请求的 key 不存在(缓存和数据库都没数据)。

2025-08-20 14:19:29 541

原创 Redis 的数据类型、线程模型和持久化机制

Redis 使用操作系统提供的 I/O 多路复用机制,可以同时监听多个客户端的 socket 连接。当某个 socket 可读/可写时,操作系统会通知 Redis,Redis 再去处理对应的请求。Redis 的核心逻辑(命令解析、数据读写)是单线程的。优点:结合了 RDB 恢复快和 AOF 更安全的优点,启动时先加载 RDB,再加载少量 AOF 日志。机制:在重写 AOF 时,先把内存快照(RDB方式)写入 AOF 文件开头,后续再追加命令日志。存储键和值的映射,适合存储对象(如用户信息)。

2025-08-19 19:44:38 467

原创 MySQL和Redis

支持 String、Hash、List、Set、Sorted Set、Bitmap、HyperLogLog、Geo等。Redis 内部的数据结构都经过精心优化,像哈希表(dict)、跳表(skiplist)、压缩列表和整数集合都适合快速查找。:主要在内存中操作,速度极快,可以选择是否持久化(RDB 快照、AOF 日志),更适合缓存、实时计算场景。:I/O 瓶颈明显,单次查询速度相对较慢(毫秒级),但适合海量数据的持久存储和复杂查询。:基于内存操作,读写速度非常快(微秒级),适合高并发读写。

2025-08-19 19:03:55 462

原创 SQL基础

如果命中缓存,直接返回结果,跳过解析和执行阶段,但 MySQL 8.0 之后,查询缓存被移除,因为它在高并发场景下弊大于利。数据库的事务隔离级别决定了在多个事务并发执行时,一个事务中的操作和数据是否对其他事务可见。事务是一个最小的操作单元,要么全部成功,要么全部失败,不会出现只执行了一部分的情况。事务一旦提交,其对数据库的修改就是永久性的,即使系统宕机也不会丢失。并发事务之间相互隔离,一个事务的执行不能被其他事务干扰。一个事务在执行期间,多次读取同一条数据时,结果是一致的。

2025-08-18 18:28:01 202

原创 常用 Linux 命令 continued

netstat -tulnp | grep 端口号。ss -tulnp | grep 端口号。ps aux | grep 进程名。pgrep -1 进程名。lsof -i: 端口号。

2025-08-13 15:57:25 223

原创 常用Linux命令速查表

netstat -tulnp:查看端口(需root)ifconfig/ip a:查看网络信息。gzip/gunzip:压缩/解压 gz。zip/unzip:压缩/解压 zip。tail:查看最后 N 行/动态跟踪。htop:彩色交互式监控(需安装)nano/vim:文本编辑器。free -h:内存使用情况。kill -9:强制杀死进程。id:查看 UID/GID。uname -a:系统信息。uptime:系统运行时间。bg/fg:后台/前台运行。head:查看前 N 行。df -h:磁盘使用情况。

2025-08-13 15:40:21 313

原创 常见页面置换算法

页面置换算法(Page Replacement Algorithm)是虚拟内存管理中决定当物理内存已满时,应该淘汰哪一页的策略。它的目标是尽量减少缺页中断(Page Fault)的次数。下面是常见的页面置换算法。

2025-08-12 17:17:21 333

原创 几种线程同步机制

线程同步机制是在多线程程序中,用来协调多个线程对共享资源的访问、防止数据冲突、保证执行顺序正确的一系列方法和工具。

2025-08-12 16:26:46 292

原创 对虚拟内存的理解

虚拟内存(Virtual Memory)是一种由操作系统和硬件共同实现的内存管理技术,它为每个程序提供一个独立的、连续的虚拟地址空间。操作系统将程序使用的虚拟地址映射到实际的物理内存或辅助存储(如硬盘)上,从而实现内存容量的扩展、内存保护和地址空间隔离。

2025-08-11 17:47:32 479

原创 几种典型锁简介

锁的核心作用是保证同一时刻只有一个线程可以访问共享资源,防止数据的冲突和破坏。

2025-08-11 16:54:55 395

原创 死锁简介及避免死锁的方法

死锁是指一组进程在运行过程中,因为竞争资源或者相互等待而造成的一种僵局,此时如果没有外部干预,这些进程将会一直阻塞下去。

2025-08-11 15:47:21 416

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除