본문으로 건너뛰기
고급약 35분

품질 지표 대시보드 — Flaky rate·기준 커버리지·결함 추세·게이트 지표·AI 판정 오판률

판정 레코드가 쌓이면 지표로 파이프라인을 개선할 수 있다. 플래키 비율을 정의대로 계산하는 법, 코드 커버리지가 아닌 기준 커버리지, 결함 유입·탈출 추세, 게이트 차단율·예외율·리드타임, DORA 다섯 지표와의 연결, AI 판정자 오판률, 그리고 지표가 목표가 되어 망가지는 것을 막는 대시보드 설계를 다룬다.

  • #품질지표
  • #FlakyRate
  • #기준커버리지
  • #결함추세
  • #DORA
  • #대시보드

개념

지표는 파이프라인을 고치기 위해 잰다

모듈 6 레슨 5에서 "지표는 목표가 아니라 신호다"를 배웠다. 이 레슨의 지표는 모두 한 질문에 답하기 위한 것이다. 검증 파이프라인을 다음 달에 어디부터 고칠 것인가. 이 질문에 답하지 못하는 지표는 대시보드에 올리지 않는다.

지표는 네 묶음으로 나눈다.

묶음답하는 질문주 독자
신호 품질파이프라인이 내는 결과를 믿을 수 있는가QA·개발 리드
검증 범위무엇을 검증하고 무엇을 못 하고 있는가QA
결함 흐름결함이 어디서 들어오고 어디서 잡히는가QA·제품·개발
전달 성과검증이 배포 속도와 안정성에 어떤 영향을 주는가경영·플랫폼 책임자

신호 품질 ① — 플래키 비율을 정의대로 잰다

플래키 테스트는 같은 코드·같은 환경에서 통과와 실패를 오가는 테스트다. 규모 감을 잡자면, Google은 자사 테스트의 약 16%가 플래키 동작을 보였고 전체 테스트 실행의 약 1.5%가 플래키로 잘못 실패했다고 보고했다. 통과에서 실패로 바뀐 전이의 대부분(84%)에 플래키 테스트가 끼어 있었다.

플래키 비율은 정의에 따라 숫자가 크게 달라진다. 대시보드에 올리기 전에 어떤 정의인지 를 못 박는다.

정의계산장점함정
시도 내 플래키한 실행에서 재시도 중 통과·실패가 섞인 테스트 수 ÷ 실행된 테스트 수레코드의 attempt_verdicts 로 바로 계산재시도를 끄면 0이 된다
실행 간 플래키같은 커밋에서 N번 실행했을 때 결과가 갈린 테스트 수 ÷ 테스트 수정확하다반복 실행 비용
이력 기반 플래키최근 기간 동안 코드 변경 없이 결과가 뒤집힌 횟수가 일정 이상인 테스트 비율추가 비용 없음환경 변경을 코드 변경과 구분해야 한다

Playwright는 재시도 중 일부 시도는 기대대로, 일부는 기대와 다르게 끝난 테스트를 flaky 결과로 따로 표시한다. 이런 도구 표시와 레슨 4 판정 레코드의 시도 기록을 함께 쓰면 시도 내 플래키 는 추가 비용 없이 나온다. 회귀 층에서 매주 핵심 기준을 같은 커밋에 여러 번 돌리면 실행 간 플래키 로 보정할 수 있다.

플래키 비율만 보면 안 되는 이유가 하나 더 있다. 재시도가 숨긴 비용 이다.

[신호 품질 — 2026-09 둘째 주 회귀]
실행 테스트                2,140
시도 내 플래키              37  (1.7%)
재시도로 추가된 실행 시간     41분 (전체 회귀 시간의 18%)
격리 목록                  22  (만료 초과 6)
플래키로 분류됐다가 제품 결함으로 판명   2  (D-TRAIN-031, D-INFER-008)

마지막 줄이 가장 중요한 숫자다. 플래키로 분류됐다가 제품 결함으로 판명된 수. 이 수가 0이 아니면 격리 절차가 결함을 숨기고 있다. 레슨 5에서 본 체크포인트 재개 간헐 실패처럼, 인프라 플랫폼에서는 간헐성이 곧 제품 결함인 경우가 적지 않다.

격리 목록에는 만료 가 있어야 한다. 격리된 테스트에 조사 기한(예: 한 스프린트)을 두고, 만료된 항목 수를 대시보드에 올린다. 만료 초과가 늘면 격리가 사실상 삭제가 된 것이다.

