sfdipot-product-factors

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

SFDIPOT Product Factors Analysis

SFDIPOT产品要素分析

<default_to_action> When analyzing requirements:
  1. IDENTIFY document type (epic, user story, spec, architecture doc)
  2. DETECT domain context (ecommerce, healthcare, finance, etc.)
  3. ANALYZE each SFDIPOT category systematically
  4. GENERATE test ideas with action verbs (no "Verify" patterns)
  5. ASSIGN priorities (P0-P3) and automation fitness
  6. SURFACE clarifying questions for coverage gaps
  7. OUTPUT in requested format (HTML, JSON, MD, Gherkin)
Quality Gates:
  • Human exploration >= 10%
  • No "Verify X" test patterns
  • Priority distribution: P0 (8-12%), P1 (20-30%), P2 (35-45%), P3 (20-30%) </default_to_action>
<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>

Quick Reference Card

快速参考卡

The 7 Product Factors

7大产品要素

FactorQuestionExample Focus Areas
StructureWhat IS it?Components, code, dependencies
FunctionWhat does it DO?Features, calculations, errors
DataWhat does it PROCESS?Input, output, persistence
InterfacesHow does it CONNECT?UI, API, integrations
PlatformWhat does it DEPEND ON?OS, browser, hardware
OperationsHow is it USED?Workflows, admin, recovery
TimeWHEN do things happen?Concurrency, scheduling
要素问题示例关注领域
结构(S)它是什么?组件、代码、依赖项
功能(F)它能做什么?特性、计算逻辑、错误处理
数据(D)它处理什么?输入、输出、持久化存储
接口(I)它如何连接?UI界面、API、第三方集成
平台(P)它依赖什么?操作系统、浏览器、硬件
操作(O)它如何被使用?工作流、后台管理、故障恢复
时间(T)事件何时发生?并发操作、调度任务

When to Use This Skill

适用场景

ScenarioPriorityOutput
New epic planningHighFull SFDIPOT assessment + test ideas
Sprint requirement reviewMediumTargeted analysis + clarifying questions
Test strategy definitionHighComprehensive test coverage plan
Risk assessmentHighDomain-weighted priority assignment
Coverage gap analysisMediumPenetrating questions + recommendations

场景优先级输出内容
新史诗规划完整SFDIPOT评估+测试思路
迭代需求评审针对性分析+澄清问题
测试策略定义全面测试覆盖方案
风险评估领域加权优先级分配
覆盖缺口分析深度问题+改进建议

SFDIPOT Analysis Framework

SFDIPOT分析框架

Structure (What the product IS)

结构(产品的本质)

Subcategories:
  • Code Integrity: Code quality, complexity, maintainability
  • Hardware: Physical components, devices, peripherals
  • Non-Executable Files: Config, data files, documents
  • Executable Files: Binaries, scripts, libraries
  • Dependencies: Third-party libraries, external services
Sample Test Ideas:
  • Analyze cyclomatic complexity of critical modules; flag functions > 10
  • Inject corrupted config file; confirm graceful degradation
  • Upgrade dependency version; validate no breaking changes
子类别:
  • 代码完整性:代码质量、复杂度、可维护性
  • 硬件:物理组件、设备、外设
  • 非可执行文件:配置文件、数据文件、文档
  • 可执行文件:二进制文件、脚本、库
  • 依赖项:第三方库、外部服务
测试思路示例:
  • 分析关键模块的圈复杂度;标记圈复杂度>10的函数
  • 注入损坏的配置文件;确认系统可优雅降级
  • 升级依赖版本;验证无破坏性变更

Function (What the product DOES)

功能(产品的能力)

Subcategories:
  • Application: Core business features
  • Calculation: Mathematical operations, transformations
  • Error Handling: Exception management, recovery
  • Security: Authentication, authorization, encryption
  • State Transitions: Workflow states, data lifecycle
  • Messaging: Notifications, events, queues
  • Data Transformation: Format conversion, mapping
Sample Test Ideas:
  • Submit order with 1000 line items; measure processing time
  • Inject SQL in search field; confirm sanitization prevents execution
  • Trigger state transition timeout; observe retry behavior
