Port TEA commands into workflows and preload Murat knowledge (#660)
* Port TEA commands into workflows and preload Murat knowledge * Broke the giant knowledge dump into curated fragments under src/modules/bmm/testarch/knowledge/ * Broke the giant knowledge dump into curated fragments under src/modules/bmm/testarch/knowledge/ * updated the web bunles for tea, and spot updates for analyst and sm * Replaced the old TEA brief with an indexed knowledge system: the agent now loads topic-specific docs from knowledge/ via tea-index.csv, workflows reference those fragments, and risk/level/ priority guidance lives in the new fragment files --------- Co-authored-by: Murat Ozcan <murat@mac.lan>
This commit is contained in:
21
src/modules/bmm/workflows/testarch/README.md
Normal file
21
src/modules/bmm/workflows/testarch/README.md
Normal file
@@ -0,0 +1,21 @@
|
||||
# Test Architect Workflows
|
||||
|
||||
This directory houses the per-command workflows used by the Test Architect agent (`tea`). Each workflow wraps the standalone instructions that used to live under `testarch/` so they can run through the standard BMAD workflow runner.
|
||||
|
||||
## Available workflows
|
||||
|
||||
- `framework` – scaffolds Playwright/Cypress harnesses.
|
||||
- `atdd` – generates failing acceptance tests before coding.
|
||||
- `automate` – expands regression coverage after implementation.
|
||||
- `ci` – bootstraps CI/CD pipelines aligned with TEA practices.
|
||||
- `test-design` – combines risk assessment and coverage planning.
|
||||
- `trace` – maps requirements to implemented automated tests.
|
||||
- `nfr-assess` – evaluates non-functional requirements.
|
||||
- `gate` – records the release decision in the gate file.
|
||||
|
||||
Each subdirectory contains:
|
||||
|
||||
- `instructions.md` – the slim workflow instructions.
|
||||
- `workflow.yaml` – metadata consumed by the BMAD workflow runner.
|
||||
|
||||
The TEA agent now invokes these workflows via `run-workflow` rather than executing instruction files directly.
|
||||
43
src/modules/bmm/workflows/testarch/atdd/instructions.md
Normal file
43
src/modules/bmm/workflows/testarch/atdd/instructions.md
Normal file
@@ -0,0 +1,43 @@
|
||||
<!-- Powered by BMAD-CORE™ -->
|
||||
|
||||
# Acceptance TDD v3.0
|
||||
|
||||
```xml
|
||||
<task id="bmad/bmm/testarch/atdd" name="Acceptance Test Driven Development">
|
||||
<llm critical="true">
|
||||
<i>Preflight requirements:</i>
|
||||
<i>- Story is approved with clear acceptance criteria.</i>
|
||||
<i>- Development sandbox/environment is ready.</i>
|
||||
<i>- Framework scaffolding exists (run `*framework` if missing).</i>
|
||||
</llm>
|
||||
<flow>
|
||||
<step n="1" title="Preflight">
|
||||
<action>Confirm each requirement above; halt if any are missing.</action>
|
||||
</step>
|
||||
<step n="2" title="Author Failing Acceptance Tests">
|
||||
<action>Clarify acceptance criteria and affected systems.</action>
|
||||
<action>Select appropriate test level (E2E/API/Component).</action>
|
||||
<action>Create failing tests using Given-When-Then with network interception before navigation.</action>
|
||||
<action>Build data factories and fixture stubs for required entities.</action>
|
||||
<action>Outline mocks/fixtures infrastructure the dev team must provide.</action>
|
||||
<action>Generate component tests for critical UI logic.</action>
|
||||
<action>Compile an implementation checklist mapping each test to code work.</action>
|
||||
<action>Share failing tests and checklist with the dev agent, maintaining red → green → refactor loop.</action>
|
||||
</step>
|
||||
<step n="3" title="Deliverables">
|
||||
<action>Output failing acceptance test files, component test stubs, fixture/mocks skeleton, implementation checklist, and data-testid requirements.</action>
|
||||
</step>
|
||||
</flow>
|
||||
<halt>
|
||||
<i>If acceptance criteria are ambiguous or the framework is missing, halt and request clarification/set up.</i>
|
||||
</halt>
|
||||
<notes>
|
||||
<i>Consult `{project-root}/bmad/bmm/testarch/tea-index.csv` to identify ATDD-related fragments (fixture-architecture, data-factories, component-tdd) and load them from `knowledge/`.</i>
|
||||
<i>Start red; one assertion per test; keep setup visible (no hidden shared state).</i>
|
||||
<i>Remind devs to run tests before writing production code; update checklist as tests turn green.</i>
|
||||
</notes>
|
||||
<output>
|
||||
<i>Failing acceptance/component test suite plus implementation checklist.</i>
|
||||
</output>
|
||||
</task>
|
||||
```
|
||||
25
src/modules/bmm/workflows/testarch/atdd/workflow.yaml
Normal file
25
src/modules/bmm/workflows/testarch/atdd/workflow.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
# Test Architect workflow: atdd
|
||||
name: testarch-atdd
|
||||
description: "Generate failing acceptance tests before implementation."
|
||||
author: "BMad"
|
||||
|
||||
config_source: "{project-root}/bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
date: system-generated
|
||||
|
||||
installed_path: "{project-root}/bmad/bmm/workflows/testarch/atdd"
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
|
||||
template: false
|
||||
|
||||
tags:
|
||||
- qa
|
||||
- atdd
|
||||
- test-architect
|
||||
|
||||
execution_hints:
|
||||
interactive: false
|
||||
autonomous: true
|
||||
iterative: true
|
||||
44
src/modules/bmm/workflows/testarch/automate/instructions.md
Normal file
44
src/modules/bmm/workflows/testarch/automate/instructions.md
Normal file
@@ -0,0 +1,44 @@
|
||||
<!-- Powered by BMAD-CORE™ -->
|
||||
|
||||
# Automation Expansion v3.0
|
||||
|
||||
```xml
|
||||
<task id="bmad/bmm/testarch/automate" name="Automation Expansion">
|
||||
<llm critical="true">
|
||||
<i>Preflight requirements:</i>
|
||||
<i>- Acceptance criteria are satisfied.</i>
|
||||
<i>- Code builds locally without errors.</i>
|
||||
<i>- Framework scaffolding is configured.</i>
|
||||
</llm>
|
||||
<flow>
|
||||
<step n="1" title="Preflight">
|
||||
<action>Verify all requirements above; halt if any fail.</action>
|
||||
</step>
|
||||
<step n="2" title="Expand Automation">
|
||||
<action>Review story source/diff to confirm automation targets.</action>
|
||||
<action>Use `{project-root}/bmad/bmm/testarch/tea-index.csv` to load fragments such as `fixture-architecture`, `selective-testing`, `ci-burn-in`, `test-quality`, `test-levels`, and `test-priorities` before proposing additions.</action>
|
||||
<action>Ensure fixture architecture exists (Playwright `mergeTests`, Cypress commands); add apiRequest/network/auth/log fixtures if missing.</action>
|
||||
<action>Map acceptance criteria using the `test-levels` fragment to avoid redundant coverage.</action>
|
||||
<action>Assign priorities using the `test-priorities` fragment so effort follows risk tiers.</action>
|
||||
<action>Generate unit/integration/E2E specs (naming `feature-name.spec.ts`) covering happy, negative, and edge paths.</action>
|
||||
<action>Enforce deterministic waits, self-cleaning factories, and execution under 1.5 minutes per test.</action>
|
||||
<action>Run the suite, capture Definition of Done results, and update package.json scripts plus README instructions.</action>
|
||||
</step>
|
||||
<step n="3" title="Deliverables">
|
||||
<action>Create new/enhanced spec files grouped by level, supporting fixtures/helpers, data factory utilities, updated scripts/README notes, and a DoD summary highlighting remaining gaps.</action>
|
||||
</step>
|
||||
</flow>
|
||||
<halt>
|
||||
<i>If the automation target is unclear or the framework is missing, halt and request clarification/setup.</i>
|
||||
</halt>
|
||||
<notes>
|
||||
<i>Never create page objects; keep tests under 300 lines and stateless.</i>
|
||||
<i>Forbid hard waits/conditional flow; co-locate tests near source.</i>
|
||||
<i>Flag flaky patterns immediately.</i>
|
||||
<i>Reference `tea-index.csv` tags (e.g., fixture-architecture, selective-testing, ci-burn-in) to load the right fragment instead of the entire knowledge bundle.</i>
|
||||
</notes>
|
||||
<output>
|
||||
<i>Prioritized automation suite updates and DoD summary ready for gating.</i>
|
||||
</output>
|
||||
</task>
|
||||
```
|
||||
25
src/modules/bmm/workflows/testarch/automate/workflow.yaml
Normal file
25
src/modules/bmm/workflows/testarch/automate/workflow.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
# Test Architect workflow: automate
|
||||
name: testarch-automate
|
||||
description: "Expand automation coverage after implementation."
|
||||
author: "BMad"
|
||||
|
||||
config_source: "{project-root}/bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
date: system-generated
|
||||
|
||||
installed_path: "{project-root}/bmad/bmm/workflows/testarch/automate"
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
|
||||
template: false
|
||||
|
||||
tags:
|
||||
- qa
|
||||
- automation
|
||||
- test-architect
|
||||
|
||||
execution_hints:
|
||||
interactive: false
|
||||
autonomous: true
|
||||
iterative: true
|
||||
43
src/modules/bmm/workflows/testarch/ci/instructions.md
Normal file
43
src/modules/bmm/workflows/testarch/ci/instructions.md
Normal file
@@ -0,0 +1,43 @@
|
||||
<!-- Powered by BMAD-CORE™ -->
|
||||
|
||||
# CI/CD Enablement v3.0
|
||||
|
||||
```xml
|
||||
<task id="bmad/bmm/testarch/ci" name="CI/CD Enablement">
|
||||
<llm critical="true">
|
||||
<i>Preflight requirements:</i>
|
||||
<i>- Git repository is initialized.</i>
|
||||
<i>- Local test suite passes.</i>
|
||||
<i>- Team agrees on target environments.</i>
|
||||
<i>- Access to CI platform settings/secrets is available.</i>
|
||||
</llm>
|
||||
<flow>
|
||||
<step n="1" title="Preflight">
|
||||
<action>Confirm all items above; halt if prerequisites are unmet.</action>
|
||||
</step>
|
||||
<step n="2" title="Configure Pipeline">
|
||||
<action>Detect CI platform (default GitHub Actions; ask about GitLab/CircleCI/etc.).</action>
|
||||
<action>Scaffold workflow (e.g., `.github/workflows/test.yml`) with appropriate triggers and caching (Node version from `.nvmrc`, browsers).</action>
|
||||
<action>Stage jobs sequentially (lint → unit → component → e2e) with matrix parallelization (shard by file, not test).</action>
|
||||
<action>Add selective execution script(s) for affected tests plus burn-in job rerunning changed specs 3x to catch flakiness.</action>
|
||||
<action>Attach artifacts on failure (traces/videos/HAR) and configure retries/backoff/concurrency controls.</action>
|
||||
<action>Document required secrets/environment variables and wire Slack/email notifications; provide local mirror script.</action>
|
||||
</step>
|
||||
<step n="3" title="Deliverables">
|
||||
<action>Produce workflow file(s), helper scripts (`test-changed`, burn-in), README/ci.md updates, secrets checklist, and any dashboard/badge configuration.</action>
|
||||
</step>
|
||||
</flow>
|
||||
<halt>
|
||||
<i>If git repo is absent, tests fail, or CI platform is unspecified, halt and request setup.</i>
|
||||
</halt>
|
||||
<notes>
|
||||
<i>Use `{project-root}/bmad/bmm/testarch/tea-index.csv` to load CI-focused fragments (ci-burn-in, selective-testing, visual-debugging) before finalising recommendations.</i>
|
||||
<i>Target ~20× speedups via parallel shards and caching; keep jobs under 10 minutes.</i>
|
||||
<i>Use `wait-on-timeout` ≈120s for app startup; ensure local `npm test` mirrors CI run.</i>
|
||||
<i>Mention alternative platform paths when not on GitHub.</i>
|
||||
</notes>
|
||||
<output>
|
||||
<i>CI pipeline configuration and guidance ready for team adoption.</i>
|
||||
</output>
|
||||
</task>
|
||||
```
|
||||
25
src/modules/bmm/workflows/testarch/ci/workflow.yaml
Normal file
25
src/modules/bmm/workflows/testarch/ci/workflow.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
# Test Architect workflow: ci
|
||||
name: testarch-ci
|
||||
description: "Scaffold or update the CI/CD quality pipeline."
|
||||
author: "BMad"
|
||||
|
||||
config_source: "{project-root}/bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
date: system-generated
|
||||
|
||||
installed_path: "{project-root}/bmad/bmm/workflows/testarch/ci"
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
|
||||
template: false
|
||||
|
||||
tags:
|
||||
- qa
|
||||
- ci-cd
|
||||
- test-architect
|
||||
|
||||
execution_hints:
|
||||
interactive: false
|
||||
autonomous: true
|
||||
iterative: true
|
||||
43
src/modules/bmm/workflows/testarch/framework/instructions.md
Normal file
43
src/modules/bmm/workflows/testarch/framework/instructions.md
Normal file
@@ -0,0 +1,43 @@
|
||||
<!-- Powered by BMAD-CORE™ -->
|
||||
|
||||
# Test Framework Setup v3.0
|
||||
|
||||
```xml
|
||||
<task id="bmad/bmm/testarch/framework" name="Test Framework Setup">
|
||||
<llm critical="true">
|
||||
<i>Preflight requirements:</i>
|
||||
<i>- Confirm `package.json` exists.</i>
|
||||
<i>- Verify no modern E2E harness is already configured.</i>
|
||||
<i>- Have architectural/stack context available.</i>
|
||||
</llm>
|
||||
<flow>
|
||||
<step n="1" title="Run Preflight Checks">
|
||||
<action>Validate each preflight requirement; stop immediately if any fail.</action>
|
||||
</step>
|
||||
<step n="2" title="Scaffold Framework">
|
||||
<action>Identify framework stack from `package.json` (React/Vue/Angular/Next.js) and bundler (Vite/Webpack/Rollup/esbuild).</action>
|
||||
<action>Select Playwright for large/perf-critical repos, Cypress for small DX-first teams.</action>
|
||||
<action>Create folders `{framework}/tests/`, `{framework}/support/fixtures/`, `{framework}/support/helpers/`.</action>
|
||||
<action>Configure timeouts (action 15s, navigation 30s, test 60s) and reporters (HTML + JUnit).</action>
|
||||
<action>Generate `.env.example` with `TEST_ENV`, `BASE_URL`, `API_URL` plus `.nvmrc`.</action>
|
||||
<action>Implement pure function → fixture → `mergeTests` pattern and faker-based data factories.</action>
|
||||
<action>Enable failure-only screenshots/videos and document setup in README.</action>
|
||||
</step>
|
||||
<step n="3" title="Deliverables">
|
||||
<action>Produce Playwright/Cypress scaffold (config + support tree), `.env.example`, `.nvmrc`, seed tests, and README instructions.</action>
|
||||
</step>
|
||||
</flow>
|
||||
<halt>
|
||||
<i>If prerequisites fail or an existing harness is detected, halt and notify the user.</i>
|
||||
</halt>
|
||||
<notes>
|
||||
<i>Consult `{project-root}/bmad/bmm/testarch/tea-index.csv` to identify and load the `knowledge/` fragments relevant to this task (fixtures, network, config).</i>
|
||||
<i>Playwright: take advantage of worker parallelism, trace viewer, multi-language support.</i>
|
||||
<i>Cypress: avoid when dependent API chains are heavy; consider component testing (Vitest/Cypress CT).</i>
|
||||
<i>Contract testing: suggest Pact for microservices; always recommend data-cy/data-testid selectors.</i>
|
||||
</notes>
|
||||
<output>
|
||||
<i>Scaffolded framework assets and summary of what was created.</i>
|
||||
</output>
|
||||
</task>
|
||||
```
|
||||
25
src/modules/bmm/workflows/testarch/framework/workflow.yaml
Normal file
25
src/modules/bmm/workflows/testarch/framework/workflow.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
# Test Architect workflow: framework
|
||||
name: testarch-framework
|
||||
description: "Initialize or refresh the test framework harness."
|
||||
author: "BMad"
|
||||
|
||||
config_source: "{project-root}/bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
date: system-generated
|
||||
|
||||
installed_path: "{project-root}/bmad/bmm/workflows/testarch/framework"
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
|
||||
template: false
|
||||
|
||||
tags:
|
||||
- qa
|
||||
- setup
|
||||
- test-architect
|
||||
|
||||
execution_hints:
|
||||
interactive: false
|
||||
autonomous: true
|
||||
iterative: true
|
||||
39
src/modules/bmm/workflows/testarch/gate/instructions.md
Normal file
39
src/modules/bmm/workflows/testarch/gate/instructions.md
Normal file
@@ -0,0 +1,39 @@
|
||||
<!-- Powered by BMAD-CORE™ -->
|
||||
|
||||
# Quality Gate v3.0
|
||||
|
||||
```xml
|
||||
<task id="bmad/bmm/testarch/gate" name="Quality Gate">
|
||||
<llm critical="true">
|
||||
<i>Preflight requirements:</i>
|
||||
<i>- Latest assessments (risk/test design, trace, automation, NFR) are available.</i>
|
||||
<i>- Team has consensus on fixes/mitigations.</i>
|
||||
</llm>
|
||||
<flow>
|
||||
<step n="1" title="Preflight">
|
||||
<action>Gather required assessments and confirm consensus; halt if information is stale or missing.</action>
|
||||
</step>
|
||||
<step n="2" title="Determine Gate Decision">
|
||||
<action>Assemble story metadata (id, title, links) for the gate file.</action>
|
||||
<action>Apply deterministic rules: PASS (all critical issues resolved), CONCERNS (minor residual risk), FAIL (critical blockers), WAIVED (business-approved waiver).</action>
|
||||
<action>Document rationale, residual risks, owners, due dates, and waiver details where applicable.</action>
|
||||
</step>
|
||||
<step n="3" title="Deliverables">
|
||||
<action>Update gate YAML with schema fields (story info, status, rationale, waiver, top issues, risk summary, recommendations, NFR validation, history).</action>
|
||||
<action>Provide summary message for the team highlighting decision and next steps.</action>
|
||||
</step>
|
||||
</flow>
|
||||
<halt>
|
||||
<i>If reviews are incomplete or risk data is outdated, halt and request the necessary reruns.</i>
|
||||
</halt>
|
||||
<notes>
|
||||
<i>Pull the risk-governance, probability-impact, and test-quality fragments via `{project-root}/bmad/bmm/testarch/tea-index.csv` before issuing a gate decision.</i>
|
||||
<i>FAIL whenever unresolved P0 risks/tests or security issues remain.</i>
|
||||
<i>CONCERNS when mitigations are planned but residual risk exists; WAIVED requires reason, approver, and expiry.</i>
|
||||
<i>Maintain audit trail in the history section.</i>
|
||||
</notes>
|
||||
<output>
|
||||
<i>Gate YAML entry and communication summary documenting the decision.</i>
|
||||
</output>
|
||||
</task>
|
||||
```
|
||||
25
src/modules/bmm/workflows/testarch/gate/workflow.yaml
Normal file
25
src/modules/bmm/workflows/testarch/gate/workflow.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
# Test Architect workflow: gate
|
||||
name: testarch-gate
|
||||
description: "Record the quality gate decision for the story."
|
||||
author: "BMad"
|
||||
|
||||
config_source: "{project-root}/bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
date: system-generated
|
||||
|
||||
installed_path: "{project-root}/bmad/bmm/workflows/testarch/gate"
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
|
||||
template: false
|
||||
|
||||
tags:
|
||||
- qa
|
||||
- gate
|
||||
- test-architect
|
||||
|
||||
execution_hints:
|
||||
interactive: false
|
||||
autonomous: true
|
||||
iterative: true
|
||||
@@ -0,0 +1,39 @@
|
||||
<!-- Powered by BMAD-CORE™ -->
|
||||
|
||||
# NFR Assessment v3.0
|
||||
|
||||
```xml
|
||||
<task id="bmad/bmm/testarch/nfr-assess" name="NFR Assessment">
|
||||
<llm critical="true">
|
||||
<i>Preflight requirements:</i>
|
||||
<i>- Implementation is deployed locally or accessible for evaluation.</i>
|
||||
<i>- Non-functional goals/SLAs are defined or discoverable.</i>
|
||||
</llm>
|
||||
<flow>
|
||||
<step n="1" title="Preflight">
|
||||
<action>Confirm prerequisites; halt if targets are unknown and cannot be clarified.</action>
|
||||
</step>
|
||||
<step n="2" title="Assess NFRs">
|
||||
<action>Identify which NFRs to assess (default: Security, Performance, Reliability, Maintainability).</action>
|
||||
<action>Gather thresholds from story/architecture/technical preferences; mark unknown targets.</action>
|
||||
<action>Inspect evidence (tests, telemetry, logs) for each NFR and classify status using deterministic PASS/CONCERNS/FAIL rules.</action>
|
||||
<action>List quick wins and recommended actions for any concerns/failures.</action>
|
||||
</step>
|
||||
<step n="3" title="Deliverables">
|
||||
<action>Produce NFR assessment markdown summarizing evidence, status, and actions; update gate YAML block with NFR findings; compile checklist of evidence gaps and owners.</action>
|
||||
</step>
|
||||
</flow>
|
||||
<halt>
|
||||
<i>If NFR targets are undefined and cannot be obtained, halt and request definition.</i>
|
||||
</halt>
|
||||
<notes>
|
||||
<i>Load the `nfr-criteria`, `ci-burn-in`, and relevant fragments via `{project-root}/bmad/bmm/testarch/tea-index.csv` to ground the assessment.</i>
|
||||
<i>Unknown thresholds default to CONCERNS—never guess.</i>
|
||||
<i>Ensure every NFR has evidence or call it out explicitly.</i>
|
||||
<i>Suggest monitoring hooks and fail-fast mechanisms when gaps exist.</i>
|
||||
</notes>
|
||||
<output>
|
||||
<i>NFR assessment report with actionable follow-ups and gate snippet.</i>
|
||||
</output>
|
||||
</task>
|
||||
```
|
||||
25
src/modules/bmm/workflows/testarch/nfr-assess/workflow.yaml
Normal file
25
src/modules/bmm/workflows/testarch/nfr-assess/workflow.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
# Test Architect workflow: nfr-assess
|
||||
name: testarch-nfr
|
||||
description: "Assess non-functional requirements before release."
|
||||
author: "BMad"
|
||||
|
||||
config_source: "{project-root}/bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
date: system-generated
|
||||
|
||||
installed_path: "{project-root}/bmad/bmm/workflows/testarch/nfr-assess"
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
|
||||
template: false
|
||||
|
||||
tags:
|
||||
- qa
|
||||
- nfr
|
||||
- test-architect
|
||||
|
||||
execution_hints:
|
||||
interactive: false
|
||||
autonomous: true
|
||||
iterative: true
|
||||
@@ -0,0 +1,44 @@
|
||||
<!-- Powered by BMAD-CORE™ -->
|
||||
|
||||
# Risk and Test Design v3.1
|
||||
|
||||
```xml
|
||||
<task id="bmad/bmm/testarch/test-design" name="Risk and Test Design">
|
||||
<llm critical="true">
|
||||
<i>Preflight requirements:</i>
|
||||
<i>- Story markdown, acceptance criteria, PRD/architecture context are available.</i>
|
||||
</llm>
|
||||
<flow>
|
||||
<step n="1" title="Preflight">
|
||||
<action>Confirm inputs; halt if any are missing or unclear.</action>
|
||||
</step>
|
||||
<step n="2" title="Assess Risks">
|
||||
<action>Use `{project-root}/bmad/bmm/testarch/tea-index.csv` to load the `risk-governance`, `probability-impact`, and `test-levels` fragments before scoring.</action>
|
||||
<action>Filter requirements to isolate genuine risks; review PRD/architecture/story for unresolved gaps.</action>
|
||||
<action>Classify risks across TECH, SEC, PERF, DATA, BUS, OPS; request clarification when evidence is missing.</action>
|
||||
<action>Score probability (1 unlikely, 2 possible, 3 likely) and impact (1 minor, 2 degraded, 3 critical); compute totals and highlight scores ≥6.</action>
|
||||
<action>Plan mitigations with owners, timelines, and update residual risk expectations.</action>
|
||||
</step>
|
||||
<step n="3" title="Design Coverage">
|
||||
<action>Break acceptance criteria into atomic scenarios tied to mitigations.</action>
|
||||
<action>Load the `test-levels` fragment (knowledge/test-levels-framework.md) to select appropriate levels and avoid duplicate coverage.</action>
|
||||
<action>Load the `test-priorities` fragment (knowledge/test-priorities-matrix.md) to assign P0–P3 priorities and outline data/tooling prerequisites.</action>
|
||||
</step>
|
||||
<step n="4" title="Deliverables">
|
||||
<action>Create risk assessment markdown (category/probability/impact/score) with mitigation matrix and gate snippet totals.</action>
|
||||
<action>Produce coverage matrix (requirement/level/priority/mitigation) plus recommended execution order.</action>
|
||||
</step>
|
||||
</flow>
|
||||
<halt>
|
||||
<i>If story data or criteria are missing, halt and request them.</i>
|
||||
</halt>
|
||||
<notes>
|
||||
<i>Category definitions: TECH=architecture flaws; SEC=missing controls; PERF=SLA risk; DATA=loss/corruption; BUS=user/business harm; OPS=deployment/run failures.</i>
|
||||
<i>Leverage `tea-index.csv` tags to find supporting evidence (e.g., fixture-architecture, selective-testing) without loading unnecessary files.</i>
|
||||
<i>Rely on evidence, not speculation; tie scenarios back to mitigations; keep scenarios independent and maintainable.</i>
|
||||
</notes>
|
||||
<output>
|
||||
<i>Unified risk assessment and coverage strategy ready for implementation.</i>
|
||||
</output>
|
||||
</task>
|
||||
```
|
||||
25
src/modules/bmm/workflows/testarch/test-design/workflow.yaml
Normal file
25
src/modules/bmm/workflows/testarch/test-design/workflow.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
# Test Architect workflow: test-design
|
||||
name: testarch-plan
|
||||
description: "Plan risk mitigation and test coverage before development."
|
||||
author: "BMad"
|
||||
|
||||
config_source: "{project-root}/bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
date: system-generated
|
||||
|
||||
installed_path: "{project-root}/bmad/bmm/workflows/testarch/test-design"
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
|
||||
template: false
|
||||
|
||||
tags:
|
||||
- qa
|
||||
- planning
|
||||
- test-architect
|
||||
|
||||
execution_hints:
|
||||
interactive: false
|
||||
autonomous: true
|
||||
iterative: true
|
||||
39
src/modules/bmm/workflows/testarch/trace/instructions.md
Normal file
39
src/modules/bmm/workflows/testarch/trace/instructions.md
Normal file
@@ -0,0 +1,39 @@
|
||||
<!-- Powered by BMAD-CORE™ -->
|
||||
|
||||
# Requirements Traceability v3.0
|
||||
|
||||
```xml
|
||||
<task id="bmad/bmm/testarch/trace" name="Requirements Traceability">
|
||||
<llm critical="true">
|
||||
<i>Preflight requirements:</i>
|
||||
<i>- Story has implemented tests (or acknowledge gaps).</i>
|
||||
<i>- Access to source code and specifications is available.</i>
|
||||
</llm>
|
||||
<flow>
|
||||
<step n="1" title="Preflight">
|
||||
<action>Confirm prerequisites; halt if tests or specs are unavailable.</action>
|
||||
</step>
|
||||
<step n="2" title="Trace Coverage">
|
||||
<action>Gather acceptance criteria and implemented tests.</action>
|
||||
<action>Map each criterion to concrete tests (file + describe/it) using Given-When-Then narrative.</action>
|
||||
<action>Classify coverage status as FULL, PARTIAL, NONE, UNIT-ONLY, or INTEGRATION-ONLY.</action>
|
||||
<action>Flag severity based on priority (P0 gaps are critical) and recommend additional tests or refactors.</action>
|
||||
<action>Build gate YAML coverage summary reflecting totals and gaps.</action>
|
||||
</step>
|
||||
<step n="3" title="Deliverables">
|
||||
<action>Generate traceability report under `docs/qa/assessments`, a coverage matrix per criterion, and gate YAML snippet capturing totals/gaps.</action>
|
||||
</step>
|
||||
</flow>
|
||||
<halt>
|
||||
<i>If story lacks implemented tests, pause and advise running `*atdd` or writing tests before tracing.</i>
|
||||
</halt>
|
||||
<notes>
|
||||
<i>Use `{project-root}/bmad/bmm/testarch/tea-index.csv` to load traceability-relevant fragments (risk-governance, selective-testing, test-quality) as needed.</i>
|
||||
<i>Coverage definitions: FULL=all scenarios validated, PARTIAL=some coverage, NONE=no validation, UNIT-ONLY=missing higher-level validation, INTEGRATION-ONLY=lacks lower-level confidence.</i>
|
||||
<i>Ensure assertions stay explicit and avoid duplicate coverage.</i>
|
||||
</notes>
|
||||
<output>
|
||||
<i>Traceability matrix and gate snippet ready for review.</i>
|
||||
</output>
|
||||
</task>
|
||||
```
|
||||
25
src/modules/bmm/workflows/testarch/trace/workflow.yaml
Normal file
25
src/modules/bmm/workflows/testarch/trace/workflow.yaml
Normal file
@@ -0,0 +1,25 @@
|
||||
# Test Architect workflow: trace
|
||||
name: testarch-trace
|
||||
description: "Trace requirements to implemented automated tests."
|
||||
author: "BMad"
|
||||
|
||||
config_source: "{project-root}/bmad/bmm/config.yaml"
|
||||
output_folder: "{config_source}:output_folder"
|
||||
user_name: "{config_source}:user_name"
|
||||
communication_language: "{config_source}:communication_language"
|
||||
date: system-generated
|
||||
|
||||
installed_path: "{project-root}/bmad/bmm/workflows/testarch/trace"
|
||||
instructions: "{installed_path}/instructions.md"
|
||||
|
||||
template: false
|
||||
|
||||
tags:
|
||||
- qa
|
||||
- traceability
|
||||
- test-architect
|
||||
|
||||
execution_hints:
|
||||
interactive: false
|
||||
autonomous: true
|
||||
iterative: true
|
||||
Reference in New Issue
Block a user