신호 품질 ② — 거짓 경보와 판정자 오판률

지표정의출처
거짓 차단 비율게이트 차단 중 검토 결과 결함이 아니었던(환경·데이터·테스트 결함) 비율게이트 검토 기록
판정자 오판률해석 판정 PASS 표본 중 사람 FAIL 비율, FAIL 중 사람 PASS 비율을 따로레슨 3 표본 재검토
판정 불가 비율해석 판정 중 abstain 비율판정 레코드
보정 상태판정자별 κ·FAIL 재현율·보정 만료일보정 기록

판정자 오판률은 PASS 쪽과 FAIL 쪽을 합치지 않는다. 놓친 FAIL(거짓 PASS)은 운영 위험이고, 틀린 FAIL(거짓 FAIL)은 개발자 신뢰 하락이다. 비용이 다른 오류를 한 숫자로 합치면 어느 쪽을 고쳐야 할지 모른다.

검증 범위 — 코드 커버리지가 아니라 기준 커버리지

코드 커버리지는 "어떤 코드가 실행됐는가"를 말한다. 이 모듈의 파이프라인이 알고 싶은 것은 "어떤 기준이 검증됐는가" 다. 레슨 2에서 테스트 이름에 기준 ID를 넣었으므로 계산할 수 있다.

기준 커버리지 = 최근 회귀에서 한 번 이상 판정된 기준 수 ÷ 활성 기준 수
 
세분화
- 결정적 기준 커버리지 / 해석 기준 커버리지
- 흉내 검증만 된 기준 비율 (실물 GPU·실제 업그레이드 경로로 한 번도 검증 안 됨)
- 서비스별 기준 커버리지 — 레슨 7 확장의 진척도
- 운영 탈출 결함 중 대응 기준이 "없었던" 비율 — 기준 목록 자체의 누락

마지막 지표가 기준 커버리지의 분모 문제 를 보완한다. 기준 커버리지 100%는 "정의한 기준을 다 봤다"일 뿐이다. 기준이 모자라면 100%도 의미가 없다. 운영 탈출 결함을 기준에 역추적(레슨 5)한 결과가 그 누락을 드러낸다.

코드 커버리지를 버리라는 말은 아니다. 모듈 12 레슨 8의 API 커버리지 네 층처럼, 코드·API·기준 커버리지를 층으로 보면 서로의 빈칸을 보완한다. 기준은 있는데 코드 커버리지가 낮으면 기준을 검증하는 테스트가 얕다는 신호고, 코드 커버리지는 높은데 기준 커버리지가 낮으면 테스트가 무엇을 판정하는지 불분명하다는 신호다.

결함 흐름 — 어디서 들어오고 어디서 잡히는가

결함 추세는 개수보다 발견 위치의 분포 가 중요하다.

[결함 발견 위치 — 최근 8주, 심각도 높음 이상]
             PR   회귀   릴리스 전   게이트 예외 후 운영   운영(탈출)
W31          9     4       1              0                  2
W32         11     3       2              0                  1
...
W38         14     2       1              1                  0
 
왼쪽 이동 비율 = PR 에서 발견 ÷ 전체 발견

기준을 스킬로 배포하고(레슨 2) PR 층을 다듬으면 분포가 왼쪽으로 옮겨 가야 한다. 옮겨 가지 않으면 스킬이 적용되지 않았거나 변경 영향 지도가 틀린 것이다. 모듈 6 레슨 5의 결함 탈출률은 이 표의 오른쪽 끝이다.

함께 볼 추세는 셋이다.

지표의미
결함 유입 대비 해결해결이 유입을 못 따라가면 게이트 예외가 늘어날 전조
높음 이상 결함의 평균 체류 시간차단 결함이 게이트를 몇 주 연속 막는지
재발 결함 비율해결됨 이후 같은 기준이 다시 실패한 비율 — 수정 검증이 얕다는 신호

게이트 지표

지표정의이상 신호
차단율차단 1건 이상 발생한 주 ÷ 전체 주몇 달째 0이면 기준이 운영 결함을 못 본다
예외 승인율예외 승인된 차단 ÷ 전체 차단계속 오르면 예외가 기본 경로
예외 만료 준수율만료 주에 해소된 예외 ÷ 만료된 예외낮으면 예외가 영구 면제
게이트 리드타임후보 확정부터 결정까지 시간길어지면 자동 요약이 판단에 도움이 안 된다
조건부 Go 조건 확인율조건 확인 기록이 남은 조건 ÷ 전체 조건낮으면 조건이 장식

