mcpField
S
sfdipot-product-factors

sfdipot-product-factors

github.com/proffesor-for-testing测试与质量519104 次安装今天更新
代码仓库

关于 sfdipot-product-factors

sfdipot-product-factors 是一种从七个产品维度分析需求并设计测试思路的方法,适用于测试策略、风险评估和需求评审。它还要求给测试点分配优先级与自动化适配度,并提出覆盖缺口问题。

主要功能

  1. 01按结构、功能、数据、接口等七维分析
  2. 02结合领域背景识别测试风险
  3. 03生成带动作描述的测试思路
  4. 04分配优先级和自动化适配度
  5. 05提出覆盖缺口的澄清问题

适用场景

  1. 01为新 Epic 制定测试覆盖方案
  2. 02评审 Sprint 需求并发现模糊点
  3. 03按风险为测试点安排优先级

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/proffesor-for-testing/agentic-qe --skill sfdipot-product-factors

安装后在 Claude Code 中输入/sfdipot-product-factors确认已加载。

详细介绍

SFDIPOT 产品因素分析

<default_to_action> 分析需求时:

  1. 识别文档类型(史诗、用户故事、规范、架构文档)
  2. 判断领域背景(电商、医疗、金融等)
  3. 系统地分析每个 SFDIPOT 类别
  4. 使用动作动词生成测试思路(不要采用“验证”模式)
  5. 分配优先级(P0-P3)和自动化适用性
  6. 针对覆盖缺口提出澄清问题
  7. 按要求的格式输出(HTML、JSON、MD、Gherkin)

质量门槛:

  • 人工探索占比 >= 10%
  • 不采用“验证 X”的测试模式
  • 优先级分布:P0(8-12%)、P1(20-30%)、P2(35-45%)、P3(20-30%) </default_to_action>

快速参考卡

7 个产品因素
因素问题示例关注领域
Structure(结构)它是什么?组件、代码、依赖项
Function(功能)它能做什么?功能、计算、错误
Data(数据)它处理什么?输入、输出、持久化
Interfaces(接口)它如何连接?UI、API、集成
Platform(平台)它依赖什么?OS、浏览器、硬件
Operations(运维)它如何使用?工作流、管理、恢复
Time(时间)事情何时发生?并发、调度
何时使用此技能
场景优先级输出
新史诗规划高完整的 SFDIPOT 评估 + 测试思路
Sprint 需求审查中针对性分析 + 澄清问题
测试策略定义高全面的测试覆盖计划
风险评估高按领域加权的优先级分配
覆盖缺口分析中深入问题 + 建议

SFDIPOT 分析框架

结构(产品是什么)

子类别:

  • 代码完整性:代码质量、复杂度、可维护性
  • 硬件:物理组件、设备、外围设备
  • 非可执行文件:配置、数据文件、文档
  • 可执行文件:二进制文件、脚本、库
  • 依赖项:第三方库、外部服务

测试思路示例:

  • 分析关键模块的圈复杂度;标记复杂度 > 10 的函数
  • 注入损坏的配置文件;确认系统能够平稳降级
  • 升级依赖项版本;确认没有破坏性变更
功能(产品能做什么)

子类别:

  • 应用:核心业务功能
  • 计算:数学运算、转换
  • 错误处理:异常管理、恢复
  • 安全:身份验证、授权、加密
  • 状态转换:工作流状态、数据生命周期
  • 消息传递:通知、事件、队列
  • 数据转换:格式转换、映射

测试思路示例:

  • 提交包含 1000 个订单项的订单;测量处理时间
  • 在搜索字段中注入 SQL;确认清理逻辑可阻止代码执行
  • 触发状态转换超时;观察重试行为
数据(产品处理什么)

子类别:

  • 输入:用户输入、文件上传、API 负载
  • 输出:响应、报告、导出内容
  • 持久化:数据库存储、缓存
  • 存储:文件系统、云存储
  • 边界:最小值/最大值、边界情况
  • 验证:格式规则、业务规则
  • 格式:JSON、XML、CSV 处理

