커버리지 뷰
Datasets → Coverage 탭입니다. 두 그림을 보여줍니다.- 데이터셋에 있는 것 기능(의도, 태그, 엔티티, 난이도)에 걸친 예시 분포.
- 프로덕션에 있는 것 실제 트레이스에서 뽑은 같은 분포.
자동으로 잡는 차원
Nora가 데이터셋과 프로덕션 트레이스를 (임베딩으로) 주제 클러스터로 묶은 뒤 양쪽 밀도를 보여줍니다. 흔한 모습은 이렇습니다.- 적게 담긴 클러스터 프로덕션은 “환불” 이 트래픽의 30% 인데 데이터셋은 5%. 환불 예시를 더합니다.
- 많이 담긴 클러스터 데이터셋은 “인사” 가 20% 인데 프로덕션은 1%. 가지치거나 다시 가중합니다.
- 빠진 클러스터 프로덕션은 “결제 분쟁” 이 10% 인데 데이터셋은 0. 완전한 구멍입니다.
차원 더하기
여러분만의 차원으로도 덮을 수 있습니다.- Difficulty 쉬운 것으로 씨를 뿌렸다면 어려운 케이스가 적게 담겼을 수 있습니다.
- Language 프로덕션의 30% 가 한국어인데 데이터셋은 전부 영어.
- User tier enterprise 사용자가 free 사용자와 다르게 동작하는지 시험.
구멍 메우기
커버리지 뷰가 더할 트레이스를 콕 짚어 줍니다.- 데이터셋에 적게 담긴 프로덕션 클러스터를 찾습니다.
- 클러스터마다 대표 트레이스를 고릅니다.
- 한 번 눌러 씨 뿌릴 Add to dataset를 줍니다.
커버리지 비율
한 숫자로도 봅니다. 커버리지 비율 = 1 − (데이터셋이 설명하는 프로덕션 엔트로피)입니다. 1.0은 완벽한 커버리지, 0.5는 프로덕션 다양성의 절반을 담음, 0.0은 데이터셋이 프로덕션을 전혀 대표하지 못함을 뜻합니다. 프로덕션 품질 게이트에 쓰는 데이터셋은 0.7을 넘기는 걸 목표로 하세요. 0.5 아래면 시뮬레이션이 주는 숫자가 거의 의미 없습니다.커버리지가 상관없을 때
일부러 좁게 만든 데이터셋은 커버리지가 필요 없습니다.- 회귀 스위트 모든 프로덕션이 아니라 고친 패턴만 덮으면 됩니다. 커버리지가 일부러 낮습니다.
- 기능 집중 테스트 “환불 플로우” 테스트가 “로그인 플로우” 를 덮을 필요는 없습니다.
narrow 태그를 달아 커버리지 경고를 끕니다.
시간에 따른 커버리지
트렌드 차트는 최근 몇 달의 커버리지 비율을 보여줍니다. 평평하거나 올라야 정상입니다. 커버리지가 내려간다면 프로덕션은 흘러가는데 데이터셋은 그대로라는 뜻입니다. 새로 채울 때입니다.자동 커버리지 갱신
Coverage refresh를 켜면 Nora가 커버리지 구멍을 보고 매주 새 프로덕션 트레이스를 자동으로 샘플링합니다. 더해진 예시는 주석용needs review로 표시됩니다. 커버리지는 채워지되 기대 출력은 여러분이 정합니다.
프로덕션이 빠르게 바뀌는 오래된 Flow 라면, 손으로 큐레이션하는 것보다 낫습니다.