docs: add quick start and user guides
This commit is contained in:
@@ -1,3 +1,30 @@
|
||||
# Integration Tests
|
||||
|
||||
두 앱 사이 manifest 계약과 end-to-end golden scenario를 검증합니다.
|
||||
실제 브라우저 API, Worker, 다운로드와 앱 간 데이터 계약을 함께 검증합니다.
|
||||
|
||||
## 실행
|
||||
|
||||
1. 저장소의 `start.cmd`를 실행합니다.
|
||||
2. 최신 Edge 또는 Chrome에서 <http://127.0.0.1:4173/tests/>을 엽니다.
|
||||
3. 모든 항목이 끝날 때까지 페이지를 열어 둡니다.
|
||||
|
||||
Unit과 integration test가 같은 페이지에서 실행됩니다. WebGPU 장치 초기화와 192채널 baseline은
|
||||
수 초 이상 걸릴 수 있습니다. 페이지 제목과 요약이 `PASS`인지 확인하고 실패 항목의 stack을
|
||||
확인하세요. `index.html`을 직접 열면 HTTP, module과 Worker 테스트가 올바르게 동작하지 않습니다.
|
||||
|
||||
## 범위
|
||||
|
||||
- `cpu-baseline.test.js`: 192채널·50×50 synthetic fixture의 CPU DAS와 위치 기준
|
||||
- `webgpu.test.js`: 실제 adapter가 있으면 CPU/GPU map 오차, peak와 강제 bin/point batching;
|
||||
adapter가 없으면 Auto CPU fallback
|
||||
- `server.test.js`: 숨김 저장소 경로 차단, GET/HEAD 제한과 보안 response headers
|
||||
- `builder-ui.test.js`: 이미지·오디오 연결, canvas 편집, Preview WAV/Scene 다운로드, SHA 재연결과
|
||||
잘못된 import 보존
|
||||
- `camera-ui.test.js`: Dedicated Worker CPU/WebGPU 실행, 취소, Result schema, rectangular/Fermat 비교
|
||||
- `workflow-ui.test.js`: Dataset Builder의 Scene JSON과 원본 assets를 Acoustic Camera에 넘겨
|
||||
Result JSON을 저장하는 end-to-end 흐름
|
||||
|
||||
WebGPU adapter가 없는 환경에서는 장치가 필요한 비교 항목을 건너뛰거나 Auto fallback을 검증하므로
|
||||
CPU-only PASS도 가능합니다. 실제 장치의 scaling과 benchmark JSON 저장은
|
||||
<http://127.0.0.1:4173/benchmarks/webgpu-scaling.html>에서 별도로 실행하세요. 기존 실측 조건과
|
||||
해석은 [`../../docs/benchmarks/README.md`](../../docs/benchmarks/README.md)에 있습니다.
|
||||
|
||||
+24
-1
@@ -1,3 +1,26 @@
|
||||
# Unit Tests
|
||||
|
||||
음향 수식, 좌표 변환, CPU/GPU 수치 일치 테스트를 둡니다.
|
||||
브라우저에서 실행되는 결정론적 수치·계약 테스트입니다. 별도 Node.js test runner가 필요하지
|
||||
않습니다.
|
||||
|
||||
## 실행
|
||||
|
||||
1. 저장소의 `start.cmd`를 실행합니다.
|
||||
2. 최신 Edge 또는 Chrome에서 <http://127.0.0.1:4173/tests/>을 엽니다.
|
||||
3. 페이지 상단의 통과/실패 합계와 각 테스트 결과를 확인합니다.
|
||||
|
||||
Unit과 integration module은 같은 browser runner에서 순서대로 실행됩니다. 다시 실행하려면 페이지를
|
||||
새로 고치세요. 다른 포트를 사용했다면 URL의 포트도 바꾸며, `tests/index.html`을 파일로 직접 열면
|
||||
안 됩니다.
|
||||
|
||||
## 범위
|
||||
|
||||
- `contracts.test.js`: Array·Scene·Experiment·Result schema, 관계 검증, 안전한 asset 경로와 fixture
|
||||
- `acoustics.test.js`: seed 재현성, mix/정규화, 자유음장 전파, calibration, STFT와 CPU DAS
|
||||
- `builder.test.js`: Builder scene model, source/asset 조작, 오디오 크기와 WAV 사전 검증
|
||||
- `evaluation.test.js`: local peak, truth matching, 위치 오차, energy, sidelobe와 main-lobe 지표
|
||||
- `camera.test.js`: canonical input hash, workload 추정, 거리 이동, Result 생성과 schema 검증
|
||||
- `webgpu.test.js`: WGSL buffer packing, bin/point batching, 장치 한계와 typed CPU fallback 정책
|
||||
|
||||
WebGPU unit test 대부분은 실제 GPU 없이 planner와 binary layout을 검증합니다. 실제 GPU 수치 일치는
|
||||
integration test에서 adapter가 있을 때 수행합니다.
|
||||
|
||||
Reference in New Issue
Block a user