팀 테스팅이란?

시간이 지남에 따라 소프트웨어 규모가 점점 커지고 있습니다. 소프트웨어 규모가 증가하여 테스트 대상의 규모도 역시 증가합니다. 그 반면, 업데이트 주기는 점점 짧아지고 테스트할 수 있는 시간이 줄어 짧은 시간에 더 많은 테스트를 해야 합니다.

팀 테스팅은 하나의 소프트웨어를 여러 사람이 나누어 테스트하는 방식입니다. 팀 테스팅에는 여러 문제점이 있습니다. 첫 번째, 테스트 환경과 테스트 케이스를 다른 사용자와 공유하기 어렵습니다. 두 번째, 사용자가 직접 작성하는 스텁, 클래스 코드 등의 테스트 자원을 중복으로 생성하게 됩니다. 세 번째, 테스트 결과를 병합하기가 어렵습니다. 이 외에도 최종 결과를 확인하기 위해 한 PC에 취합하여 전체 테스트를 재실행해야 하는 등 다양한 어려움이 있습니다.

CT 2023.12는 이런 변화에 발맞추어 더 짧은 시간에 더 많은 테스트를 할 수 있도록 팀 테스팅 기능을 제공합니다. 팀 테스팅 서버는 CT 2023.12가 팀 테스팅 기능을 제공하기 위해 만든 서버입니다. 프로젝트를 진행하는 동안 팀 테스팅 서버는 사용자 간에 프로젝트 구성을 동기화해 주고 스텁과 클래스 코드를 모든 사용자가 공유할 수 있게 합니다. 또한, 테스트를 실행할 때마다 결과를 취합하여 대시보드를 통해 보여줍니다. 사용자는 대시보드를 이용하여 프로젝트 진행 상황을 한눈에 파악할 수 있습니다.

즉, CT 2023.12는 각각의 사용자가 테스트를 진행하는 클라이언트 역할을 합니다. 팀 테스팅 서버는 사용자가 공유할 프로젝트를 저장하고 관리합니다. 대시보드는 팀 테스팅 서버에 저장된 프로젝트 정보와 진행 상황을 볼 수 있는 웹 페이지입니다.

용어

아래는 CT 2023.12의 팀 테스팅에서 사용하는 용어입니다.

  • 팀 프로젝트: 팀 테스팅 서버로 내보내어 다른 사용자와 같이 사용하는 프로젝트
  • 공유 자원
    • 프로젝트 특성, 환경 설정, 소스 코드, 툴체인 등 프로젝트를 구성하는 설정과 스텁, 클래스 코드 등 테스트와 연결된 자원
    • 사용자 간에 자동으로 공유됨
  • 테스트 자원
    • 테스트, 테스트 데이터 등 테스트에 필요한 자원
    • 사용자 간에 자동으로 공유되지 않으며, 공유가 필요한 경우 팀 테스팅 서버에서 가져와서 사용해야 함
  • 로컬: 사용자가 작업하는 CT(클라이언트)
  • 팀 테스팅 서버: 모든 사용자의 작업 내용이 취합되는 곳
  • 커밋: 로컬의 변경 사항을 팀 테스팅 서버에 반영하는 작업
  • 업데이트: 다른 사용자의 수정 사항을 로컬로 내려받는 작업
  • 충돌: 다른 사용자가 수정하여 커밋한 자원을 업데이트할 때, 내 로컬에서도 수정이 있으면 충돌이라고 함
  • 리비전
    • 팀 테스팅 서버의 수정 기록
    • 사용자가 커밋을 하여 팀 프로젝트의 형상이 바뀌면 리비전이 증가함
    • 프로젝트 생성 시 리비전은 1
    • 커밋할 때 1씩 증가

팀 프로젝트 과정

팀 프로젝트는 크게 3단계로 나눌 수 있습니다.

  1. 프로젝트 초기 설정
    • 팀 프로젝트를 생성하고, 테스트 환경에 맞게 프로젝트 구성을 변경하는 단계입니다.
    • 사용자가 각각의 PC로 팀 프로젝트를 가져와서 하나의 프로젝트를 공유하여 사용합니다.
  1. 테스트 진행
    • 커밋과 업데이트하며 테스트를 진행합니다.
    • 공유 자원의 변경이 생기는 경우 알림을 받아 업데이트할 수 있습니다.
    • 소스 코드의 변경으로 테스트를 사용할 수 없는 경우, 재분석 후 테스트 재설정을 진행합니다.
    • 업데이트 과정에서 충돌이 발생한 경우, 충돌을 해결한 후 테스트를 진행하여야 합니다.
  1. 테스트 결과 취합
    • 테스트 결과는 팀 테스팅 서버에서 취합되어 대시보드에서 실시간으로 확인할 수 있습니다.
    • 전체 테스트에 대한 실행이나 보고서 출력이 필요한 경우, 한 PC에 모든 테스트를 가져와서 보고서를 출력할 수 있습니다.

그 외에도 팀 테스팅 서버와의 연결이 불안정한 경우를 대비하여 온/오프라인 모드 기능도 제공합니다.

Need more help with this?
Don’t hesitate to contact us here.

Thanks for your feedback.