전달 성과 — DORA 다섯 지표와 잇기

경영진과 이야기할 때는 DORA 지표가 공용어다. DORA는 2024년부터 소프트웨어 전달 성과를 다섯 지표로 본다.

묶음지표
처리량배포 빈도, 변경 리드타임, 실패한 배포의 복구 시간
불안정성변경 실패율, 배포 재작업률 (운영 인시던트 때문에 생긴 계획에 없던 배포의 비율)

DORA 2025 보고서는 AI를 증폭기 로 본다. 기반이 약한 조직에서 AI는 처리량을 올리는 동시에 재작업과 실패한 변경을 늘린다. 그래서 AI 검증 파이프라인의 성과는 불안정성 두 지표로 보여줘야 설득력이 있다.

QA 지표를 DORA 지표 옆에 놓는 방식이 효과적이다.

[분기 보고 — 한 화면]
배포 빈도            주 1회 → 주 1회 (유지)
변경 리드타임          중앙값 3.1일 → 2.4일
변경 실패율           14% → 9%
배포 재작업률          11% → 6%
───────────────────────────────
PR 발견 비율          48% → 63%   ← 기준 스킬 배포(7월)
기준 커버리지(compute)  71% → 94%
판정자 거짓 PASS       4.1% → 2.3%  ← 루브릭 rev4

인과를 과장하지 않는 것이 중요하다. 재작업률이 떨어진 것이 기준 스킬 때문이라고 단정하지 않고 시점을 나란히 보여준다. 모듈 18a 레슨 13에서 "배속 주장"을 계산으로 검증했던 태도가 자기 보고에도 적용된다.

대시보드 설계 원칙

원칙구체적으로
모든 숫자에 정의 링크플래키 비율의 정의가 바뀌면 추세가 끊긴다. 정의 버전과 변경일을 표시
숫자에서 레코드로클릭하면 해당 기준·판정 레코드·결함으로 내려간다
목표선보다 추세와 분포목표선을 그으면 목표를 맞추는 방향으로 행동이 바뀐다(굿하트의 법칙)
짝 지표하나를 올리면 다른 하나가 망가지는 짝을 나란히 둔다
독자별 화면QA 운영 화면과 경영 보고 화면을 나눈다

짝 지표 예를 보자.

올리고 싶은 지표함께 봐야 할 짝망가지는 방식
플래키 비율 낮추기격리 목록 크기·만료 초과테스트를 격리해서 비율만 낮춘다
게이트 리드타임 줄이기거짓 PASS·탈출 결함검토를 건너뛴다
기준 커버리지 올리기탈출 결함 중 기준 없음 비율쉬운 기준만 늘린다
PR 발견 비율 올리기PR 검증 시간PR 층이 무거워진다

Jira 대시보드(모듈 22 레슨 8)로 결함 흐름 화면을, 판정 레코드를 저장소에 적재한 뒤 Grafana 같은 도구로 신호 품질·범위 화면을 만드는 조합이 흔하다. 도구보다 레코드 형식이 먼저 다. 레코드가 정리되어 있으면 어떤 도구로도 그릴 수 있다.

실무에서 왜 필요한가

채용 공고의 "지표를 통해 지속적으로 개선합니다"와 우대사항의 "테스트 품질 지표(Flaky rate·커버리지·결함 추세) 운영 및 대시보드 구축 경험"은 같은 것을 가리킨다. 대시보드를 만들어 본 경험보다 지표를 보고 무엇을 바꿨는가 가 평가된다.

지표가 없는 파이프라인 개선은 목소리 큰 사람의 체감으로 움직인다. "요즘 플래키가 너무 많다"는 체감은 격리 목록을 늘리는 결정으로 끝나기 쉽고, 그 사이 간헐 제품 결함이 격리 목록에 들어간다. "플래키로 분류됐다가 제품 결함으로 판명된 수가 두 달 연속 2건"이라는 숫자는 격리 절차 자체를 고치게 만든다.

실습 과제

과제 1 — 플래키 비율 계산 (15분)

