데이터 기반 테스트
데이터 기반 테스트(DDT)는 테스트 데이터와 테스트 로직을 분리하는 소프트웨어 테스트 방법론입니다. DDT는 특정 입력 값을 테스트 스크립트에 직접 하드코딩하는 대신, 스프레드시트, 데이터베이스 또는 구성 파일과 같은 외부 소스에 이 데이터를 외부화합니다. 그런 다음 테스트 스크립트는 이 외부 데이터를 읽어 들여 동일한 테스트 로직을 다양한 입력 세트로 여러 번 실행합니다.
복잡한 애플리케이션에서는 단일 데이터 세트로 테스트하는 것만으로는 불충분합니다. DDT는 QA 팀이 방대한 실제 시나리오 전반에 걸쳐 애플리케이션 동작을 효율적으로 검증할 수 있도록 합니다. 이는 새로운 데이터 조합에 대해 테스트 스크립트를 수동으로 다시 작성할 필요 없이 테스트 커버리지를 크게 향상시킵니다.
이 프로세스는 테스트 프레임워크, 테스트 로직, 외부 데이터 소스라는 세 가지 주요 구성 요소로 이루어집니다. 테스트 프레임워크는 외부 소스에서 제공된 데이터를 반복 처리하도록 설계됩니다. 테스트 로직은 무엇을 테스트해야 하는지(예: '로그인 성공 확인')를 정의하며 일정하게 유지됩니다. 외부 데이터는 어떻게 테스트해야 하는지(예: '사용자 이름 A/암호 X', '사용자 이름 B/암호 Y')를 제공합니다.
DDT는 경계 조건, 부정 테스트 및 대규모 데이터 유효성 검사가 필요한 시나리오에서 매우 효과적입니다. 예시로는 다양한 카드 유형을 사용한 결제 게이트웨이 테스트, 다양한 키워드를 사용한 검색 기능 검증, 또는 양식 제출이 다양한 사용자 입력을 처리하는지 확인하는 등이 있습니다.
DDT를 구현하려면 데이터 통합 계층을 구축하기 위한 초기 설정 시간이 필요합니다. 또한, 대규모의 복잡한 외부 데이터 세트를 관리하고 유지하는 것은 제대로 구성되지 않으면 물류적 어려움이 될 수 있습니다.
이 방법론은 자동화 프레임워크 내에서 DDT의 기술적 구현인 파라미터화된 테스트와 밀접하게 관련되어 있습니다. 또한 정의된 동작을 실행하는 데 필요한 구체적인 데이터를 제공함으로써 행동 주도 개발(BDD)을 보완합니다.