제출 목적
- 전체 Backend API에 대한 통합 테스트 수행 결과 정리
- 테스트 과정에서 발견된 오류 및 수정 내역 기록
- Docker 기반 배포 환경에서 재현 가능한 실행 상태 검증
1. 테스트 개요
본 테스트는 5차 과제 요구사항에 따라
Swagger Docs 기반 API 테스트 및 실제 Docker 배포 환경에서 수행하였다.
테스트 범위
- 문서 업로드 → 파싱/청킹 → 임베딩 → Vector Store 저장 → 검색 → RAG 응답
- 비동기 작업(Celery) 연동 여부
- 스트리밍 응답 API 동작 여부
테스트 환경

- API Server: FastAPI (Docker)
- Worker: Celery (Docker)
- DB: MySQL
- Vector Store: ChromaDB (Persistent)
- 배포 방식: docker-compose
2. 엔드투엔드 통합 테스트 시나리오
2.1 문서 업로드 및 비동기 처리 테스트
관련 API
- POST /documents/upload
- POST /requests/{id}/approve

테스트 항목
- 파일 업로드 시 DB 저장 여부
- 승인 시 Celery Worker 작업 실행 여부
- 작업 완료 후 문서 상태 변경 여부


결과
- 업로드 요청 정상 처리
- 승인 후 비동기 작업 큐 정상 전달
- 파싱/임베딩 완료 후 문서 상태 정상 갱신

2.2 Vector Search API 테스트
관련 API
- POST /api/v1/vector-search

테스트 항목
- top_k 파라미터 동작 여부
- 문서 기반 검색 결과 반환 여부
- 검색 결과 정렬 및 개수 확인

결과
- top_k 값에 따라 결과 개수 정상 반환
- 문서 임베딩 완료 이후 검색 정상 동작

2.3 RAG 질의응답 API 테스트
관련 API
- POST /api/v1/chat
- POST /api/v1/chat/stream
테스트 항목
- 검색 결과 기반 컨텍스트 생성 여부
- LLM 응답 생성 정상 여부
- 스트리밍 응답 종료 이벤트 정상 수신 여부
결과
- 검색 결과를 기반으로 한 답변 정상 생성
- 스트리밍 응답에서 end 이벤트 정상 수신

수정 내역
- 스트리밍 응답 처리 방식 불일치로 인한 응답 누락 문제 발생
→ 스트리밍 전용 처리 로직 분리하여 안정화
3. 통합 테스트 중 주요 오류 및 수정 내역
3.1 저장소 및 배포 환경 관련 오류
항목내용
| 오류 | ChromaDB deprecated 오류 |
| 원인 | 구버전 Client API 사용 |
| 조치 | 0.4.x 기준 Client 방식으로 수정 |
| 결과 | API 서버 정상 기동 |
항목내용
| 오류 | API / Worker vector store 경로 불일치 |
| 원인 | Docker volume 설정 불일치 |
| 조치 | global persist directory 고정 |
| 결과 | 검색 결과 정상 반환 |
3.2 실행 환경 및 처리 안정성 오류
항목내용
| 오류 | API / Worker GPU 자원 충돌 |
| 원인 | 모든 컨테이너에 GPU 할당 |
| 조치 | API 컨테이너만 GPU 사용 |
| 결과 | GPU 인식 문제 해결 |
항목내용
| 오류 | 병렬 요청 시 DB commit 충돌 |
| 원인 | 전역 싱글턴 DB 세션 |
| 조치 | 요청 단위 DB 세션 분리 |
| 결과 | 트랜잭션 안정성 확보 |
4. 테스트 결과 로그 (요약)
- Swagger Docs 기반 전체 API 테스트 완료
- Docker 환경에서 API / Worker 재시작 후에도 동일 결과 확인
- 문서 업로드 → 검색 → 응답 전 구간 정상 동작 확인
5. 결론
본 과제에서는 전체 API 기능 구현 여부뿐만 아니라, 실제 배포 환경에서 발생할 수 있는 오류를 통합 테스트를 통해 발견하고 수정하였다. 이를 통해 최종 발표 시연이 가능한 수준의 안정적인 Backend 파이프라인을 구축하였다.
본 후기는 [한글과컴퓨터x한국생산성본부x스나이퍼팩토리] 한컴 AI 아카데미 2기 (B-log) 리뷰로 작성 되었습니다.
'한컴AI 2기' 카테고리의 다른 글
| [스나이퍼팩토리] 한컴AI 2기 - 성과발표회 회고록 (0) | 2025.12.18 |
|---|---|
| [스나이퍼팩토리] 한컴AI 2기 - Vercel - FastAPI Mixed Content 트러블 슈팅 (무료 도메인, Nginx https, 서트봇) (0) | 2025.12.04 |
| [스나이퍼팩토리] 한컴AI 2기 - 알랭 서비스 통합 (0) | 2025.11.28 |
| [스나이퍼팩토리] 한컴AI 2기 - 알랭 프로젝트 중간발표 회고 (1) | 2025.11.21 |
| [스나이퍼팩토리] 한컴AI 2기 - Docker CE 및 Nginx를 활용한 GPU 서버 구축 과정 (0) | 2025.11.12 |