더미 데이터의 역할

Artillery와 같은 부하 테스트 도구를 사용할 때 더미 데이터를 사전에 생성하는 것이 필요한지 여부는 테스트의 목적과 환경에 따라 달라집니다.

페이즈 별로 가상 사용자수(VUs)가 점차 증가하게 되는데, 이때 실제 데이터가 없는 경우, 가상 사용자가 수행할 수 있는 작업이 제한됩니다. 부하 테스트의 목적 중 하나는 실제 운영 환경에서의 시스템 성능과 안정성을 평가하는 것이므로, 실제와 유사한 데이터 환경을 구성하는 것이 중요합니다. 가상 사용자들이 실제 사용자의 행동을 모방하여 시스템에 요청을 보내는 것이 부하 테스트의 기본적인 메커니즘입니다. 이러한 요청은 데이터베이스 조회, 데이터 생성, 데이터 수정 등 다양한 형태가 될 수 있습니다.

예를 들어, 웹 애플리케이션에 대한 부하 테스트를 수행한다고 가정해 봅시다. 해당 애플리케이션에 로그인 기능, 게시물 조회, 게시물 작성 기능이 있다면, 이러한 기능을 테스트하기 위해서는 사용자 계정 정보, 게시물 데이터 등이 필요합니다. 만약 이 데이터가 없다면, 가상 사용자는 로그인을 시도할 수 없고, 게시물을 조회하거나 작성하는 행동을 수행할 수 없습니다.

실제 데이터가 없는 상황에서는 다음과 같은 문제가 발생할 수 있습니다:

  1. 기능적 문제 발견 불가: 데이터에 의존하는 기능이 제대로 작동하는지 평가할 수 없습니다.
  2. 성능 측정 오류: 데이터베이스와 같은 백엔드 시스템의 응답 시간, 처리량 등을 정확히 측정할 수 없어, 성능 평가가 부정확해질 수 있습니다.
  3. 사용자 경험 평가 불가: 실제 사용자가 애플리케이션을 사용할 때 발생할 수 있는 다양한 상황을 재현할 수 없으므로, 사용자 경험에 대한 평가가 어렵습니다.

따라서, 부하 테스트를 위해 더미 데이터를 생성하고 사용하는 것은, 실제 데이터가 없는 상황에서도 가상 사용자가 의미 있는 작업을 수행할 수 있도록 하여, 실제와 유사한 테스트 환경을 구축하는 데 매우 중요합니다. 이를 통해 보다 정확하고 유의미한 테스트 결과를 얻을 수 있습니다.

더미 데이터 생성이 필요한 경우:

  1. 실제와 유사한 테스트 환경: 실제 운영 환경과 유사한 데이터로 테스트를 진행하고자 할 때, faker를 사용하여 다양한 유형의 데이터를 생성하면 실제와 유사한 환경에서의 서비스 성능을 더 정확하게 측정할 수 있습니다.
  2. 데이터 의존성: 테스트하려는 시스템이 특정 형태의 데이터를 필요로 하며, 이 데이터가 사전에 준비되어 있지 않은 경우 (예: 사용자 프로필, 상품 정보 등) 더미 데이터를 생성해야 합니다.
  3. 데이터 베이스 스트레스 테스트: 데이터베이스에 대한 부하 테스트를 진행하고자 할 때, 충분한 양의 데이터가 필요할 수 있습니다. 이 경우 faker를 사용하여 대량의 테스트 데이터를 생성하고 데이터베이스에 삽입할 수 있습니다.

더미 데이터 생성이 필요하지 않은 경우:

  1. 단순한 부하 테스트: 단순히 시스템이나 애플리케이션의 동시 접속자 수나 트래픽 양을 테스트하는 경우, 실제 데이터의 복잡성이 중요하지 않을 수 있습니다.
  2. 기존 데이터 사용: 테스트 환경에 이미 충분한 양의 데이터가 존재하고 이를 재사용할 수 있는 경우, 추가로 더미 데이터를 생성할 필요가 없습니다.