- 博客(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
原创 数据库和缓存一致性
在分布式系统中,通常会采用数据库 + 缓存(如 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
原创 对虚拟内存的理解
虚拟内存(Virtual Memory)是一种由操作系统和硬件共同实现的内存管理技术,它为每个程序提供一个独立的、连续的虚拟地址空间。操作系统将程序使用的虚拟地址映射到实际的物理内存或辅助存储(如硬盘)上,从而实现内存容量的扩展、内存保护和地址空间隔离。
2025-08-11 17:47:32
479
原创 死锁简介及避免死锁的方法
死锁是指一组进程在运行过程中,因为竞争资源或者相互等待而造成的一种僵局,此时如果没有外部干预,这些进程将会一直阻塞下去。
2025-08-11 15:47:21
416
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