포트폴리오
검증 / 거짓 통과

거짓 통과테스트가 거짓으로 통과하는 것을 두 번 발견하다

구분

CASE 06 · 검증

검증 · 배선 잠금

상태

검출 · 차단

2026

역할

설계 · 판정 · 운영

코드는 AI

분야

검증

테스트 · 변이 검증 · 배선

CASE-06검증

9/9

확인 시트가 사라졌는데도 통과한 배선 잠금

iOS
백엔드

개요

거짓 통과

빌드와 테스트가 모두 통과하는데 화면 동작이 달라지는 일이 반복됐습니다. 어떤 뷰가 어떤 함수를 부르는지, 그 배선 자체를 잠그는 테스트를 만들어 붙였습니다.

01

발견

그 테스트가 두 번 거짓으로 통과했습니다.
호출부를 //로 주석 처리해도 문자열은 소스에 남아 통과했습니다
수식어 체인을 /* */로 감싸니 확인 시트가 화면에서 사라졌는데도 배선 잠금 9건이 전량 통과했습니다

02

조치

공용 단정이 비주석 라인에 있어야만 배선으로 인정하도록 고쳤습니다. 블록을 잘라낼 때 쓰던 종료 마커 표도 중괄호 짝으로 바꿨습니다. 마커 표에는 마커가 뒤로 밀리면 슬라이스가 커져 조용히 통과하는 방향이 있는데 중괄호 짝에는 그 방향이 없습니다.

03

규모

iOS · 백엔드 테스트 1,900건 이상이 상시 통과합니다. iOS는 계약 6 · 배선 9 · 게이트 4 · 경계 2 · 로직 11 · 뷰모델 2로 계층을 나눠, 무엇을 보장하는 테스트인지 파일 이름에서 드러나게 했습니다. 공용 배선 단정은 38개 파일이 씁니다.

숫자보다 중요한 건 그 테스트가 실제로 죽는지입니다. 주요 변경에는 일부러 코드를 망가뜨려(변이) RED가 나는지 확인하고 그 결과를 커밋에 남깁니다. "변이 N종 RED" 결과를 남긴 PR이 50건입니다.

기록

잰 숫자와 출처

  • 측정 · 변이 실험

    9/9확인 시트가 사라졌는데도 통과한 배선 잠금

  • 측정 · 테스트 실행

    1,900+iOS · 백엔드 테스트 상시 통과

  • 측정 · PR 기록

    50건"변이 N종 RED" 기록이 남은 PR

  • 측정 · 사례 기록

    2종차단한 오판 경로

  • 결과

    빌드·테스트가 통과한 조건부 렌더링 소실 결함을 실제 검출 · 주석 처리된 배선을 살아있다고 오판하던 경로 2종 차단

  • 배운 것

    검증 도구도 검증 대상입니다. "테스트가 통과한다"와 "테스트가 그것을 보고 있다"는 다른 말이었고 전자를 후자로 착각한 구간에서 결함이 조용히 지나갔습니다.

연락
김성재 사진

함께 일할 팀을 찾고 있습니다

AI 엔지니어 · AX 엔지니어 정규직 포지션에 지원하고 있습니다. 편하게 메일 주세요.