在本次阅读活动中,对《思考,快与慢》的学习与解读就如同获取一把解锁软件测试思维密码的钥匙。书中最主要提出了 “系统 1”(直觉驱动、快速反应)与 “系统 2”(理性分析、缓慢耗能)双系统理论,这与我们的软件测试工作诉求存在较高的契合。在测试工作中,我们既要对抗功能漏洞,更要警惕思维偏见,而这本书则启发我们的思维,运用快慢结合的智慧,坚守产品质量的防线。
系统 1 的 “快思维”激发测试工作的效率。在日常测试中,面对重复的回归测试场景、基础的功能验证的,系统 1 的经验直觉能帮我们快速覆盖常规流程。比如在测试运营商加盟商的充电订单功能时,凭借过往经验,我们能迅速跑完用户扫码充电、结束计费、生成订单等核心路径,快速揪出订单状态不更新、费用计算错误等显性 bug。在版本迭代快,时间紧张的情况下,这种 “快” 能节省大量时间,确保基础功能的快速验证。
但系统 1 的直觉依赖 “经验惯性”,容易陷入认知陷阱。曾在 IONCHI 项目中踩过这样的坑:回归测试时,凭直觉认为 “某个接口大部分字段没问题,状态就一定正常”,未核算所有字段,结果上线后出现部分用户无法查看电站价格的 bug,正是系统 1 的思维定式忽略了隐藏场景。
系统 2 的 “慢思维” 则兜底测试工作的风险。如果说系统 1 覆盖了 80% 的常规场景,那系统 2 就是拦住剩下 20% 关键漏洞的核心防线。尤其面对复杂功能和高风险模块,“慢” 比 “快” 更具价值。在测试多层级商户权限管理功能时,系统 1 只能想到 “运营商查看全量数据、加盟商仅看自身数据” 等基础场景,而系统 2 会推动我们拆解细节:注销商户的旧凭证能否仍访问数据?已注销账号调用接口是否会泄露营收信息?
同时在针对复杂多场景的测试设计中,系统2能够帮助测试工作更加清晰地展开。在 CLP 项目的充电订单组合支付测试中,使用系统 2 刻意拆解核心规则,梳理出优惠券与代币包的抵扣优先级、跨电站支付的适用范围约束等关键逻辑,挖掘出“跨电站订单部分适用优惠的金额拆分” 的边界场景,并且在测试过程中成功发现该场景下的bug,有效避免了隐性漏洞。
书中对认知偏见的剖析,更让我们意识到测试工作不仅要防 “软件 bug”,更要防 “思维 bug”。锚定效应在测试中尤为隐蔽:开发一句 “简单修改无风险”,就可能让我们锚定 “无需全量回归”,却忽略了模块之间的连锁影响;沿用历史用例时,过往的 bug 类型会成为锚点,导致新业务逻辑的漏洞被忽视。
而可得性启发则让我们习惯于关注高频场景,却对 “小概率高影响” 的异常场景视而不见 —— 就像在积分商城测试中,我们覆盖了全部电站、部分电站等常见配置,却忽略了 “所有配置电站对用户均不可见” 的极端场景。这些思维偏见的本质,都是使用系统 1 进行 “偷懒”,唯有激活系统 2 的慢思维,通过交叉评审用例、建立漏测案例库、反向推导异常场景等方式,才能打破认知惯性。
当然,我们的测试工作从来不是非快即慢的选择,而是快慢协同的艺术。将双系统思维融入测试全流程:写测试计划时,用系统 2 梳理风险点和边界场景;执行常规测试时,用系统 1 提升效率;复盘 bug 时,用系统 2 追溯思维漏洞;遇到偶发问题时,拒绝 “网络波动”“环境问题” 的模糊归因,通过全量日志分析、多场景复现找到问题本质。在自动化测试中,也建立了 “双系统校验机制”:系统 1 快速调度成熟脚本完成常规回归,系统 2 通过规则引擎比对和历史故障复盘进行二次校验,让漏测率从 8% 降至 1.2%。
《思考,快与慢》是让我们理解思维的边界,并用科学的方法实现平衡。软件测试的本质是对抗不确定性,而系统 1 的高效与系统 2 的严谨,正是应对未知的两大武器。我们将继续带着这本书的智慧,既不被直觉绑架,也不陷入过度分析的内耗,让快慢之智在每一个测试场景中发光,用理性思维守护产品质量。