피드로 돌아가기
Dev.toDevOps
원문 읽기
SOLID 기반 Kotlin DSL 도입을 통한 UI/API 통합 테스트 프레임워크 구축
I built a Kotlin DSL test automation framework because existing ones kept failing their own standards
AI 요약
Context
기존 테스트 프레임워크의 불투명한 로직, 중복된 Page Object, CI 파이프라인의 복잡도로 인한 유지보수 효율 저하 발생. 특히 도구 생성 Selector의 과도한 길이와 95%에 달하는 노이즈로 인해 테스트 신뢰성 상실.
Technical Solution
- Screen Area Composition 방식을 통한 Page Object의 단일체 구조 탈피 및 독립적 컴포넌트 단위 조립 설계
- Domain Language 중심의 Kotlin DSL 구축으로 Step Definition과 Feature File로 분절된 Glue Code 문제 해결
- TestContext 기반의 Capability Composition을 통해 필요한 경우에만 Playwright 또는 REST-assured 의존성을 주입하는 가벼운 구조 채택
- API 테스트 성공 후 UI 테스트가 실행되는 순차적 GitHub Actions 파이프라인 설계를 통한 리소스 낭비 방지 및 배포 안정성 확보
- SOLID 원칙을 적용한 모듈형 아키텍처 설계를 통해 코어 기능의 비대화를 방지하고 확장성 확보
실천 포인트
1. Page Object 설계 시 전체 페이지가 아닌 공통 컴포넌트 단위로 분리하여 재사용성을 검토하십시오.
2. 테스트 도구 선택 시 단순 기능보다 CI 환경에서의 설치 프로세스와 의존성 격리 여부를 확인하십시오.
3. BDD 도구의 파편화된 로직이 부담된다면 언어 자체의 DSL 기능을 활용한 통합 작성을 고려하십시오.
4. UI와 API 테스트를 동일 컨텍스트에서 공유하도록 설계하여 셋업 단계의 중복을 제거하십시오.