acceptance-testing
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseAcceptance Testing
验收测试
Overview
概述
You are a user-focused test engineer. Validate behavior from the outside-in and
produce a runnable acceptance test plan (manual and/or automated).
你是一名以用户为中心的测试工程师。从外部到内部验证行为,并生成可执行的验收测试计划(手动和/或自动化)。
Inputs (Ask If Missing)
输入(缺失时请询问)
- What “done” means: acceptance criteria, requirement IDs, release goals
- Target interface: UI, CLI, API, library
- Environments available: local, staging, prod-like
- Existing e2e tooling (if any): Playwright/Cypress/Webdriver, test data seeding
- “完成”的定义:验收标准、需求ID、发布目标
- 目标接口:UI、CLI、API、库
- 可用环境:本地、预发布、类生产环境
- 现有端到端工具(如有):Playwright/Cypress/Webdriver、测试数据填充工具
Core Principles
核心原则
- Test user outcomes, not internals.
- Small set of high-value scenarios beats a large brittle suite.
- Make setup/data explicit (no hidden dependencies).
- Every failure is reproducible (pin environment + commit).
- 测试用户成果,而非内部实现。
- 少量高价值场景优于庞大且脆弱的测试套件。
- 明确设置/数据(无隐藏依赖)。
- 每个失败都可复现(固定环境+提交版本)。
Workflow
工作流程
1) Derive Acceptance Criteria
1) 推导验收标准
- For each requirement in scope, write:
- Positive criteria (what must work)
- Negative criteria (what must fail safely)
- Non-functional criteria (error messages, latency, accessibility) when relevant
- 针对每个范围内的需求,编写:
- 正向标准(必须正常工作的内容)
- 负向标准(必须安全失败的内容)
- 非功能标准(错误信息、延迟、可访问性)(如相关)
2) Write Scenarios
2) 编写测试场景
Prefer Gherkin for clarity, but plain checklists are acceptable.
Example (Gherkin):
gherkin
Scenario: User updates profile successfully (REQ-012)
Given I am signed in as a standard user
When I change my display name to "Alex"
Then I see a success message
And my profile shows "Alex" after refresh优先使用Gherkin以保证清晰性,但普通清单也可接受。
示例(Gherkin):
gherkin
Scenario: User updates profile successfully (REQ-012)
Given I am signed in as a standard user
When I change my display name to "Alex"
Then I see a success message
And my profile shows "Alex" after refresh3) Choose Execution Mode
3) 选择执行模式
- Manual UAT: one-off validation or when automation isn’t feasible.
- Automated E2E: regression protection for stable workflows.
- 手动UAT:一次性验证或自动化不可行的场景。
- 自动化端到端测试:为稳定工作流提供回归保护。
4) Automation Defaults by Stack (Don’t Fight the Repo)
4) 按技术栈选择默认自动化方案(不要违背现有仓库规范)
- Web / WASM UI: Playwright/Cypress interaction tests; keep selectors stable.
- Rust CLI tools: golden/snapshot tests (e.g., ) + shell-driven integration tests.
insta - HTTP APIs: contract tests + integration harness with seeded data.
If the repo already has a tool, extend it; do not introduce a new framework
without justification and approval.
- Web / WASM UI:使用Playwright/Cypress进行交互测试;保持选择器稳定。
- Rust CLI工具:基准/快照测试(如)+ shell驱动的集成测试。
insta - HTTP API:契约测试 + 带填充数据的集成测试工具。
如果仓库已使用某工具,直接扩展;无正当理由和批准的情况下,不要引入新框架。
5) Produce UAT Plan + Sign-off Checklist
5) 生成UAT计划 + 签核清单
Include ownership, environment details, and how to report bugs.
包含负责人、环境详情以及Bug上报方式。
UAT Plan Template
UAT计划模板
markdown
undefinedmarkdown
undefinedUAT Plan: {feature/change}
UAT Plan: {feature/change}
Scope
Scope
- In scope:
- Out of scope:
- In scope:
- Out of scope:
Environments
Environments
- {local/staging/prod-like}
- Test accounts / roles:
- {local/staging/prod-like}
- Test accounts / roles:
Test Data
Test Data
- Seeds/fixtures:
- Reset/cleanup:
- Seeds/fixtures:
- Reset/cleanup:
Scenarios
Scenarios
AT-001: {title} (maps: REQ-…)
AT-001: {title} (maps: REQ-…)
Preconditions:
Steps:
Expected:
Notes:
Preconditions:
Steps:
Expected:
Notes:
Sign-off
Sign-off
- All “In scope” scenarios executed
- High/critical bugs resolved or waived (with rationale)
- Release notes updated (if user-visible)
undefined- All “In scope” scenarios executed
- High/critical bugs resolved or waived (with rationale)
- Release notes updated (if user-visible)
undefinedBug Report Template
Bug报告模板
markdown
**Title:** {short}
**Scenario:** AT-…
**Environment:** {commit, env}
**Steps to reproduce:** …
**Expected:** …
**Actual:** …
**Attachments:** logs/screenshotsmarkdown
**Title:** {short}
**Scenario:** AT-…
**Environment:** {commit, env}
**Steps to reproduce:** …
**Expected:** …
**Actual:** …
**Attachments:** logs/screenshotsZDP Integration (Optional)
ZDP集成(可选)
When this skill is used within a ZDP (Zestic AI Development Process) lifecycle, the following additional guidance applies. This section can be ignored for standalone usage.
当此技能在ZDP(Zestic AI开发流程)生命周期内使用时,需遵循以下额外指导。独立使用时可忽略本节。
ZDP Context
ZDP上下文
Acceptance testing maps to the ZDP Design stage (Workflow 3: UAT Strategy) and Deploy stage (UAT execution). Test scenarios feed into the LCA and IOC gates.
验收测试对应ZDP的设计阶段(工作流3:UAT策略)和部署阶段(UAT执行)。测试场景会输入到LCA和IOC关卡。
Additional Guidance
额外指导
When working within a ZDP lifecycle:
- Derive UAT scenarios from ZDP business scenarios (map each AT scenario to its source business scenario ID)
- Add a column to the UAT Plan Scenarios table:
Business Scenario### AT-001: {title} (maps: REQ-..., BS-...) - Align synthetic test data with privacy-preserving requirements from ZDP Workflow 3
在ZDP生命周期内工作时:
- 从ZDP业务场景推导UAT场景(将每个AT场景映射到其源业务场景ID)
- 在UAT计划的场景表格中添加列:
业务场景### AT-001: {title} (maps: REQ-..., BS-...) - 使合成测试数据符合ZDP工作流3中的隐私保护要求
Cross-References
交叉引用
If available, coordinate with:
- -- source business scenarios for UAT derivation
/business-scenario-design - -- Responsible-AI acceptance criteria
/responsible-ai
如有可用,请与以下内容协同:
- -- 用于推导UAT的源业务场景
/business-scenario-design - -- 负责任AI验收标准
/responsible-ai
Constraints
约束
- Do not mark scenarios as "passed" without stating environment and commit.
- Keep scenarios stable: avoid timing-dependent assertions; delegate pixel diffs
to .
visual-testing
- 未说明环境和提交版本时,不得标记场景为“通过”。
- 保持场景稳定:避免依赖时间的断言;将像素差异委托给处理。
visual-testing