본문 바로가기

Tech Insight/소프트웨어 엔지니어링 SE

엔지니어링 팀을 위한 지속적 회귀 테스트 오픈소스 'Touca'

새로 알게 된 오픈소스 테스팅 도구 'Touca'을 소개합니다. Touca는 신뢰할 수 있는 버전과 변경된 소프트웨어의 동작 및 성능을 원격으로 비교하고, 그 차이를 실시간으로 시각화해주는 테스팅 자동화 도구인데요.

 

🪄 Touca의 특징과 차별점

특징적으로, 다양한 입력을 처리해야 되거나 예상 동작을 하드 코딩 하기 어려운 소프트웨어의 workflow를 테스트하는 데 효과적이라고 합니다. 사용 예시는 가이드 문서에서 소개되고 있으니 참고해 보시길 바랍니다.

 

그 밖에도, Touca에서는 다음과 같이 다른 회귀 테스트 도구와 차별화 된 점들이 있다는데요.

  • 머신 러닝 알고리즘, 컴퓨터 비전 시스템, Back-End REST API, 명령줄 도구에 이르기까지 웹 인터페이스 없이 소프트웨어 Workflow를 효과적으로 테스트하는 데 주로 중점을 두고 있음.
  • 반드시 End-to-end 일 필요는 없음. Touca를 사용하여 임의로 많은 수의 입력이 필요한 거의 대부분의 시스템을 테스트할 수 있음. (실제로 touca.check는 프로덕션 코드에서도 사용할 수 있다고 함)
  • 우리는 개발 단계(배포 전)에서 사용할 수 있도록 개발자 친화적이고 제품을 최적화를 목표로 함. 이상적으로는 엔지니어가 로컬 코드 변경 사항을 개발 테스트하는 데 Touca를 사용하고 코드를 작성할 때 피드백을 제공하는 것. (하지만 아직은 거기까지는 미치지 못한 단계)

 

최근 Touca 2.0 버전이 새로 릴리즈 되었는데, 그래도 아직까진 도구 자체에 대한 신뢰성이나 안정성은 좀 더 확인이 필요할 것 같습니다.

 

🧩 지원하는 SDK

  • 기본적으로 Python, C++, Java, JavaScript SDK를 제공

⚙️ 호스팅

  • Docker Compose 사용 가능
  • CLI를 통해 Touca 자체 서버를 호스팅하여 운영할 수 있음.

 

이번 글에서는 지속적 회귀 테스트 오픈소스인 Touca에 대해 간략히 소개해보았는데요. 좀 더 자세한 설명은 아래 Touca Repo에서 확인해 보시길 바랍니다!

 

 

GitHub - trytouca/trytouca: Continuous Regression Testing for Engineering Teams

Continuous Regression Testing for Engineering Teams - GitHub - trytouca/trytouca: Continuous Regression Testing for Engineering Teams

github.com