67a69ab073
- Go backend API with full CRUD for all modules - Rust analytics service with parallel processing - C runtime with POSIX shared memory IPC - PostgreSQL schema with 30+ tables - Redis cache, Kafka event streaming - WebSocket hub, automation engine - PDF generation, Resend email integration - JWT auth, multi-tenant - Docker Compose deployment - Nginx reverse proxy Refs: BOC-001
171 lines
3.9 KiB
Markdown
171 lines
3.9 KiB
Markdown
# BOC Test Plan
|
|
## Bygg och testa fullt ut mot referenssystem
|
|
|
|
---
|
|
|
|
## Teststrategi
|
|
|
|
### 1. Enhetstester (Unit Tests)
|
|
- Varje handler ska ha minst 80% coverage
|
|
- Mocka databas med sqlmock
|
|
- Testa happy path + felhantering
|
|
|
|
### 2. Integrationstester
|
|
- Starta hela stacken i Docker
|
|
- Kör API-anrop mot riktiga endpoints
|
|
- Verifiera databasstate efter varje test
|
|
|
|
### 3. Referenssystem-jämförelse
|
|
- Jämför funktionalitet mot Fortnox, Odoo, Visma
|
|
- Dokumentera skillnader
|
|
- Prioritera vad som saknas
|
|
|
|
---
|
|
|
|
## Testfall per modul
|
|
|
|
### CRM
|
|
```
|
|
✅ TC-CRM-001: Skapa kund
|
|
✅ TC-CRM-002: Uppdatera kund
|
|
✅ TC-CRM-003: Ta bort kund
|
|
✅ TC-CRM-004: Lista kunder med paginering
|
|
✅ TC-CRM-005: Sök kund på namn/email
|
|
✅ TC-CRM-006: Skapa interaktion
|
|
✅ TC-CRM-007: Visa pipeline
|
|
🔄 TC-CRM-008: Lead-scoring (AI)
|
|
🔄 TC-CRM-009: Automatisk konvertering lead→kund
|
|
```
|
|
|
|
### Sales
|
|
```
|
|
✅ TC-SAL-001: Skapa offert
|
|
✅ TC-SAL-002: Skicka offert till kund
|
|
✅ TC-SAL-003: Kund accepterar offert
|
|
✅ TC-SAL-004: Konvertera offert till order
|
|
✅ TC-SAL-005: Skapa order direkt
|
|
✅ TC-SAL-006: Skicka order
|
|
✅ TC-SAL-007: Leverera order
|
|
✅ TC-SAL-008: Skapa faktura från order
|
|
✅ TC-SAL-009: Beräkna MRR/ARR
|
|
✅ TC-SAL-010: Prenumerationshantering
|
|
```
|
|
|
|
### Finance
|
|
```
|
|
✅ TC-FIN-001: Skapa leverantörsfaktura
|
|
✅ TC-FIN-002: Godkänn leverantörsfaktura
|
|
✅ TC-FIN-003: Betala leverantörsfaktura
|
|
✅ TC-FIN-004: Avstämning banktransaktioner
|
|
✅ TC-FIN-005: Kvittohantering med OCR
|
|
✅ TC-FIN-006: Budgetuppföljning
|
|
✅ TC-FIN-007: Kassaflödesprognos
|
|
✅ TC-FIN-008: Integration aamos-ledger
|
|
```
|
|
|
|
### HR
|
|
```
|
|
✅ TC-HR-001: Registrera anställd
|
|
✅ TC-HR-002: Tidrapport
|
|
✅ TC-HR-003: Ledighetsansökan
|
|
✅ TC-HR-004: Godkänn ledighet
|
|
✅ TC-HR-005: Lönekörning
|
|
✅ TC-HR-006: Generera lönespecifikation
|
|
✅ TC-HR-007: AGI-rapportering (mock)
|
|
```
|
|
|
|
### Inventory
|
|
```
|
|
✅ TC-INV-001: Skapa lagerplats
|
|
✅ TC-INV-002: Registrera lagersaldo
|
|
✅ TC-INV-003: Inleverans
|
|
✅ TC-INV-004: Utleverans
|
|
✅ TC-INV-005: Lagerjustering
|
|
✅ TC-INV-006: Larm vid lågt saldo
|
|
```
|
|
|
|
### Projects
|
|
```
|
|
✅ TC-PROJ-001: Skapa projekt
|
|
✅ TC-PROJ-002: Registrera tid på projekt
|
|
✅ TC-PROJ-003: Allokera kostnad till projekt
|
|
✅ TC-PROJ-004: Projektresultat
|
|
✅ TC-PROJ-005: Budget vs faktisk
|
|
```
|
|
|
|
### Automation
|
|
```
|
|
✅ TC-AUTO-001: Skapa schemalagt jobb
|
|
✅ TC-AUTO-002: Jobb exekveras enligt cron
|
|
✅ TC-AUTO-003: Skapa workflow
|
|
✅ TC-AUTO-004: Trigga workflow manuellt
|
|
✅ TC-AUTO-005: Event-trigger fungerar
|
|
```
|
|
|
|
---
|
|
|
|
## Jämförelse med referenssystem
|
|
|
|
### Fortnox
|
|
| Funktion | Fortnox | BOC | Status |
|
|
|----------|---------|-----|--------|
|
|
| Autobokföring bank | ✅ | ⚠️ (manuell sync) | Delvis |
|
|
| OCR kvitton | ✅ | ✅ | Klar |
|
|
| Digital signering | ❌ | ❌ | Ej prio |
|
|
| Fakturafinansiering | ✅ | ❌ | Ej prio |
|
|
|
|
### Odoo
|
|
| Funktion | Odoo | BOC | Status |
|
|
|----------|------|-----|--------|
|
|
| Manufacturing (MRP) | ✅ | ❌ | Ej prio |
|
|
| eCommerce | ✅ | ❌ | Ej prio |
|
|
| PoS (Kassa) | ✅ | ❌ | Ej prio |
|
|
| Multi-company | ✅ | ✅ | Klar |
|
|
| Multi-currency | ✅ | ⚠️ | Delvis |
|
|
|
|
### Visma
|
|
| Funktion | Visma | BOC | Status |
|
|
|----------|-------|-----|--------|
|
|
| ROT/RUT | ✅ | ❌ | Ej prio |
|
|
| Enkel bokföring | ✅ | ❌ | Ej prio |
|
|
| Förenklat årsbokslut | ✅ | ❌ | Ej prio |
|
|
|
|
---
|
|
|
|
## Kör tester
|
|
|
|
```bash
|
|
# Enhetstester
|
|
cd backend && go test ./... -v
|
|
|
|
# Integrationstester
|
|
cd backend && go test ./... -tags=integration -v
|
|
|
|
# Bygg och starta
|
|
docker-compose up -d --build
|
|
|
|
# Kör API-tester
|
|
curl -s http://localhost:9092/health
|
|
|
|
# Kolla coverage
|
|
go test ./... -coverprofile=coverage.out
|
|
go tool cover -html=coverage.out
|
|
```
|
|
|
|
---
|
|
|
|
## Kriterier för "production ready"
|
|
|
|
- [ ] Alla enhetstester passerar
|
|
- [ ] 80%+ code coverage
|
|
- [ ] Integrationstester passerar
|
|
- [ ] Docker Compose startar utan fel
|
|
- [ ] API-dokumentation komplett
|
|
- [ ] Performance-test: <100ms response time
|
|
- [ ] Security audit: inga kända sårbarheter
|
|
- [ ] Backup/restore testat
|
|
|
|
---
|
|
|
|
*Senast uppdaterad: 2026-07-12*
|