테스트 스위트 확장: 자동 API 테스트를 위한 고성능 구성

Sharki

Sharki

26 February 2026

테스트 스위트 확장: 자동 API 테스트를 위한 고성능 구성

Apidog 엔터프라이즈

온프레미스 배포

SSO & RBAC

SOC 2 준수

Apidog Enterprise 살펴보기

Apidog 사용자 여러분, 안녕하세요! 👋 지난 한 해 동안 저희는 여러 API 요청을 완전한 비즈니스 흐름으로 연결하는 재사용 가능한 워크플로 시퀀스인 테스트 시나리오를 중심으로 포괄적인 자동화 테스트 플랫폼을 구축했습니다. 테스트 시나리오는 "어떻게 테스트할 것인가"라는 문제를 해결하지만, 팀으로부터 "무엇을 테스트할 것인가를 어떻게 구성할 것인가"라는 다른 문제에 대한 일관된 피드백을 들었습니다.


팀에서는 수백 개의 테스트 케이스를 비즈니스 모듈별로 정리해 놓았지만, 릴리스 회귀 테스트를 할 때에는 모든 케이스가 아닌 P0 케이스만 실행하고 싶어 한다고 말합니다. 현재는 각 케이스를 수동으로 검색하고 선택해야 합니다. 또 다른 팀은 긍정 테스트 케이스와 부정 테스트 케이스를 모두 관리하지만, 스모크 테스트는 긍정적인 흐름만 다루기를 원합니다. 그리고 새로운 케이스가 추가되면 회귀 테스트 목록에서 종종 누락되곤 합니다.


오늘, 저희는 개별 선택이 아닌 규칙에 따라 테스트를 구성하고 실행할 수 있는 새로운 리소스 유형인 테스트 스위트(Test Suites)를 소개합니다. 테스트 스위트는 여러분의 테스트 워크플로에 세 가지 핵심 기능을 제공합니다:


- 동적 테스트 라우팅: 태그, 디렉토리 또는 우선순위 수준별로 필터링 규칙을 한 번 정의하면, 일치하는 케이스는 런타임에 자동으로 포함됩니다. 기준을 충족하는 새로운 케이스는 수동 유지보수 없이 추가됩니다.
- 병렬 실행: 한 번의 클릭으로 직렬 모드와 병렬 모드를 전환할 수 있습니다. 시스템은 사용 가능한 리소스에 따라 동시성을 자동으로 최적화하여 몇 시간 걸리던 회귀 테스트를 몇 분으로 단축시킵니다.
- 구조화된 테스트 보고서: 평면적인 목록을 스크롤하는 대신, 모듈, 우선순위 또는 태그와 같이 여러분의 조직 논리에 따라 그룹화된 결과를 볼 수 있습니다. 실패한 케이스는 명확한 컨텍스트와 함께 즉시 표시됩니다.

자동화 테스트 모듈의 테스트 스위트 개요

각 기능이 어떻게 작동하는지 자세히 살펴보겠습니다.

동적 테스트 라우팅

QA 팀으로부터 가장 흔하게 듣는 요청은 "결제 모듈의 모든 P0 케이스를 하나씩 선택하지 않고 실행하고 싶습니다"입니다. 테스트 스위트는 테스트 작성과 테스트 구성을 분리하여 이 문제를 해결합니다.

테스트 시나리오는 여전히 여러분의 구성 요소로 남아 있으며, 각각은 완전한 비즈니스 워크플로(로그인, 주문 생성, 결제, 상태 확인)를 나타냅니다. 테스트 스위트를 사용하면 태그, 디렉토리, 우선순위 수준 또는 이들의 조합과 같은 조건별로 이러한 시나리오를 그룹화할 수 있습니다. 스위트를 실행하면 실행 시점에 일치하는 모든 케이스가 자동으로 포함됩니다.

AI 기반 개발 도구가 코드 및 테스트 생성을 가속화함에 따라 이 기능은 점점 더 중요해지고 있습니다. 동적 스위트를 사용하면 새로운 케이스가 추가될 때마다 회귀 테스트 목록을 수동으로 업데이트할 필요가 없습니다. 케이스를 작성하고 올바른 태그를 적용하면 스위트가 나머지를 처리합니다.