아래 회귀 레코드 요약에서 시도 내 플래키 비율과 재시도로 추가된 실행 시간 비율을 계산하고, 이 주에 먼저 조사할 테스트를 고른다.

테스트 1,200 개, 재시도 최대 2회, 첫 시도 평균 30초
첫 시도 실패 64개
  └ 재시도 1회차 통과 38개
  └ 재시도 2회차 통과 9개
  └ 3회 모두 실패 17개
격리 목록 15개 (만료 초과 4개), 이번 주 격리 해제 후 제품 결함 판명 1개

과제 2 — 기준 커버리지 설계 (20분)

본인이 아는 서비스(또는 가상의 추론 플랫폼)에 대해 기준 커버리지 지표 네 가지(전체·결정적/해석·흉내만 검증·탈출 결함 중 기준 없음)의 계산식과 데이터 출처를 적는다.

과제 3 — 짝 지표 (15분)

"게이트 예외 승인율을 낮춘다"는 목표가 주어졌을 때 이 지표만 보면 생길 수 있는 나쁜 행동 두 가지와, 그것을 드러낼 짝 지표를 적는다.

과제 4 (선택) — 분기 보고 한 화면 (20분)

본문의 분기 보고 형식으로 가상의 숫자를 채우되, QA 지표와 DORA 지표 사이에 인과를 주장하지 않고 시점만 나란히 보여주는 문장을 세 개 쓴다.

자가 체크리스트

  • 지표를 신호 품질·검증 범위·결함 흐름·전달 성과 네 묶음으로 나눌 수 있다
  • 플래키 비율의 세 가지 정의와 각각의 함정을 설명할 수 있다
  • 재시도가 숨긴 비용과 "플래키로 분류됐다가 결함으로 판명된 수"를 잴 수 있다
  • 판정자 오판률을 거짓 PASS와 거짓 FAIL로 나눠 보는 이유를 안다
  • 기준 커버리지를 계산하고, 분모 문제를 탈출 결함 역추적으로 보완할 수 있다
  • 결함 발견 위치 분포로 시프트 레프트가 실제로 일어났는지 판단할 수 있다
  • 게이트 차단율·예외 승인율·만료 준수율·리드타임의 이상 신호를 읽을 수 있다
  • DORA 다섯 지표를 말하고 QA 지표와 인과를 과장하지 않고 나란히 보고할 수 있다
  • 짝 지표로 지표 조작을 드러내는 대시보드를 설계할 수 있다

흔한 실수

플래키 비율의 정의를 밝히지 않는다. 재시도 설정만 바꿔도 숫자가 반토막 난다.

격리 목록을 지표에서 뺀다. 격리는 비율을 낮추는 가장 쉬운 방법이다.

판정자 오류를 한 숫자로 합친다. 운영 위험(거짓 PASS)과 신뢰 비용(거짓 FAIL)은 따로 고친다.

기준 커버리지 100%를 완성으로 읽는다. 분모인 기준 목록이 모자랄 수 있다.

지표에 목표선을 긋고 성과 평가에 쓴다. 지표가 목표가 되면 신호를 잃는다.

QA 지표 개선을 DORA 지표 개선의 원인으로 단정한다. 시점을 나란히 보여주고 판단은 독자에게.

참고 자료

낯선 말 풀이

이 레슨에 나온 약어입니다. 본문에서도 처음 나올 때 점선으로 표시해 두었습니다 (제목과 링크 글자는 그대로 둡니다).

QA — 품질보증
만든 것이 쓸 만한지 확인하고, 애초에 덜 망가지게 만드는 방법을 정하는 일. "테스트"는 그 일의 일부다.
ID — 식별자
무엇 하나를 다른 것과 구별하기 위해 붙인 이름이나 번호.
API — 응용 프로그램 인터페이스
프로그램끼리 주고받는 창구. 사람이 화면 버튼을 누르는 대신, 프로그램이 정해진 주소로 요청을 보내 답을 받는다.
PR — 풀 리퀘스트
"내가 고친 코드를 본체에 합쳐 달라"고 올리는 요청. 합치기 전에 사람들이 보고 의견을 단다.
DORA — 도라 지표
개발·배포를 얼마나 잘하는지 네 가지 숫자로 재는 방식.
AI — 인공지능
사람이 규칙을 일일이 적지 않아도 데이터에서 규칙을 찾아 판단하는 소프트웨어.

용어집 전체 보기