子类别:
  • 应用功能:核心业务特性
  • 计算逻辑:数学运算、数据转换
  • 错误处理:异常管理、故障恢复
  • 安全:认证、授权、加密
  • 状态转换:工作流状态、数据生命周期
  • 消息通知:通知、事件、队列
  • 数据转换:格式转换、映射
测试思路示例:
  • 提交包含1000行商品的订单;测量处理时长
  • 在搜索框注入SQL语句;确认输入过滤可阻止执行
  • 触发状态转换超时;观察重试机制行为

Data (What the product PROCESSES)

数据(产品处理的对象)

Subcategories:
  • Input: User input, file uploads, API payloads
  • Output: Responses, reports, exports
  • Persistence: Database storage, caching
  • Storage: File systems, cloud storage
  • Boundaries: Min/max values, edge cases
  • Validation: Format rules, business rules
  • Formats: JSON, XML, CSV handling
Sample Test Ideas:
  • Upload 100MB file; confirm chunked processing completes
  • Insert emoji in text field; validate storage and retrieval
  • Query boundary date (2038-01-19); check timestamp handling
子类别:
  • 输入:用户输入、文件上传、API请求体
  • 输出:响应、报告、导出文件
  • 持久化:数据库存储、缓存
  • 存储:文件系统、云存储
  • 边界值:最小/最大值、边缘场景
  • 验证:格式规则、业务规则
  • 格式:JSON、XML、CSV处理
测试思路示例:
  • 上传100MB文件;确认分片处理可完成
  • 在文本字段插入表情符号;验证存储和读取正常
  • 查询边界日期(2038-01-19);检查时间戳处理逻辑

Interfaces (How the product CONNECTS)

接口(产品的连接方式)

Subcategories:
  • User Interface: Web, mobile, desktop UI
  • APIs: REST, GraphQL, gRPC endpoints
  • Integrations: Third-party service connections
  • Protocols: HTTP, WebSocket, MQTT
  • CLI: Command-line interfaces
Sample Test Ideas:
  • Resize browser to 320px width; confirm responsive breakpoints
  • Send malformed JSON to API; assert 400 response with details
  • Disconnect WebSocket mid-transaction; observe reconnection
子类别:
  • 用户界面:Web、移动、桌面UI
  • API:REST、GraphQL、gRPC端点
  • 集成:第三方服务连接
  • 协议:HTTP、WebSocket、MQTT
  • CLI:命令行界面
测试思路示例:
  • 将浏览器窗口调整为320px宽度;确认响应式断点正常
  • 向API发送格式错误的JSON;断言返回带详细信息的400响应
  • 在WebSocket传输中断开连接;观察重连行为

Platform (What the product DEPENDS ON)

平台(产品的依赖环境)

Subcategories:
  • Browser: Chrome, Firefox, Safari, Edge
  • OS: Windows, macOS, Linux, iOS, Android
  • Hardware: CPU, memory, storage constraints
  • External Software: Databases, message queues
  • Network: Latency, bandwidth, offline
Sample Test Ideas:
  • Execute on 1GB RAM device; profile memory usage
  • Run with 500ms network latency; measure user experience
  • Test on iOS 15 Safari; validate CSS grid support
子类别:
  • 浏览器:Chrome、Firefox、Safari、Edge
  • 操作系统:Windows、macOS、Linux、iOS、Android
  • 硬件:CPU、内存、存储限制
  • 外部软件:数据库、消息队列
  • 网络:延迟、带宽、离线状态
测试思路示例:
  • 在1GB内存设备上执行;分析内存使用情况
  • 在500ms网络延迟环境下运行;测量用户体验
  • 在iOS 15 Safari上测试;验证CSS Grid支持

Operations (How the product is USED)

操作(产品的使用方式)

Subcategories:
  • Common Use: Happy path workflows
  • Extreme Use: Edge cases, stress conditions
  • User Management: Roles, permissions, profiles
  • Admin Operations: Configuration, monitoring
  • Recovery: Backup, restore, disaster recovery
