4.2 KiB
4.2 KiB
BuildPulse v0.1 Test Plan
Test Goal
Verify that BuildPulse v0.1 can manage one project, protect scope, log progress, and export useful AI handoff context.
Manual Test Group 1 — Project Summary
Test 1.1: Edit project summary
Steps:
- Open app.
- Edit project name.
- Edit one-line pitch.
- Edit current goal.
- Refresh page.
Expected:
- Edited values persist after refresh.
Test 1.2: Empty project fields
Steps:
- Clear optional project fields.
- Save.
- Refresh.
Expected:
- App does not crash.
- Empty states are readable.
Manual Test Group 2 — Feature Plan
Test 2.1: Add feature
Steps:
- Open Feature Plan.
- Add new feature.
- Enter title and description.
- Save.
Expected:
- Feature appears in default column.
- Feature persists after refresh.
Test 2.2: Move feature
Steps:
- Move a feature from Now to Next.
- Move it to Later.
- Move it to Done.
Expected:
- Feature appears in the correct column each time.
- State persists after refresh.
Test 2.3: Edit acceptance criteria
Steps:
- Open feature detail.
- Add acceptance criteria.
- Save and close.
- Reopen feature.
Expected:
- Acceptance criteria are saved and visible.
Test 2.4: Delete feature
Steps:
- Create a test feature.
- Delete it.
Expected:
- Feature is removed.
- App remains stable.
- Related pulse events are either preserved with missing feature label or handled gracefully.
Manual Test Group 3 — Parking Lot
Test 3.1: Add parked idea
Steps:
- Open Parking Lot.
- Add an idea.
- Add reason parked and risk level.
Expected:
- Item appears in Parking Lot.
- Item persists after refresh.
Test 3.2: Convert parked idea to feature
If implemented in v0.1:
Steps:
- Select Parking Lot item.
- Convert to feature.
Expected:
- New feature is created.
- Original item is either removed or marked converted.
If not implemented:
- This test is skipped.
Manual Test Group 4 — Pulse Log
Test 4.1: Add INTENT pulse
Steps:
- Open Pulse Log.
- Add pulse type INTENT.
- Link to a feature.
- Add message and confidence.
Expected:
- Pulse appears in log.
- Feature name is shown.
- Pulse persists after refresh.
Test 4.2: Add BLOCKER pulse without feature
Steps:
- Add pulse type BLOCKER.
- Do not link feature.
- Save.
Expected:
- Pulse appears in log.
- App does not require feature link.
Test 4.3: Filter pulses
If filtering is implemented:
Steps:
- Add multiple pulse types.
- Filter by RESULT.
- Filter by feature.
Expected:
- Correct pulses are shown.
Manual Test Group 5 — Export
Test 5.1: Export full JSON
Steps:
- Add project summary, features, parking items, and pulses.
- Export full JSON.
- Inspect file/content.
Expected:
- JSON contains schema version.
- JSON contains project.
- JSON contains features.
- JSON contains parking_lot.
- JSON contains pulses.
Test 5.2: Import JSON
Steps:
- Export JSON.
- Clear app or use different browser.
- Import JSON.
Expected:
- Data is restored.
- App does not duplicate IDs unexpectedly.
Test 5.3: Export Pulse JSONL
Steps:
- Add several pulses.
- Export JSONL.
Expected:
- Each line is valid JSON.
- Each line represents one pulse event.
Test 5.4: Export Markdown
Steps:
- Export Markdown package.
- Open
CLAUDE_CONTEXT.md.
Expected:
- Contains project summary.
- Contains Now/Next/Later/Done features.
- Contains Parking Lot.
- Contains recent pulses.
- Is useful as an AI coder handoff.
Manual Test Group 6 — Mobile Usability
Test 6.1: Phone layout
Steps:
- Open app in mobile-width browser.
- Navigate all views.
- Add feature.
- Add parked idea.
- Add pulse.
Expected:
- UI is usable on phone.
- No critical controls are inaccessible.
Manual Test Group 7 — Scope Guard
Test 7.1: Parking distracting idea
Scenario: User thinks of “real-time OpenClaw integration.”
Steps:
- Add it to Parking Lot.
- Mark risk as high/dangerous.
- Do not add it as active feature.
Expected:
- Idea is captured.
- Active v0.1 scope remains clean.
Release Decision
v0.1 can ship when:
- All required happy paths pass.
- Data persists.
- Export works.
- App can manage BuildPulse itself.
- No forbidden v0.1 scope items have been implemented.