LLM 기반 테스트 케이스 생성의 힘: 대규모 독립 포괄 연구
초록
본 논문은 GPT‑3.5, GPT‑4, Mistral 7B, Mixtral 8×7B 네 모델을 대상으로 ZSL, FSL, CoT, ToT, GT‑ToT 다섯 가지 프롬프트 기법을 적용해 Defects4J, SF110, CMD 세 벤치마크에서 216 300개의 클래스‑레벨 단위 테스트를 자동 생성하고, EvoSuite와 비교 평가한다. 주요 평가지표는 코드 추출 성공률(MSR/CSR), 컴파일 가능성, 환각 오류, 코드 커버리지, 가독성 및 테스트 스멜이다. 결과는 GT‑ToT가 가장 높은 추출·컴파일 성공률과 가독성을 보였지만, 환각으로 인한 컴파일 실패율이 최대 86%에 달해 완전한 실용성에는 한계가 있음을 보여준다. LLM‑생성 테스트는 전통 SBST보다 가독성이 좋지만 매직 넘버, Assertion Roulette 등 유지보수성을 저해하는 스멜이 빈번히 나타난다. 연구자는 자동 검증·SBST와 결합한 하이브리드 접근을 제안한다.
상세 분석
이 연구는 기존 LLM 기반 테스트 생성 연구가 제한된 데이터셋과 단순 프롬프트에 머물렀던 점을 보완하고, 실제 소프트웨어 개발 현장에서 요구되는 클래스‑레벨 테스트 전체를 대상으로 대규모 실험을 수행했다는 점에서 의의가 크다. 네 가지 최신 LLM을 선택한 이유는 GPT‑4와 GPT‑3.5가 일반 목적 모델로서 가장 널리 사용되는 반면, Mistral 7B와 Mixtral 8×7B는 오픈소스 모델로 비용·접근성 측면에서 실무 적용 가능성을 탐색하기 위함이다.
프롬프트 설계는 Zero‑Shot (ZSL), Few‑Shot (FSL), Chain‑of‑Thought (CoT), Tree‑of‑Thought (ToT), Guided‑Tree‑of‑Thought (GT‑ToT) 로 구성했으며, 특히 GT‑ToT는 단계별 추론과 검증 힌트를 포함해 LLM이 테스트 구조와 의존성을 스스로 점검하도록 유도한다. 실험 결과, GT‑ToT가 MSR(코드 추출 성공률)과 CSR(코드 추출 후 구조적 검증 성공률) 모두에서 평균 78%·71%를 기록해 다른 프롬프트보다 현저히 높은 수치를 보였다. 이는 LLM이 단순 텍스트 생성이 아니라, 테스트 클래스의 패키지 선언, import, @Test 어노테이션 등을 정확히 포함하도록 유도된 효과로 해석된다.
하지만 컴파일 가능성은 여전히 낮았다. 전체 테스트 중 최대 86%가 컴파일 오류를 발생했으며, 주요 원인은 (1) 존재하지 않는 클래스·메서드 호출, (2) 잘못된 API 사용, (3) 가상의 의존성(예: 외부 라이브러리) 삽입 등 ‘환각’ 현상이었다. 이러한 오류는 프롬프트에 논리적 검증 단계를 추가해도 완전히 사라지지 않았으며, 특히 오픈소스 모델(Mistral, Mixtral)에서 더 빈번하게 나타났다.
가독성 측면에서는 LLM이 생성한 테스트가 EvoSuite 대비 평균 15% 높은 가독성 점수를 얻었으며, 변수·메서드 명명 규칙이 자연어에 가깝게 설계된 것이 주요 요인이다. 그러나 유지보수성을 저해하는 테스트 스멜이 여전히 존재했다. Magic Number Tests(하드코딩된 상수)와 Assertion Roulette(다양한 assert 문이 혼재) 등이 가장 흔했으며, 이는 LLM이 테스트 로직을 설계할 때 구체적인 값 선택 기준을 제공받지 못했기 때문이다.
커버리지 측정에서는 LLM이 평균 62% 라인 커버리지를 달성해 EvoSuite(≈78%)에 못 미쳤지만, 일부 프로젝트에서는 특정 메서드에 대한 깊이 있는 경계값 테스트를 생성해 높은 분기 커버리지를 보였다. 이는 LLM이 ‘핵심 로직’을 파악하는 데는 강점이 있지만, 전체 코드 베이스를 포괄적으로 탐색하는 SBST와는 차별적인 특성을 가진다.
결론적으로, 이 논문은 (1) 고도화된 프롬프트(GT‑ToT)가 LLM 테스트 생성의 구조적 정확성과 가독성을 크게 향상시킨다, (2) 환각 오류와 낮은 컴파일 성공률은 현재 LLM만으로는 생산 단계에 바로 투입하기 어렵다는 한계가 있다, (3) 테스트 스멜은 여전히 존재하므로 사후 정제 과정이 필요하다는 점을 강조한다. 연구자는 자동 정적 분석·컴파일 검증 파이프라인과 SBST 기반 리파인먼트를 결합한 하이브리드 워크플로우를 제안하며, 향후 LLM의 내부 추론 과정을 외부 검증기와 연동하는 연구가 필요함을 시사한다.
댓글 및 학술 토론
Loading comments...
의견 남기기