자동화는 처음이라: 실험과 실패, 그리고 성장
카테고리
프로그래밍/소프트웨어 개발
서브카테고리
DevOps
대상자
QA 테스터 및 DevOps 엔지니어, 팀 리더
핵심 요약
- GitHub Actions 도입으로 Jenkins 기반 자동화 환경 구축 시간을 약 75% 단축
- API 테스트 자동화 기반을 구축하여 QA팀의 효율성 향상
- CI/CD 파이프라인을 GitHub Actions 기반으로 통합하여 유지보수 용이성 확보
섹션별 세부 요약
1. 문제 인식 및 자동화 도입 필요성
- QA 팀은 외주 인력을 활용한 수동 테스트로 인해 리소스 소모가 커졌음
- E2E 테스트와 API 테스트의 차이점에 따라, API 테스트를 우선 도입 결정
- 자동화 도입 목표: 리소스 절감, 테스트 효율성 향상
2. 자동화 도구 비교 및 Jenkins 초기 사용
- Jenkins 기반으로 자동화 환경을 구성했으나, EC2 서버 관리 및 설정 복잡성이 문제가 됨
- Jenkins의 단점: 서버 관리 부담, 러닝 커브, 설정 복잡성
- GitHub Actions 도입 제안: YAML 기반 CI/CD, 서버 관리 부담 감소
3. GitHub Actions 도입 전략 및 구현
- 기존 Jenkins 스크립트를 YAML 형식으로 이식
- GitHub Actions 스케줄 기능을 활용한 자동화 테스트 정기 실행
- 팀원 온보딩 세션 진행: Git, GitHub Actions, Postman 환경 변수 적용 방법 교육
4. GitHub Actions 도입 효과 및 성과
- Jenkins 기반 환경 구축 기간 약 4개월 → GitHub Actions 기반 1개월로 단축
- CI/CD 파이프라인 구축을 통해 API 테스트 자동화 기반 마련
- 팀원들의 자동화 역량 향상으로 팀 전체 생산성 개선
5. GitHub Actions 도입 한계 및 개선 방향
- Postman 기반 스크립트는 REST API에 최적화되어 gRPC 혼합 서버 구조에서 한계 존재
- 전 구간 자동화는 어려우나, 테스트 데이터 생성, 사전 조건 세팅 등 효율적 영역부터 점진적 확장
- 지속 가능한 자동화를 위한 현재 전략: 현실적인 영역부터 적용
결론
- GitHub Actions는 CI/CD 파이프라인 설정이 간단하고 유지보수가 용이하여 QA 테스트 자동화에 효과적
- 팀원 온보딩과 점진적 도입 전략이 성공적인 자동화 도입의 핵심
- 모든 상황에 적합한 자동화는 어려우나, 효율적 영역부터 적용하는 것이 실무적 전략