内容介绍
本书共五部分(共计38个章节),目前我已阅读完前两部分。第一部分主要围绕人类认知的双系统理论展开(系统1:直觉/快思考;系统2:理性/慢思考),第二部分对判断启发法的研究做了介绍。我认为这两部分的核心思想与软件测试实践深度关联。
读书感悟
1、测试人员工作时需要让自己的“系统1”和“系统2”协同工作
测试用例设计时可能容易受到系统1的“可得性启发法”影响,例如高频复现的Bug会成为直觉关注点,导致忽视低频但高风险的场景。比如“充电订单重复点击支付按钮会多次扣款”场景。复杂故障排查则需激活系统2,比如界面卡顿未必是前端问题,可能是线程锁问题导致。
2、测试设计中的隐形漏洞
由于锚定效应的存在需求评审时,首个列举场景一般是正向场景,这可能会成为测试范围的锚点,导致异常场景由于被低估而设计不全。针对此种情况我们可以建立交叉评审用例以及组建漏测案例复盘清单库来尽量避免。
3、认知偏见与缺陷分析
缺陷根因分析时,测试人员应该避免强行归因单一代码段(如“上次修改导致”),因为同一个报错信息的再次出现不一定是同一段代码导致,再比如开发宣称“简单修改无风险”时,测试需启用本书第17章节提到的回归平均值原则:无论代码改动大小,全量回归关键场景。再比如自动化测试通过率≠质量保障,需要补充手工探索性测试应对更细节的核心场景。
4、触发心流体验,避免疲劳测试
疲劳测试我认为是每个测试人员都会遇到的工作处境,包括我自身在内尤其在经过连续执行重复测试任务(如冒烟测试)后,测试人员的洞察力、审判力会逐步下降。此时我们可以采取用例分批执行,穿插深度用例分析;或采用自动化接管重复任务。