🧪 Software Testing · 7/8 · 약 8분

시리즈 전체 보기

긴 문서에서 필요한 추적표 하나를 찾기 위해 문서 전체를 같은 깊이로 읽는다면 구현은 단순해 보일 수 있다. 하지만 정밀한 구조를 모두 만들수록 처리 비용과 메모리 사용이 커지고, 실제로 사용하지 않는 정보까지 변환하게 된다.

반대로 키워드 검색만 사용하면 일반 표를 추적표로 오인하거나, 제목이 조금 다른 표를 놓칠 수 있다. 가벼운 탐색과 정확한 해석을 한 단계에 모두 넣지 않고 역할을 나누는 Two-pass 방식을 정리했다.

#Parsing · #TwoPass · #DocumentProcessing · #Performance

이 글에서 다룰 것

1. 값싼 탐색과 비싼 해석을 분리했다

긴 문서
   ↓
Light scan
위치·제목·열 수·식별자 단서 수집
   ↓
표 후보 목록
   ↓
Rich parse
헤더·셀 관계·추적 연결 정밀 해석
   ↓
필요한 결과와 검토 상태만 반환
단계 목표 읽는 정보 피해야 할 일
Light scan 후보를 빠르고 넓게 찾기 표 위치, 주변 제목, 헤더 단서, 가상 식별자 형태 모든 셀을 완전한 의미 모델로 변환
Rich parse 선택한 후보를 정확히 해석하기 행·열 관계, 셀 값, REQ-001과 TEST-001의 대응 후보가 아닌 전체 영역 재처리

두 단계가 같은 정보를 반복해서 읽는 것이 아니라 서로 다른 깊이로 읽는 것이 핵심이다. 첫 단계는 누락을 줄이는 데, 두 번째 단계는 오인을 줄이는 데 초점을 둔다.

2. 키워드 하나 대신 여러 단서를 조합했다

추적표라는 단어가 들어 있다고 반드시 추적 관계를 가진 표는 아니다. 반대로 그 단어가 없어도 식별자와 연결 열을 통해 목적을 알 수 있다. 후보 판단에는 다음 단서를 조합할 수 있다.