기술Insight

용어 사전

경로 테스팅 (Path Testing)
  • •  용어 정의: 프로그램의 소스 코드를 제어 흐름 그래프(Control Flow Graph)로 모델링한 뒤, 조건문과 반복문이 만들어내는 논리적 실행 경로(Execution Path)들을 도출하여 이를 모두 순회할 수 있는 테스트 케이스를 설계하는 화이트박스(White-box) 테스트 기법입니다. 일반적으로 맥케이브(McCabe)의 순환 복잡도(Cyclomatic Complexity)를 활용하여 시스템 내에 존재하는 '독립적인 기본 경로(Basis Path)'의 수를 수학적으로 계산하고, 도출된 기본 경로들을 최소 한 번씩은 모두 실행하도록 테스트 데이터를 구성하여 코드 내의 숨겨진 논리적 오류를 식별합니다.

 

  • •  AI/SW 테스팅 실무 적용: 분기문과 순환문이 다수 얽혀 있는 엔터프라이즈 AI 시스템의 비정형 데이터 파싱(Parsing) 모듈이나 RAG(검색 증강 생성)의 컨텍스트 라우팅 엔진은 입력값의 조합에 따라 수만 가지의 실행 경로가 파생됩니다. 따라서 서비스 정식 시행(배포) 전에는 핵심 보안 검열 로직이나 과금 트랜잭션 등 무결성이 절대적인 코어 모듈의 제어 흐름 그래프를 분석하고, 독립적으로 도달 가능한 모든 기본 경로를 100% 순회하는 자동화 단위 테스트를 주입하여 코드 내부의 논리적 결함과 결코 실행되지 않는 데드 코드(Dead Code)를 배포 이전에 원천 차단해야 합니다. 반면 서비스 시행(운영) 후에는 시스템 규모상 '모든 조합의 경로'를 물리적으로 테스트하는 것은 상태 공간 폭발로 인해 불가능하므로, 실제 라이브 환경에서 수집되는 APM(Application Performance Management) 트레이스 로그를 분석하여 유저 트래픽이 가장 많이 통과하는 핫 패스(Hot Path)나 비정상 크래시(Crash)가 발생했던 취약 경로를 최우선으로 선별하고 이를 재현하는 리스크 기반의 지속적 디버깅 궤적으로 작동합니다.
     

➡️ [테스팅 사례 확인하기]