一、前言
最近换了新工作,工作中接触到了MFQ&PPDCS测试理论,初看时真的是恍然大悟,这套测试理论解决了我一直以来的很多测试分析上的困扰,特在此做以记录。
二、理论简介
1、why需要这套测试理论?这套测试理论能解决什么问题?
eg.小王做测试两年了,每次遇到熟悉的模块还好,能基本测下来,但是遇到全新的业务或者模块,总会再设计测试的时候忽略一些场景或者是测试内容,风险点和覆盖范围也说不清楚,每一次测试都心慌慌,觉得这漏了那没覆盖全。
那这套理论应该可以很好的解决或者是避免上述问题的发生了。
首先这套测试理论的核心理念:
测试是基于上下文的;
测试是基于风险展开的测试
测试的过程=学习=探索
测试人员的思维和技能是测试的核心
三、理论使用步骤
KYM(了解确定测试任务)》》TCO(输出测试大纲)》》建模(MFQ)》》TD(测试设计)》》TE(测试执行)**
KYM:=konw your mission
Testitem:测试项,测试策略,测试项目优先级
Schedule:交付时间,交付方式,测试周期
Tools&Equipemnt: 测试所需要的设备,环境,工具
Team:测试人员人数,技能配比
Customer:用户需求,痛点,使用场景
information:项目历史,文档记录
developer relation:开发人员人数,代码质量,开发自测
TCO:(test coverage outline 测试覆盖大纲)
time:产品各个节点周期
operation:产品使用
platform:产品依赖平台
structure:产品组成
function:产品作用
data:产品数据
interface:产品接口
bugs (测试过程发现bug)
risks(测试过程隐藏风险)
M(测试对象的单功能拆分)
MFQ:(建模)
M(moding):基于模型的单功能分析与测试设计
任何系统都是结构化的,每个整体的被测对象都可以划分为多个部分,每部分都负责一定的功能,那么这里的“部分”,被称为M
这一步需要确定测试对象,确定单功能便捷,单功能拆分;
M1-Mn:基于模型的单功能测试与分析1(流程P、参数P、数据D、组合C、状态S)
1.画流程图
2.增加测试条件(MF主流程+AF补充流程覆盖)
3.搞清楚参数+数据
F:(function interaction,test analyes&desing )功能交互的测试分析与设计
交互场景不可能进行穷举,或陷入穷举陷阱。此时优先级和重要等级是我们罗列时主要进行考虑的对象
1.确认交互范围
2.确定交互边界
Q(quality characteritisc):质量属性的测试分析与设计
非功能的质量属性也需要进行验证,比如稳定性,安全性等
那么如何选用M中的PPDS呢?
触发关键词语,抓住核心功能,尝试不同特征,围绕既定目标
说人话就是,根据项目的业务特点,参数要求(等价,边界值等)进行针对性设计
总结一下KYM,TCO与MFQ的关系:
即 先知道你任务(KYM:konw your mission),再通过TCO的思考模式罗列测试覆盖大纲,最后MFQ(PPDS)进行建模设计。这样就得出了一个完整的测试流程及测试设计结果。(当然,KYM和TCO的顺序也并不是固定的,还需要根据项目的具体情况去做调整or精简)
亲身实践此套测试逻辑体验
优点:测试逻辑更加清晰,测试者在设计初期就能对此模块风险有一定预判,测试用例设计较完整且覆盖点较全面
缺点:设计周期较长,不适合敏捷开发流程或迭代交付较快的流程。且执行完整设计》》测试流程较消耗人力
四、个人思考
测试人员始终需要坚持的测试核心原则就是,主动收集信息,尽早提供测试反馈,即使调整测试策略和基于风险测试。
在测试过程中,首先要考虑到的就是测试的深度与广度的平衡。因为在人力一定的条件下,测试的深度和广度在一定程度内是人力的互斥及重点的选择。测试的穷举或无脑的覆盖,不仅是对人力的考验,更是对产品质量的挑战。。
低级测试:怎么说我怎么做
中级测试:怎么做我想想后再决定该怎么更好的做
高级测试:要做哪,哪块需要做,怎么做才能给后人留下标准
终极测试:能在做对了的情况下节省最对的人力达到最大收益,且成体系
---------代填------------------