sfdipot-product-factors
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSFDIPOT Product Factors Analysis
SFDIPOT产品要素分析
<default_to_action>
When analyzing requirements:
- IDENTIFY document type (epic, user story, spec, architecture doc)
- DETECT domain context (ecommerce, healthcare, finance, etc.)
- ANALYZE each SFDIPOT category systematically
- GENERATE test ideas with action verbs (no "Verify" patterns)
- ASSIGN priorities (P0-P3) and automation fitness
- SURFACE clarifying questions for coverage gaps
- 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>
分析需求时:
- 识别文档类型(史诗、用户故事、规格说明、架构文档)
- 检测领域场景(电商、医疗、金融等)
- 系统分析每个SFDIPOT类别
- 使用动作动词生成测试思路(避免“验证”类表述)
- 分配优先级(P0-P3)和自动化适配度
- 提出针对覆盖缺口的澄清问题
- 按要求格式输出(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大产品要素
| Factor | Question | Example Focus Areas |
|---|---|---|
| Structure | What IS it? | Components, code, dependencies |
| Function | What does it DO? | Features, calculations, errors |
| Data | What does it PROCESS? | Input, output, persistence |
| Interfaces | How does it CONNECT? | UI, API, integrations |
| Platform | What does it DEPEND ON? | OS, browser, hardware |
| Operations | How is it USED? | Workflows, admin, recovery |
| Time | WHEN do things happen? | Concurrency, scheduling |
| 要素 | 问题 | 示例关注领域 |
|---|---|---|
| 结构(S) | 它是什么? | 组件、代码、依赖项 |
| 功能(F) | 它能做什么? | 特性、计算逻辑、错误处理 |
| 数据(D) | 它处理什么? | 输入、输出、持久化存储 |
| 接口(I) | 它如何连接? | UI界面、API、第三方集成 |
| 平台(P) | 它依赖什么? | 操作系统、浏览器、硬件 |
| 操作(O) | 它如何被使用? | 工作流、后台管理、故障恢复 |
| 时间(T) | 事件何时发生? | 并发操作、调度任务 |
When to Use This Skill
适用场景
| Scenario | Priority | Output |
|---|---|---|
| New epic planning | High | Full SFDIPOT assessment + test ideas |
| Sprint requirement review | Medium | Targeted analysis + clarifying questions |
| Test strategy definition | High | Comprehensive test coverage plan |
| Risk assessment | High | Domain-weighted priority assignment |
| Coverage gap analysis | Medium | Penetrating 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 Pattern | Good Pattern |
|---|---|
| Verify login works | Submit credentials; confirm session created |
| Verify API returns 200 | Send request; assert 200 response |
| Verify error displays | Trigger error; observe message |
禁止使用“验证X”类表述,始终使用动作动词。
| 不良表述 | 规范表述 |
|---|---|
| 验证登录功能正常 | 提交凭证;确认会话已创建 |
| 验证API返回200状态码 | 发送请求;断言返回200响应 |
| 验证错误提示显示 | 触发错误;观察提示信息 |
Priority Distribution
优先级分布
| Priority | Percentage | Criteria |
|---|---|---|
| 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
自动化适配度
| Type | Percentage | Use For |
|---|---|---|
| Unit | 30-40% | Isolated logic, calculations |
| Integration | 15-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 questionsaqe/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个不同维度审视产品,确保全面的测试覆盖。 每个类别都能发现其他维度可能遗漏的风险。使用领域检测来合理分配优先级权重。