“개발자만 쓰는 거 아니었어?” QA를 위한 Git 버전 관리 필수 가이드

“테스트 자동화 코드를 작성했는데, 이 코드는 어떻게 관리해야 할까요?”

“다른 QA 동료와 함께 자동화 코드를 수정하고 싶은데, 어떻게 협업해야 하죠?”

이러한 질문에 대한 업계 표준 답변은 바로 ‘Git’입니다. Git은 더 이상 개발자만의 전유물이 아닙니다. 테스트 코드 역시 소중한 자산이며, Git을 통해 체계적으로 관리될 때 그 가치는 더욱 빛납니다.

이번 글에서는 비개발자나 신입 QA의 눈높이에 맞춰, ‘Git 버전 관리’의 핵심 개념과 필수 명령어를 알아보겠습니다.

Q. Git, 정확히 무엇이고 QA에게 왜 필요한가요?

Git은 컴퓨터 파일의 변경사항을 추적하고, 여러 사용자 간의 작업을 조율하기 위한 ‘버전 관리 시스템(Version Control System)’입니다.

쉽게 말해, 파일의 변경 이력을 스냅샷처럼 차곡차곡 저장해두는 똑똑한 이력 관리 도구입니다.

  • QA에게 왜 필요한가요?
    • 테스트 코드 관리:
      • 내가 작성한 테스트 자동화 코드를 안전하게 저장하고, 언제든 과거의 특정 시점으로 되돌릴 수 있습니다. “어제까지 잘 되던 코드가 왜 안 되지?”라는 상황에서 과거 버전을 쉽게 확인할 수 있습니다.
    • 협업:
      • 여러 명의 QA가 하나의 테스트 코드 프로젝트를 함께 작업할 수 있습니다. 각자 작업한 내용을 합치거나, 다른 사람의 코드를 검토하는(코드 리뷰) 과정이 매우 편리해집니다.
    • 개발자와의 소통:
      • 개발자들이 사용하는 Git 워크플로우를 이해함으로써, QA는 개발 프로세스에 더 깊이 참여하고 원활하게 소통할 수 있습니다.

Q. 가장 먼저, 원격 저장소 코드를 어떻게 가져오나요? (clone & pull)

보통 테스트 코드는 GitHub, GitLab과 같은 원격 서버에 ‘저장소(Repository)’ 형태로 존재합니다.

  • git clone (최초 한번):
    • 원격 저장소에 있는 프로젝트 전체를 내 컴퓨터로 ‘복제’해오는 명령어입니다. 프로젝트에 처음 참여할 때 단 한 번만 사용합니다.
    • —[코드 예시]—
      • git clone https://www.google.com/search?q=https://github.com/example/my-test-project.git
  • git pull (수시로):
    • 다른 팀원들이 작업하여 원격 저장소에 올린 최신 변경사항을 내 컴퓨터로 가져와 ‘업데이트’하는 명령어입니다. 작업을 시작하기 전에는 항상 git pull을 통해 최신 상태를 유지하는 것이 좋습니다.
    • —[코드 예시]—
      • git pull origin main

Q. 나만의 안전한 작업 공간은 어떻게 만드나요? (branch)

‘브랜치(Branch)’는 기존 코드에 영향을 주지 않고, 나만의 독립적인 공간에서 안전하게 새로운 작업을 할 수 있도록 만들어주는 ‘가지’와 같습니다.

  • 왜 브랜치를 사용해야 하나요?
    • 여러 사람이 동시에 ‘main’이라는 메인 브랜치에서 직접 작업하면 코드가 엉망이 될 수 있습니다.
    • 따라서, 새로운 테스트 코드를 작성하거나 수정할 때는, 항상 나만의 브랜치를 만들어서 작업하는 것이 기본 원칙입니다.
  • 브랜치 생성 및 이동 명령어:—[코드 예시]—‘login-test’라는 이름의 새로운 브랜치를 만들고, 그 브랜치로 이동합니다.git checkout -b login-test—[코드 예시 끝]—

Q. 내가 수정한 코드는 어떻게 저장하고 설명하나요? (commit)

‘커밋(Commit)’은 내가 작업한 변경사항들을 하나의 의미 있는 단위로 묶어, “이런이런 작업을 완료했다”는 설명과 함께 저장하는 행위입니다.

  • 커밋 과정:—[코드 예시]—1. 변경된 파일 중 저장할 파일들을 선택합니다. (모든 파일을 선택하려면 ‘.’)git add .2. 선택된 파일들을 하나의 커밋으로 묶고, 어떤 작업을 했는지 메시지를 남깁니다.git commit -m “Feat: 로그인 기능 성공 케이스 테스트 코드 추가”—[코드 예시 끝]—

Q. 내 작업물을 동료들과 어떻게 공유하나요? (push)

‘푸시(Push)’는 내 컴퓨터의 브랜치에 저장된 커밋들을, 다른 팀원들이 볼 수 있도록 ‘원격 저장소’에 업로드하는 명령어입니다.

  • 푸시 명령어:
    • 내 컴퓨터의 ‘login-test’ 브랜치를 원격 저장소에 업로드합니다.
      • git push origin login-test
  • 이후 과정:
    • 푸시가 완료되면, 보통 GitHub 등에서 ‘풀 리퀘스트(Pull Request, PR)’라는 것을 생성하여 동료들에게 코드 리뷰를 요청하고, 리뷰가 완료되면 나의 브랜치를 ‘main’ 브랜치에 최종적으로 합치게(Merge) 됩니다.

결론

Git은 더 이상 개발자만의 전유물이 아닙니다. 테스트 코드도 서비스의 소중한 자산이며, Git을 통해 체계적으로 ‘버전 관리’될 때 그 가치는 더욱 빛납니다. 처음에는 용어들이 낯설고 복잡하게 느껴질 수 있지만, 오늘 배운 기본 명령어부터 차근차근 시작하여 버전 관리와 친숙해지는 것이 현대 QA 전문가로 성장하는 중요한 첫걸음이 될 것입니다.

참고 자료 (References)

댓글 남기기