코드가 움직이면, 테스트가 따라온다.
Qoretix는 TestRail 같은 별도 저장소가 아니라 GitHub commit 을 source-of-truth 로 둡니다. PR diff와 도메인 문서를 LLM이 읽고, 테스트 케이스가 자동으로 진화하며, 승인된 케이스는 곧장 실행 워커로 넘어갑니다.
- 38
- 연결된 레포
- 1,005
- 활성 테스트 케이스
- 1人
- 실제 운영 인원
제안된 시나리오
주문 취소 시 결제 환불 트랜잭션이 함께 롤백되는지 확인한다
근거 · src/server/order/cancel.ts +23 / -8
ixccorp 사내 운영 중 · KizMeal · DCT · 그 외 36개 레포
왜 Qoretix
QA 운영의 진짜 비용은 drift 에서 발생합니다
별도 TC 저장소 모델은 코드가 빠르게 진화하는 팀에서 곧 한계에 부딪힙니다. Qoretix 는 commit 을 single source-of-truth 로 두고 나머지를 자동화합니다.
테스트 케이스가 코드 변경을 못 따라간다
TestRail·Zephyr 의 TC 는 별도 저장소라 PR 머지 후 손으로 다시 맞춰야 합니다. drift 가 쌓이면 회귀 테스트의 신뢰도가 떨어집니다.
도구 lock-in 으로 단계 별 교체가 어렵다
Codex·Copilot·Playwright·MANUAL 을 케이스마다 자유롭게 고르고 싶지만, 보통 한 도구 안에서만 실행이 묶여 있습니다.
감사 추적이 끊긴다
PR → 승인 → 실행 → 실패 티켓까지 한 줄로 이어진 audit chain 이 없으면, 사고가 났을 때 원인 추적에 며칠이 걸립니다.
차별점 5가지
기존 QA 도구와 무엇이 다른가
PR-driven test maintenance
PR diff 와 기존 TC 를 함께 LLM 에 흘려 보내 자동으로 NEW / UPDATE / DELETE 제안을 생성합니다. 사람은 승인·반려만 누르면 끝.
- GitHub App 으로 webhook 일원화
- Suggestion 페이지에서 변경 사항 diff 와 함께 검토
- Approved suggestion 은 즉시 활성 TC 로 승격
코드 + 도메인 문서 양방향 LLM 컨텍스트
PR diff 만 보는 게 아니라, 프로젝트에 매여 있는 기획·요구사항 문서까지 함께 읽습니다. 도메인 의미가 빠진 회귀 케이스가 사라집니다.
- ProjectDocument 첨부 파일 + 외부 링크 통합
- Claude 가 비즈니스 룰을 인지한 채로 TC 작성
- 한국어 도메인 문서 최적화
Tool-agnostic 실행 슬롯
CODEX · COPILOT_ENTERPRISE · PLAYWRIGHT_DIRECT · MANUAL - 트리거 룰 단위로 도구를 자유롭게 바꿉니다. 한 도구에 lock-in 되지 않습니다.
- Worker queue 는 도구 무관 (Fargate)
- Trigger rule 별 qaTool 슬롯
- MANUAL 운영도 같은 audit chain 안
End-to-end audit chain
AuditLog → QaJob → QaResult → IssueLink 까지 모든 단계에 actorId 와 timestamp 가 박힙니다. 사후 추적이 한 화면에서 끝납니다.
- 모든 mutation 에 AuditLog 자동 기록
- QaJob 별 승인자 / 워커 ID / hash
- 실패는 Jira IssueLink 로 직행
사내 호스팅 · 사내 LLM 옵션
민감 코드를 외부 SaaS 에 던질 수 없는 팀을 위해 VPC 내부 배포와 사내 LLM 엔드포인트를 지원합니다.
- AWS ECS Fargate + RDS 단일 계정 배포
- Claude / OpenAI / 사내 LLM 어댑터 교체 가능
- 한국어 UI / 한국어 도메인 기본
동작 방식
commit 부터 KPI 까지 7단계 파이프라인
모든 단계가 audit chain 하나로 연결됩니다. 어디서 막혔는지, 누가 무엇을 승인했는지 한 화면에서 추적할 수 있습니다.
- 01
Test Plan
프로젝트마다 LLM 이 ProjectDocument + Checklist 를 읽어 회귀 플랜을 자동 작성합니다.
- 02
Trigger
TriggerRule (branch + path glob + runType + qaTool) 가 commit 을 받아 어떤 케이스를 돌릴지 결정합니다.
- 03
Approval
DCT 같은 민감 프로젝트는 사람이 승인. KizMeal 처럼 일상적인 흐름은 자동 승인 가능.
- 04
Worker
Fargate 워커 풀이 PENDING_WORKER 큐를 claim → heartbeat → 실행 → 결과 업로드.
- 05
Result
QaResult 가 evidence URL, 로그, status (PASSED/FAILED/BLOCKED/SKIPPED) 와 함께 적재됩니다.
- 06
Suggestion
다음 PR 에서 같은 코드가 또 바뀌면 → LLM 이 TC 업데이트 제안을 생성하고 다시 흐름을 탑니다.
- 07
Insight & KPI
주별 pass rate / 승인 p95 / 제안 채택률 / 자동화 커버리지 - 운영 시그널을 한 화면에서.
기술 스택
검증된 기반 위에 깔끔히 조립
프레임워크와 도구는 모두 산업 표준을 사용합니다. lock-in 없이 팀 환경에 맞춰 어댑터를 교체할 수 있습니다.
Next.js 16
App Router · RSC
TypeScript 5
strict
Prisma 6
PostgreSQL
Claude · OpenAI
pluggable LLM
GitHub App
PR webhooks
Playwright
direct runner
Codex / Copilot Enterprise
tool slot
AWS ECS Fargate
worker pool
AWS RDS · Secrets Manager
managed infra
shadcn/ui · Recharts
console UI