ETL 프로젝트는 SSIS, PowerCenter 등과 같은 ETL (추출-변환-로드) 도구를 사용하여 작성된 프로젝트입니다.
일반적으로 외부 소스에서 데이터를 읽고 스테이징 데이터베이스로로드하고 특정 변환을 수행하여 최종 데이터베이스로로드합니다.
간단한 예는 SSIS를 사용하여 SSIS를 사용하여 학교 교사가 제공 한 Excel 파일을 읽고 데이터베이스에로드하는 것입니다. 그런 다음 저장 프로 시저 또는 더 많은 SSIS 패키지를 작성하여 각 학생의 성적을 계산하고 해당 데이터를 데이터 마트 /웨어 하우스에로드하십시오.
그런 다음 마트 위에 스토어드 프로 시저를 빌드하여 시각화를 생성하기 위해보고 도구 (SSRS \ Excel \ etc)에서 사용하는 출력을 생성합니다.
이 시나리오에서 TDD 및 적절한 단위 테스트를 수행하는 방법을 이해하려고합니다. ETL 테스트는 대부분 준비 테이블에로드 된 데이터가 소스 데이터의 올바른 하위 집합인지 확인하는 것입니다. 따라서 테스트를 구현하면 ETL의 미니 버전이 구현됩니다. 보고서 SP의 출력은 테이블 자체의 데이터에 따라 달라 지므로 제거 된 테스트 데이터가 포함 된 데이터베이스를 만들더라도 유지 관리의 악몽없이 안정적인 출력 데이터 세트를 가질 수 없습니다.
예:
스프린트 1 : 학생 테이블 이름, 나이, 학년을 포함
이 테이블에 대한 테스트 데이터를 작성하고이를 기반으로하는 단위 테스트
스프린트 2 : 성별 필드가 테이블에 추가됩니다.
이제 성별 필드를 채우기 위해 학생 필드의 데이터를 새로 고치면 데이터가 변경된 후 테스트 케이스가 무효화됩니다. 그리고 그렇지 않으면 성별 열이 필요한 테스트 사례를 만들 수 없습니다.