Sample Test Ideas:
  • Execute 10,000 concurrent user sessions; monitor resource usage
  • Revoke admin access mid-session; confirm immediate effect
  • Restore from 24-hour-old backup; validate data integrity
子类别:
  • 常规使用:正常路径工作流
  • 极端使用:边缘场景、压力条件
  • 用户管理:角色、权限、配置文件
  • 后台操作:配置、监控
  • 恢复:备份、恢复、灾难恢复
测试思路示例:
  • 模拟10000个并发用户会话;监控资源使用情况
  • 在会话中撤销管理员权限;确认立即生效
  • 从24小时前的备份恢复;验证数据完整性

Time (WHEN things happen)

时间(事件的发生时机)

Subcategories:
  • Concurrency: Parallel operations, race conditions
  • Scheduling: Cron jobs, timed events
  • Sequences: Order of operations, dependencies
Sample Test Ideas:
  • Two users update same record simultaneously; confirm conflict resolution
  • Execute scheduled job at DST transition; validate correct timing
  • Cancel operation mid-sequence; observe partial state handling

子类别:
  • 并发:并行操作、竞态条件
  • 调度:定时任务、触发事件
  • 序列:操作顺序、依赖关系
测试思路示例:
  • 两个用户同时更新同一条记录;确认冲突解决机制有效
  • 在夏令时转换时执行调度任务;验证时间正确性
  • 在序列执行中途取消操作;观察部分状态处理逻辑

Quality Rules

质量规则

Test Idea Quality

测试思路质量

NEVER use "Verify X" patterns. Always use action verbs.
Bad PatternGood Pattern
Verify login worksSubmit credentials; confirm session created
Verify API returns 200Send request; assert 200 response
Verify error displaysTrigger error; observe message
禁止使用“验证X”类表述,始终使用动作动词。
不良表述规范表述
验证登录功能正常提交凭证;确认会话已创建
验证API返回200状态码发送请求;断言返回200响应
验证错误提示显示触发错误;观察提示信息

Priority Distribution

优先级分布

PriorityPercentageCriteria
P0 (Critical)8-12%Security, data loss, regulatory
P1 (High)20-30%Core functionality, user impact
P2 (Medium)35-45%Standard features, edge cases
P3 (Low)20-30%Polish, minor improvements
优先级占比判定标准
P0(关键)8-12%安全、数据丢失、合规相关
P1(高)20-30%核心功能、用户影响大
P2(中)35-45%标准功能、边缘场景
P3(低)20-30%优化项、小改进

Automation Fitness

自动化适配度

TypePercentageUse For
Unit30-40%Isolated logic, calculations
Integration15-25%API contracts, data flow
E2E<=50%User journeys, workflows
Human Exploration>=10%Usability, edge cases

类型占比适用场景
单元测试30-40%独立逻辑、计算
集成测试15-25%API契约、数据流
端到端测试≤50%用户旅程、工作流
人工探索测试≥10%易用性、边缘场景

Agent Integration

Agent集成

typescript
// 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");

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

// 重写验证类表述
await Task("Rewrite Test Ideas", {
  inputFile: assessmentHtml,
  preserveMetadata: true
}, "qe-test-idea-rewriter");

Memory Namespace

内存命名空间

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

aqe/sfdipot/
├── assessments/*     - 评估结果
├── patterns/*        - 学习到的领域模式
├── test-ideas/*      - 生成的测试思路
└── questions/*       - 澄清问题

Related Skills

相关技能

  • brutal-honesty-review - Quality validation
  • risk-based-testing - Priority assignment
  • context-driven-testing - Domain awareness
  • exploratory-testing-advanced - Session design

  • brutal-honesty-review - 质量验证
  • risk-based-testing - 优先级分配
  • context-driven-testing - 领域感知
  • exploratory-testing-advanced - 会话设计

Remember

注意

SFDIPOT ensures comprehensive test coverage by examining products from 7 distinct perspectives. Each category reveals risks that other perspectives might miss. Use domain detection to weight priorities appropriately.
SFDIPOT通过7个不同维度审视产品,确保全面的测试覆盖。 每个类别都能发现其他维度可能遗漏的风险。使用领域检测来合理分配优先级权重。