다양한 테스트 요구 사항에 맞춰 두 가지 모드를 지원합니다:

정적 모드는 고정된 케이스 목록을 제공합니다. 포함할 시나리오를 정확히 선택하며, 이 목록은 수정하기 전까지 변경되지 않습니다. 이는 거의 변경되지 않지만 자주 실행되는 5~15개의 중요 시나리오로 구성된 스모크 테스트에 적합합니다.

개별 케이스 선택을 위한 체크박스가 있는 정적 모드

동적 모드는 규칙을 사용하여 일치하는 케이스를 자동으로 포함합니다. 조건("Payment" 디렉토리의 모든 P0 우선순위 케이스)을 정의하면, 테스트 라이브러리가 발전함에 따라 스위트는 항상 최신 상태를 유지합니다. 이는 케이스 수가 정기적으로 변경되는 모듈 회귀 테스트에 적합합니다.

자동 포함 알림과 함께 읽기 전용 미리보기를 보여주는 동적 모드

제품 인터페이스에서는 용어를 미리 이해할 필요 없이 이 선택 과정을 안내해 드립니다. 정적 모드를 선택하면 개별 선택을 위한 체크박스가 나타납니다. 동적 모드를 선택하면 일치하는 케이스의 읽기 전용 미리보기가 "이 조건에 일치하는 새로운 케이스는 자동으로 포함됩니다."라는 알림과 함께 표시됩니다.

병렬 실행

테스트 스위트가 수백 개의 케이스로 늘어나면 직렬 실행은 병목 현상이 됩니다. 완료하는 데 한 시간이 걸리는 전체 회귀 테스트는 릴리스 파이프라인을 지연시키고 프로덕션 모니터링에서 문제 감지를 늦춥니다.

테스트 스위트는 기본적으로 병렬 실행을 지원합니다. 직렬 모드와 병렬 모드를 간단히 전환하기만 하면, 시스템이 자동으로 머신의 사용 가능한 리소스에 따라 최적의 동시성을 결정합니다. 수동 튜닝이 필요 없습니다. 이는 테스트 로직을 변경하지 않고도 60분 걸리던 회귀 테스트를 30분 이내로 단축시킵니다.

스위트 실행 구성에서 직렬/병렬 모드 토글

병렬 실행은 종속성 격리를 자동으로 처리합니다. 각 시나리오는 자체 컨텍스트에서 실행되어, 한 시나리오의 공유 변수나 환경 상태가 다른 시나리오에 영향을 주지 않도록 보장합니다. 실제로 서로 종속되는 시나리오의 경우, 순차적인 단계로 하나의 시나리오로 그룹화할 수 있습니다.

구조화된 테스트 보고서

기존 테스트 보고서는 결과를 하나씩 나열합니다. 여러 모듈에 걸쳐 200개의 케이스가 있는 스위트를 실행할 때, 중요한 실패를 찾는 것은 지루한 작업이 됩니다.

테스트 스위트 보고서는 여러분의 조직 논리를 중심으로 구조화됩니다. 결과는 정의한 조건(모듈별, 우선순위별, 태그별)에 따라 그룹화됩니다. 개별 항목을 스크롤하지 않고도 "결제 모듈: 45/47 통과" 및 "사용자 모듈: 32/32 통과"와 같이 즉시 확인할 수 있습니다.

모듈/태그 그룹별 통과율을 보여주는 스위트 레벨 보고서 개요

각 그룹은 실행 시간, 어설션 개수, 실패 세부 정보와 함께 개별 시나리오 결과를 표시하도록 확장됩니다. 실패한 시나리오는 명확한 오류 컨텍스트와 함께 상단에 표시되므로, 로그를 뒤적거릴 필요 없이 문제를 분류할 수 있습니다.

실패 세부 정보와 함께 개별 시나리오 결과를 보여주는 확장된 보고서 보기

