1Business context
FactoryOS is a manufacturing execution dashboard. It monitors machines live, releases work orders only when materials are in stock, tracks the work-order lifecycle and records quality inspections against tolerances.
A live machine dashboard with status filters and OEE meters, work orders whose bill of materials is checked against stock (shortages block release), a start → complete lifecycle, and quality inspection with tolerance-based pass/fail.
2Users & roles
- 👤 Production planner / supervisor — releases and progresses work orders
- 👤 Quality inspector — records measurements and defects
3Modules & screens
| Screen | Route | What it does |
|---|---|---|
| Shop floor | /apps/factory | Live machine statuses, OEE meters and status filters |
| Work orders | /apps/factory/work-orders | List with start → complete lifecycle |
| New work order | /apps/factory/work-orders/new | Product, quantity, BOM stock check, line, due date, priority |
| Quality | /apps/factory/quality | Tolerance checks and defects → PASS / FAIL |
4Main end-to-end journey
Work order to passed QC
- New work order for Pump × 50
- See the impeller shortage and blocked release
- Reduce by 10
- Choose Line B, a due date and urgent, and release
- Start then complete WO-1001
- Inspect with 25.02 / 119.9 / 2.43 and submit
Expected: Shortage −10 blocks release; WO-1001 goes Released → In progress → Completed; QC result PASS with a QC- id
5Business rules & validations
- Changing dataIntermediate
machine-card data-status changes every ~4s; assert counts add up (count-*) rather than specific states.
- MetersBeginner
oee-* use role=meter with aria-valuenow; avg-oee is the mean of all machines.
- BOM mathsIntermediate
Pump × 50 → required-bearing 100, required-impeller 50 (stock 40) → shortage-impeller shows −10.
- Blocked actionIntermediate
release-wo with a shortage shows wo-error naming the part; wo-qty-dec10 clears it (materials-ok).
- LifecycleBeginner
start-<id> → In progress → complete-<id> → Completed; buttons change with status.
- Tolerance checksAdvanced
25.06 mm fails (Out of tolerance) while 25.05 passes; any defect checkbox forces FAIL.
- Incomplete inspectionBeginner
submit-inspection before all measurements shows qc-error; qc-result stays Pending.
6Test data & credentials
- URL
- /apps/factory
- Impeller stock
- 40 units
- QC spec
- 25.00 ± 0.05 mm …
- WO numbers
- WO-1001 …
7Glossary
- OEE
- Overall equipment effectiveness, as a percentage
- BOM
- Bill of materials — parts needed per unit
- Tolerance
- Allowed deviation, e.g. 25.00 ± 0.05 mm
8Watch-outs for automation
- ⚠️Machine statuses change every ~4 s — assert that counts add up
- ⚠️Shortages block release and name the part
- ⚠️Any defect forces FAIL even within tolerance
9Suggested test strategy
1 · Smoke
3
P1 positive and end-to-end cases — run on every build.
2 · Regression
16
All cases, incl. 4 negative and 3 edge — run before release.
3 · End-to-end
3
Full user journeys — run nightly.
Start with these smoke cases
- FACTORYOS-01 — Release a work order
- FACTORYOS-02 — Work order lifecycle
- FACTORYOS-E2E-01 — Work order to passed QC