RESTOR: 강화학습 (Reinforcement Learning)을 통한 RESTful API용 자동 테스트 오라클 (Test Oracle)
요약
RESTful API 테스트를 위해 강화학습(GRPO)을 활용하여 테스트 오라클을 자동 생성하는 Restor 프레임워크를 제안합니다. 단일 요청-응답 쌍만으로도 의미론적으로 유효한 어설션을 생성하며, 실제 ByteDance CI/CD 환경에서 높은 채택률을 입증했습니다.
핵심 포인트
- GRPO를 활용해 경량 LLM을 미세 조정하여 테스트 상식 내재화
- 규칙 기반이나 방대한 로그 없이 단일 트래픽으로 어설션 생성 가능
- 주요 필드 식별에서 85.42%의 높은 F1 점수 달성
- ByteDance 프로덕션 적용 결과 테스트 채택률을 96% 이상으로 향상
현대의 REST API 테스트는 신뢰할 수 있는 테스트 오라클 (test oracles)을 정의하는 데 있어 중대한 과제에 직면해 있습니다. 특히 공식 사양(예: OpenAPI)이 누락되었거나 오래된 경우가 빈번하고, 새로 배포된 엔드포인트에 대해 과거의 실행 로그를 사용할 수 없는 애자일(agile) 산업 환경에서 이러한 문제는 더욱 두드러집니다. 본 논문에서는 블랙박스(black-box) 설정에서 단일 관찰된 요청-응답 쌍으로부터 실행 가능한 테스트 어설션 (test assertions)을 생성하는 프레임워크인 Restor (Reinforcement Enhanced Single-Traffic Oracle generator for REST APIs)를 제안합니다. 규칙 기반 템플릿이나 방대한 학습 로그에 의존하는 기존 방식과 달리, Restor는 새로운 데이터 증강 파이프라인을 활용하여 그룹 상대 정책 최적화 (Group Relative Policy Optimization, GRPO)를 통해 경량화된 거대 언어 모델 (Large Language Model, LLM)을 미세 조정 (fine-tune)합니다. 이 학습 과정은 다음을 공동으로 장려하는 보상 함수 (reward function)를 최적화함으로써 모델이 테스트 "상식 (common sense)"을 내재화할 수 있도록 합니다: (i) 검증을 위한 안정적이고 의미론적으로 유의미한 필드 선택 및 동적 노이즈(예: 타임스탬프 또는 트레이스 ID) 회피; (ii) 로직 변화에도 견딜 수 있는 견고한 어설션 생성. 우리는 246개의 실제 서비스에 걸친 2,300개 이상의 API 트레이스(traces)로 구성된 산업용 데이터셋에서 Restor를 평가합니다. 종합적인 실험 결과, Restor는 프롬프트 엔지니어링 (prompt-engineered) 기반의 베이스라인 및 범용 모델보다 성능이 크게 뛰어남을 입증하였으며, 주요 필드 식별에서 85.42%라는 우수한 $F_1$ 점수를 달성하고 의미론적으로 정확한 어설션의 비율을 높였습니다. 나아가, ByteDance의 프로덕션 CI/CD 워크플로우에 배포하여 실질적인 가치를 확인했습니다. 이 시스템은 자동 생성된 테스트 케이스의 채택률을 74.1%에서 96% 이상으로 높였으며, 높은 실행 안정성을 보장하는 동시에 수동 품질 보증 (Quality Assurance, QA) 노력을 실질적으로 줄였습니다.
AI 자동 생성 콘텐츠
본 콘텐츠는 arXiv Codex (cs.SE)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기