Tester checklist
Purpose. A single end-to-end smoke test that touches every major workflow in CompStack. Run this before signing off on a release. Audience. Any tester - internal QA, customer admins doing a dry-run, implementation consultants validating a customer rollout. Time budget: ~45 minutes for the full pass.
Use this checklist with the guide index. If any step fails, file a bug with: URL, what you expected, what you got, a screenshot, and the user you were signed in as.
Newer modules. This master list covers the core workflows. Every newer module guide (Task Center, Incidents, Complaints, Vendors, Training, Attestations, BCM, MoC, Equipment, Chemicals, Permits, Regulatory, Trust center, Workflow rules, Executive dashboard, Global search, Modules, Security, Data export) ends with its own Try it checklist. For a full pass, run this list first, then the Try it list of each module your org has enabled.
Tip - split it up. Each section below is independent. If you only have 10 minutes, run the Documents section. If you only care about CAPA + audits, skip the rest. The checklist is modular by design.
Setup (5 min)
- Login. Go to https://app.compstack.io, sign in.
- Org switcher. Confirm the active org chip is correct.
- Reload. Hit Cmd+R. The same org is still selected (persistence check).
- Open My Workspace. The Pending approvals / Departments I lead / Processes I own / Documents I own tiles render with counts.
- Click a workspace tile. It navigates into the matching detail page (regression: tiles must be clickable).
Org and members (5 min)
- Side nav → Organizations. Three sample orgs render.
- On the active org card → ⋯ → Manage members. Dialog opens, lists current members with role select and deactivate icon.
- Try Invite existing user with a fake email
nobody@example.com. Snackbar shows "No user found with email…". - Close dialog. Click ⋯ → Edit. Make a tiny edit to description. Save. The card reflects the change.
- Theme menu (top bar) → swatch grid. Click Magenta. Avatar + "Home" breadcrumb pick up the new color.
- Click the same swatch again or the reset row → color returns to default.
Departments (3 min)
- Side nav → Departments. Tree renders.
- Click a root department → expand to children.
- Open a leaf department detail. Members header count matches body member count (no head double-counting).
- Click Add member. Autocomplete fires when you type → a stub message appears if every user is already a member.
Documents (8 min)
- Documents → New Document. Title
Test QC Policy, codeQC-001, type Policy, assign a department that has an approval chain. Save → land on detail page in Draft. - Upload first version button surfaces. Click → editor opens. Click Upload File, pick a small PDF. Save.
- Versions tab: v1.0 in Draft. Submit for Review appears.
- Click Submit → confirm. Status flips to In Review + Approvals (n) tab appears. The chain steps materialize.
- As an approver, click Approve. Comment dialog → Approved.
- When all steps approve, status auto-flips to Approved. Publish button appears.
- Click Publish → status = Published. The version is the new current.
Processes (8 min)
- Processes → New Process. Code
TEST-01-01, nameTest Process, owner = me, department with chain. Set Review Frequency = 90. Next Review Date auto-fills 90 days from today. - Save → land on detail with v1.0 Draft.
- Edit Steps tab, add 2 steps, Save.
- Submit for Approval → status flips to In Review, Approvals tab shows the chain.
- Approve through every step. Status = Approved.
- Publish → status = Published.
- From
/processes, click Export Process Manual. The xlsx downloads with the right department sheets.
CAPA (6 min)
- CAPA → New CAPA. Title, owner = me, priority High. Save → board renders the new card in Draft.
- Open the CAPA detail. Click Assign. Status = Assigned. Board auto-updates without manual refresh (realtime).
- Click Start Progress → In Progress.
- Mark Implemented → Implemented.
- Submit for Verification → Verification.
- Try Verify & Close as the same user → button hidden (segregation of duties).
- Sign in as a different user (or simulate via SQL). Verify & Close → status = Closed.
Audits (8 min)
- Audits → New Audit. Name, type Internal, dates. Save → Draft.
- Show menu → Plan Audit. Status = Planned.
- Checklist tab → Generate Checklist (or seed via SQL). At least 3 items appear.
- Show menu → Start Audit. Status = In Progress.
- Click Run Audit. Mark item 1 Conformity → Next, item 2 Nonconformity → Next, item 3 Observation → Finish.
- Verify each item's
resultis distinct in DB (regression: a previous bug saved every Next click to item 1). - Show menu → Complete Audit. Enter conclusions. Save → status = Completed.
- Open
/findings. Two new auto-raised findings show up: one NC + major, one OBS + minor, both linked back to the audit + item.
Findings (3 min)
- Open the auto-raised NC finding.
- Click In Progress → status flips. Buttons update to Open / Resolved.
- Click Resolved → Verified → Closed. Lifecycle reaches end-of-flow.
- Test realtime: open the finding in two tabs. Update status from a SQL console. Both tabs sync within ~2s.
Risks (4 min)
- Risk Register → New Risk. Title, likelihood Possible, impact Moderate. Inherent Risk computes 9 (Medium).
- Save. List shows the new row with risk_number
RISK-NNNNNN. - Edit, set Residual Likelihood Unlikely + Impact Minor → Residual auto-computes 4.
- Add a treatment linked to a Closed CAPA → treatment status = Implemented.
Approval Chains (3 min)
- Approval Chains → New Chain. Name, 2 steps (head + a user), assignment to a department, priority 100. Save → snackbar "Approval chain saved", redirect to list.
- Edit the chain to add a 3rd step. Save → list reflects it.
- Submit a process in the assigned department → 3 steps materialize.
Management Reviews (3 min)
- Management Reviews → Create Review. Title, date. Save → Draft. Detail page renders.
- Top bar → Schedule → status = Scheduled.
- Start → status = In Progress.
- Finalize → status = Completed. Edit fields are read-only.
- Reopen (admin) → status = In Progress again, edits enabled.
AI Copilot end-to-end (5 min)
- On a Finding → Draft CAPA. Drawer opens, AI thinking → "1 action(s) for your approval".
-
/ai/approvals→ Pending filter shows the new proposal (no "No pending proposals" empty state - regression). - Click into the proposal. Payload editable. Click Approve.
- CAPA materializes in
/capawithsource_proposal_idlinking back. - On a Requirement → Suggest controls. Approve → controls land
in
/controls. - On a Standard → Build module with AI. Upload sample PDF → preview clauses → Apply.
Onboarding (3 min, admin only)
- Onboarding (admin nav). Click Load small sample →
Validate → Apply. Snackbar
Imported 8 departments, …confirms. - Re-Apply same sample. Snackbar shows
0 newfor already-existing rows (idempotency check).
Cross-cutting realtime (2 min)
- Open the same Finding in two browsers/tabs.
- In tab A, change the status via the buttons. Tab B reflects the change within 2s without a manual reload.
- Same test for a CAPA (different lifecycle).
- Same test for an Audit completion.
Sign-off
- Tester: ____________________
- Date: ____________________
- Build: ____________________ (Cloudflare deploy URL)
- Pass / Fail: ____________________
- Bugs filed: ____________________
When something fails
- Capture the URL bar.
- Open Cmd+Opt+I → Network tab → screenshot the failing request + response body if there is one.
- Open Console tab → screenshot any red errors.
- Note your user email + the active org.
- File the bug. Reference the section heading above so we know which workflow.