测试思路示例:

  • 上传 100MB 文件;确认分块处理能够完成
  • 在文本字段中输入表情符号;检查存储和检索
  • 查询边界日期(2038-01-19);检查时间戳处理
接口(产品如何连接)

子类别:

  • 用户界面:Web、移动端、桌面 UI
  • API:REST、GraphQL、gRPC 端点
  • 集成:第三方服务连接
  • 协议:HTTP、WebSocket、MQTT
  • CLI:命令行界面

测试思路示例:

  • 将浏览器宽度调整为 320px;确认响应式断点
  • 向 API 发送格式错误的 JSON;断言返回包含详细信息的 400 响应
  • 在事务中途断开 WebSocket;观察重新连接行为
平台(产品依赖的内容)

子类别:

  • 浏览器:Chrome、Firefox、Safari、Edge
  • OS:Windows、macOS、Linux、iOS、Android
  • 硬件:CPU、内存、存储限制
  • 外部软件:数据库、消息队列
  • 网络:延迟、带宽、离线

测试思路示例:

  • 在 1GB RAM 设备上执行;分析内存用量
  • 在 500ms 网络延迟下运行;衡量用户体验
  • 在 iOS 15 Safari 上测试;验证对 CSS grid 的支持
操作(产品的使用方式)

子类别:

  • 常见使用:顺利路径工作流
  • 极端使用:边界情况、压力条件
  • 用户管理:角色、权限、个人资料
  • 管理员操作:配置、监控
  • 恢复:备份、还原、灾难恢复

测试思路示例:

  • 执行 10,000 个并发用户会话;监控资源用量
  • 在会话中途撤销管理员访问权限;确认立即生效
  • 从 24 小时前的备份还原;验证数据完整性
时间(事件发生的时间)

子类别:

  • 并发:并行操作、竞态条件
  • 调度:Cron 作业、定时事件
  • 顺序:操作顺序、依赖关系

测试思路示例:

  • 两位用户同时更新同一条记录;确认冲突解决方式
  • 在夏令时转换时执行计划作业;验证时间正确
  • 在操作序列中途取消操作;观察对部分状态的处理

质量规则

测试思路质量

绝不要使用“验证 X”模式。始终使用动作动词。

不良模式良好模式
验证登录是否正常提交凭据;确认已创建会话
验证 API 是否返回 200发送请求;断言响应为 200
验证错误是否显示触发错误;观察提示信息
优先级分布
优先级百分比标准
P0(严重)8-12%安全、数据丢失、法规要求
P1(高)20-30%核心功能、用户影响
P2(中)35-45%标准功能、边界情况
P3(低)20-30%润色、小幅改进
自动化适用性
类型百分比适用场景
单元测试30-40%独立逻辑、计算
集成测试15-25%API 契约、数据流
E2E<=50%用户旅程、工作流
人工探索>=10%可用性、边界情况

Agent 集成

// Full SFDIPOT assessment
await Task("SFDIPOT Assessment", {
  input: epicDocument,
  outputFormat: "html",
  domains: ["ecommerce"],
  brutalHonesty: true
}, "qe-product-factors-assessor");

// Transform verify patterns
await Task("Rewrite Test Ideas", {
  inputFile: assessmentHtml,
  preserveMetadata: true
}, "qe-test-idea-rewriter");

记忆命名空间

aqe/sfdipot/
├── assessments/*     - Assessment results
├── patterns/*        - Learned domain patterns
├── test-ideas/*      - Generated test ideas
└── questions/*       - Clarifying questions

相关技能


请记住

SFDIPOT 通过从 7 个不同视角审视产品,确保测试覆盖全面。 每个类别都能揭示其他视角可能遗漏的风险。使用领域检测来合理分配优先级。

评论

支持 Markdown