보고서에는 총 실행 시간, 병렬 효율성(직렬 실행 대비 절약된 시간), 사용된 환경 구성 등 실행 메타데이터도 포함됩니다. 이는 시간이 지남에 따라 스위트 구성을 최적화하고 규정 준수 요구 사항을 위한 감사 추적을 제공하는 데 도움이 됩니다.

유연한 재정의를 통한 통합 구성

각 테스트 시나리오는 자체 실행 구성(환경, 반복 횟수 및 기타 설정)을 가질 수 있습니다. 여러 시나리오를 스위트로 그룹화할 때, 어떤 구성이 우선하는지 결정해야 합니다.

기본적으로 각 시나리오는 저장된 구성으로 실행됩니다. 이는 가장 직관적인 동작입니다. 특히 환경 설정의 경우, 스위트는 시나리오가 상속받을 수 있는 통합 환경 선택기를 제공합니다. 이를 통해 단 한 번의 변경으로 전체 회귀 테스트 스위트를 스테이징에서 프로덕션으로 전환할 수 있습니다.

완전한 제어가 필요한 경우, 모든 시나리오 수준 설정을 재정의하는 사용자 지정 구성을 지정할 수 있습니다. 이 옵션은 일반적인 경로를 단순하게 유지하기 위해 고급 설정에서 사용할 수 있습니다.

환경 선택기 및 고급 옵션이 포함된 스위트 실행 구성

테스트 스위트 vs 디렉토리 배치 실행

Apidog는 이미 디렉토리 수준에서 배치 실행을 지원합니다. 테스트 스위트는 다른 목적을 수행합니다.

디렉토리는 물리적 구조에 따라 케이스를 구성합니다. 하나의 케이스는 하나의 폴더에 속합니다.

테스트 스위트는 논리적 규칙에 따라 케이스를 구성합니다. 하나의 케이스는 여러 스위트에 동시에 속할 수 있습니다.

예를 들어, P0 결제 테스트 케이스는 "결제 모듈 회귀 테스트"(결제 태그가 지정된 모든 P0/P1 케이스)와 "전체 스모크 테스트"(시스템 전체의 모든 P0 케이스) 모두에 나타날 수 있습니다. 이러한 유연성을 통해 커밋마다 트리거되는 스모크 테스트, 릴리스 전 전체 회귀 테스트, 프로덕션 환경에서 예약된 상태 확인 등 다양한 시나리오에 대한 재사용 가능한 테스트 실행 단위를 구축할 수 있습니다.

기능
목적
가장 적합한 용도
테스트 시나리오
비즈니스 흐름 오케스트레이션
개별 테스트 워크플로 정의
디렉토리
물리적 구성
팀 협업, 케이스 관리
디렉토리 배치 실행
빠른 실행
탐색적 테스트, 임시 회귀 테스트
테스트 스위트
재사용 가능한 실행 단위
릴리스 회귀 테스트, 스모크 테스트, 예약 모니터링

다음으로 구축할 기능

저희는 스위트 중첩(다른 스위트로 스위트 구성) 및 실패 시 자동 재시도를 평가하고 있습니다. 동적 모드는 이미 대부분의 구성 요구 사항을 처리하며, 재시도로 실제 실패를 가리는 것을 피하고자 합니다. 사용 패턴을 기반으로 재검토할 예정입니다.

시작하는 방법

테스트 스위트는 Apidog에서 지금 바로 사용할 수 있습니다. 자동화 테스트 모듈에서 첫 번째 스위트를 생성하고, 정적 또는 동적 모드를 선택하고, 조건을 정의한 다음 실행하세요. CLI를 사용하여 코드 병합 또는 스케줄에 따라 스위트를 트리거하도록 CI/CD 파이프라인과 통합할 수 있습니다.

대화에 참여하세요

테스트 스위트가 여러분의 워크플로에 어떻게 적용되는지 듣고 싶습니다. 커뮤니티 채널에서 피드백을 공유해주세요. 동료 API 엔지니어 및 Apidog 팀과 연결하세요:

즐거운 테스트 되세요!

Apidog에서 API 설계-첫 번째 연습

API를 더 쉽게 구축하고 사용하는 방법을 발견하세요