Skip to content

Latest commit

History

History
199 lines (141 loc) 路 3.92 KB

File metadata and controls

199 lines (141 loc) 路 3.92 KB

KOS2 Test Strategy

1. Cel test贸w

Testy maj膮 chroni膰 trzy rzeczy:

  • poprawno艣膰 workflow贸w KOS
  • stabilno艣膰 runtime Ollama local/cloud
  • wydajno艣膰 odczuwaln膮 na Apple Silicon

2. Poziomy test贸w

2.1 Unit tests

Zakres:

  • key resolution
  • provider adapters
  • config validation
  • intent routing helpers
  • citation formatting
  • diff/write safety helpers

Przyk艂adowe modu艂y:

  • src/services/ollama/*
  • src/plusUtils.ts
  • src/utils.ts
  • nowe modu艂y KOS command surface

2.2 Integration tests

Zakres:

  • chat path przez local Ollama
  • embedding path przez local Ollama
  • web search adapter z mockiem i real smoke
  • indexing i retrieval na testowym vaultcie
  • organise, next-steps, decision, review

Zasada:

  • regular CI: mock/stub where possible
  • lokalne gated smoke: real Ollama

2.3 Smoke tests

Smoke ma by膰 szybki i brutalnie praktyczny.

Minimalny zakres:

  • build pluginu
  • local Ollama tags
  • local chat
  • local embeddings
  • Ollama Cloud web search

Aktualny bootstrap smoke:

Kontrakt smoke dla Milestone 0/1:

  • obowi膮zkowe komendy gate:
    • npm run build
    • npm run smoke:ollama
  • local-only pass:
    • local Ollama tags, chat i embeddings przechodz膮,
    • brak cloud key nie oblewa ca艂ego smoke, tylko jawnie skipuje cz臋艣膰 webow膮
  • cloud-ready pass:
    • przy obecnym kluczu przechodzi tak偶e web search przez Ollama Cloud

2.4 Manual acceptance tests

Scenariusze obowi膮zkowe:

  1. install pluginu do testowego vaulta
  2. wyb贸r lokalnego modelu
  3. prosty chat
  4. retrieval pytania o vault
  5. organise
  6. next-steps
  7. decision
  8. review
  9. web search przez Ollama Cloud
  10. preview edycji pliku przed zapisem

2.5 Benchmarks

Mierzymy:

  • cold start chat latency
  • warm chat latency
  • embed latency
  • indexing time dla test vaulta
  • retrieval latency

Benchmark musi podawa膰:

  • model
  • host
  • vault size fixture
  • cold vs warm

Aktualny skeleton benchmarku:

  • scripts/benchmark-kos2.sh
  • env contract:
    • LOCAL_OLLAMA_URL
    • KOS2_BENCH_CHAT_MODEL
    • KOS2_BENCH_EMBED_MODEL
  • output contract:
    • JSON na stdout
    • kr贸tki summary log na stderr

3. Fixture strategy

3.1 Test vault

Potrzebny jest jawny, ma艂y testowy vault zawieraj膮cy:

  • 01_Inbox
  • 10_Projects
  • 20_Areas
  • 30_Resources
  • kilka analysis/decision/outcome notes
  • przyk艂ady needs-review

Aktualna 艣cie偶ka fixture:

3.2 Web fixtures

  • HTML page fixture
  • plain text fixture
  • mocked web_search responses

3.3 Ingest fixtures

Te dopiero w ostatnim epiku:

  • PDF
  • EPUB
  • DOCX
  • PPTX
  • sample YouTube URLs / transcript payloads

4. Gates jako艣ci

4.1 Gate commit/branch

  • build przechodzi
  • unit tests przechodz膮

4.2 Gate sprint completion

  • integration tests dla scope sprintu przechodz膮
  • smoke local/cloud przechodzi

Obowi膮zkowe testy per sprint:

  • Milestone 0
    • build
    • unit tests dla runtime helpers
    • integration test fixture contract
    • smoke lokalny, je艣li host Ollamy jest dost臋pny
  • Milestone 1
    • build
    • unit tests dla key resolution i compat shim
    • integration test fixture contract
    • smoke local-only
    • smoke cloud-ready, je艣li klucz jest dost臋pny

4.3 Gate release candidate

  • pe艂ny smoke
  • manual acceptance checklist
  • benchmark comparison bez istotnej regresji

5. Priorytety testowe

Najpierw testujemy:

  1. runtime Ollama
  2. KOS command surface
  3. retrieval/indexing
  4. write safety
  5. web tools
  6. dopiero na ko艅cu ingest/transcript

6. Definition of Done dla jako艣ci

Feature nie jest gotowy, je艣li:

  • dzia艂a tylko manualnie, bez testu
  • nie ma smoke/integration coverage dla krytycznej 艣cie偶ki
  • psuje local-first assumptions
  • pogarsza benchmark bez 艣wiadomej decyzji