
测试就是向系统问问题
测试就是向系统问问题
中文原创的测试方法论不多,邰晓梅的《海盗派测试分析 MFQ&PPDCS》是能打的一本。它的第一性原理一句话:测试 = 对被测系统问问题。测试域无穷、资源有限,所以测试的本质不是「覆盖所有」,而是「基于风险,选出最值钱的问题」。pirate-testing-mfqppdcs-skill 把这套方法论蒸馏成 7 个可发现的技能。
这个定义的威力在于它顺手回答了几个老大难:为什么用例写不全(问题域无穷)?为什么 bugs 总在角落里(你问的问题不对)?为什么需求评审测试要参加(问问题的能力就是澄清需求的能力)?
七个技能串成一条工作流
这个技能包最好的一点是它不是散装能力,是一条流水线:接到新测试任务,从调研到实例,五步走完。
flowchart TD
A["kym-cidtestd<br/>KYM 调研:CIDTESTD 八引导词"] --> B["tco-coverage-outline<br/>覆盖大纲:M/F/Q/Risks/Questions 分支"]
B --> C["mfq-analysis-views<br/>三维拆分:单功能 M·功能交互 F·质量属性 Q"]
C --> D["ppdcs-model-selection + modeling<br/>按五特征选建模技术 建判定表"]
D --> E["test-design-4steps<br/>变量→数据→取值→测试实例"]KYM(Know Your Mission) 用 CIDTESTD 八个引导词做任务调研——Customer、Information、Decisions、Test Items、Environment、Schedule、Deliverables——配批判式三问和风险 L×I 打分。开局先问「我到底在帮谁、回答什么问题」,而不是急着打开工具。
MFQ 三维拆分是全书的核心:任何系统的测试对象都能拆成 M(单功能)、F(功能交互)、Q(质量属性)三层——大多数人只测 M,bug 却常藏在 F 和 Q 里。
PPDCS 五特征选型:流程特征用状态模型、参数特征用判定表、数据特征用 CRUD、组合特征用正交、状态特征用状态图——按被测对象的特征选建模技术,而不是拿着锤子找钉子。
三条海盗派原则,直接可用
- Tests ≠ Testing:用例是认知与猜测,测试必须接触真实对象——用例库不是资产,是假设库
- 画 Model 的过程就是澄清需求的过程:建模一半的收益发生在写测试之前
- Apply Heuristics, Not to Follow Them:启发法是拿来用的,不是拿来遵守的,一切基于上下文取舍
边界与判断
适用:新项目的测试分析冷启动、复杂业务系统的测试设计、需求含糊时的结构化澄清。不适用:纯接口回归这类高度成熟稳定的场景——那里不需要问新问题。
风险点:方法论密度高,CIDTESTD、MFQ、PPDCS 一堆缩写,新人容易迷路——好在技能卡是按步骤拆的,Agent 会带着走,比啃书友好。
我的判断:这是七本被拆的测试书里「中文原创含金量」最高的一本,蒸馏后的技能包也最适合直接上班用——接个新任务,五个技能顺着走一遍,测试分析的质量下限就兜住了。
方法论这东西,读一遍是知识,装进工作流才是能力。
仓库:https://github.com/Fen9pi-Max/pirate-testing-mfqppdcs-skill(含 Given-When-Then 模板与测试深度图)
