data warehouse testing tutorial with examples etl testing guide
이 자습서에서는 데이터웨어 하우스 테스트의 목표와 중요성, ETL 테스트 책임, DW 및 ETL 배포의 오류를 자세히 다룹니다.
이것에 심층 데이터웨어 하우스 교육 시리즈 , 우리는 ET 란? 데이터웨어 하우스의 L 프로세스 이전 튜토리얼에서 자세히 설명합니다.
이 자습서는 조직에서 데이터웨어 하우스 테스트를 수행하는 방법에 대한 이해를 제공합니다. 또한 DW 테스트의 목표, 백엔드에서 수행 할 수있는 테스트의 종류와 방법,이 프로세스에 모두 참여하는 사람, DW 오류 및 ETL 배포에 대해 자세히 알게됩니다.
=> 여기에서 모든 데이터웨어 하우징 자습서를 확인하십시오.
대상 청중
- 데이터웨어 하우스 / ETL 개발자 및 테스터.
- 데이터베이스 개념에 대한 기본 지식이있는 데이터베이스 전문가.
- 데이터웨어 하우스 / ETL 개념을 이해하려는 데이터베이스 관리자 / 빅 데이터 전문가
- 데이터웨어 하우스 일자리를 찾고있는 대학 졸업자 / 신입생.
학습 내용 :
데이터웨어 하우스 (ETL) 테스트
데이터웨어 하우스 및 비즈니스 인텔리전스 시스템 테스트의 중요성은 무엇입니까?
테스트는 최종 사용자의 믿음을 구축하는 데이터의 정확성을 보장함으로써 위의 두 시스템 중 하나의 성공에 중요한 역할을합니다.
일반적으로 소프트웨어 개발 수명주기의 후반 단계에서 발견 된 결함은 해당 결함을 수정하는 데 더 많은 비용이 듭니다. DW의 이러한 상황은 이후 단계에서 발견 된 잘못된 데이터가 당시 중요한 비즈니스 결정에 사용되었을 수 있기 때문에 더욱 악화 될 수 있습니다.
따라서 DW의 수정은 프로세스, 인력 및 기술 변경 측면에서 더 비쌉니다. 요구 사항 수집 단계에서 바로 DW 테스트를 시작할 수 있습니다.
요구 사항 추적 성 매트릭스가 준비 및 검토되며, 이는 주로 DW 기능과 해당 비즈니스 요구 사항을 매핑합니다. 추적 성 매트릭스는 테스터가 준비한 DW 테스트 계획에 대한 입력 역할을합니다. 테스트 계획은 DW 시스템을 검증하기 위해 수행 할 테스트를 설명합니다.
또한 시스템에서 수행 될 테스트 유형에 대해서도 설명합니다. 테스트 계획이 준비되면 다양한 DW 시나리오에 대한 모든 세부 테스트 사례가 준비됩니다. 그런 다음 모든 테스트 케이스가 실행되고 결함이 기록됩니다.
운영 세계에는 개발, 테스트 및 생산을위한 다양한 환경을 유지하는 표준이 있습니다. DW 세계에서 개발자와 테스터는 작업을 시작하기 전에 개발 및 테스트 환경에서 프로덕션 데이터 복제본을 사용할 수 있는지 확인합니다.
프로덕션 데이터가 정말 크기 때문에 프로젝트 요구 사항에 따라 제한된 또는 전체 데이터가있는 테이블 목록에 복사됩니다. 개발자는 개발자 환경에서 코드를 개발하고 테스터에게 제공합니다.
테스터는 테스트 환경에서 제공되는 코드를 테스트하여 모든 시스템이 작동하는지 확인합니다. 그런 다음 코드가 프로덕션 환경에 적용됩니다. DW 코드는 각 릴리스에서 수정 된 결함에 따라 다른 버전으로 유지됩니다. 여러 환경과 코드 버전을 유지하면 양질의 시스템을 구축하는 데 도움이됩니다.
최고의 무료 Windows 10 유지 관리 소프트웨어
데이터웨어 하우스 (ETL) 테스트의 목표
데이터웨어 하우스 테스트의 목표를 살펴 보겠습니다.
# 1) 데이터 완전성 : 다양한 소스의 모든 데이터가 데이터웨어 하우스에로드되었는지 확인합니다. 테스트 팀은 아래 샘플 전략에 따라 소스 데이터베이스 및 플랫 파일에 대해 모든 DW 레코드가로드되었는지 확인합니다.
- 소스 시스템에서 업로드 된 총 레코드 수는 DW에로드 된 총 레코드 수와 일치해야합니다. 차이가 있으면 거부 된 레코드에 대해 생각할 수 있습니다.
- DW의 각 필드에로드 된 데이터를 소스 시스템 데이터 필드와 비교합니다. 이 경우 데이터 오류가 발생합니다.
# 2) 데이터 변환 : 소스 데이터를 데이터웨어 하우스에 업로드하는 동안 소스 데이터와 함께 직접로드 할 수있는 필드는 거의 없지만 비즈니스 논리에 따라 변환 된 데이터로로드되는 필드는 거의 없습니다. 이것은 DW (ETL) 테스트의 복잡한 부분입니다.
다음은이를 테스트하기위한 샘플 전략입니다.
- 스프레드 시트에서 데이터를 만들고 비교하여 테스트 할 수 있습니다. 소스 변환 데이터와 DW 데이터를 스프레드 시트에로드하고 비교를 수행합니다. 불일치가 없어야합니다.
- 테스터는 변환 논리에 따라 쿼리를 작성하여 DW 데이터와 소스 데이터를 비교해야합니다. 쿼리를 실행하면 필드에 대한 데이터 유효성 검사가 누락되지 않습니다.
# 3) 데이터 품질 : 데이터웨어 하우스 (ETL) 시스템은 데이터를 거부 (또는) 수정하여로드 된 데이터의 품질을 보장해야합니다.
DW는 받지 않다 비즈니스 요구 사항 논리를 기반으로하는 몇 가지 소스 시스템 데이터 예를 들어, 특정 필드에 숫자가 아닌 데이터가있는 경우 레코드를 거부합니다. 거부 된 모든 레코드는 참조를 위해 거부 테이블에로드됩니다.
거부 된 데이터는 DW 시스템에로드되지 않으므로이 누락 된 데이터에 대해 알 기회가 없기 때문에 클라이언트에보고됩니다. DW는 옳은 null 값 대신 0을로드하여 데이터
# 4) 확장 성 및 성능 : 데이터웨어 하우스는 부하가 증가함에 따라 시스템의 확장 성을 보장해야합니다. 이를 통해 쿼리를 실행하는 동안 성능이 저하되지 않아야하며 특정 시간 프레임에서 예상되는 결과가 표시됩니다. 따라서 성능 테스트는 모든 문제를 발견하고 프로덕션 전에 수정합니다.
다음은 성능 및 확장 성 테스트를위한 샘플 전략입니다.
- 프로덕션 볼륨의 데이터를로드하여 성능 테스트를 수행하고 시간 프레임이 누락되지 않았는지 확인하십시오.
- 대량 데이터를 사용하여 각 쿼리의 성능을 검증합니다. 단순 조인 및 다중 조인을 사용하여 성능을 테스트하십시오.
- 시스템 용량을 대략적으로 계산할 것으로 예상되는 데이터 볼륨에 두 배 (또는) 세 배를로드합니다.
- 나열된 모든 보고서에 대한 작업을 동시에 실행하여 테스트합니다.
# 5) 통합 테스트 : 데이터웨어 하우스는 다른 업스트림 및 다운 스트림 애플리케이션과 통합 테스트를 수행해야합니다. 가능하면 통합 테스트를 위해 프로덕션 데이터를 테스트 환경에 복사하는 것이 좋습니다.
모든 시스템 팀은이 단계에 참여하여 모든 시스템을 함께 이해하고 테스트하면서 격차를 해소해야합니다.
# 6) 단위 테스트 : 이는 개별 개발자가 결과물에 대해 수행합니다. 개발자는 요구 사항에 대한 이해를 바탕으로 단위 테스트 시나리오를 준비하고 단위 테스트를 실행하고 결과를 문서화합니다. 이를 통해 개발자는 테스트 팀에 코드를 전달하기 전에 버그가 발견되면 수정하는 데 도움이됩니다.
# 7) 회귀 테스트 : 결함을 수정 한 후 DW 시스템이 오작동하지 않는지 확인합니다. 이것은 새로운 코드가 변경 될 때마다 여러 번 수행됩니다.
# 8) 사용자 수락 테스트 : 이 테스트는 비즈니스 사용자가 시스템 기능을 검증하기 위해 수행합니다. UAT 환경은 QA 환경과 다릅니다. UAT의 사인 오프는 코드를 프로덕션으로 이동할 준비가되었음을 의미합니다.
3 년 경력의 셀레늄 인터뷰 질문
데이터웨어 하우스 및 비즈니스 인텔리전스 시스템 관점에서 비즈니스 사용자는 사용자 인터페이스 (UI)를 통해 다양한 보고서의 유효성을 검사 할 수 있습니다. 요구 사항에 대해 보고서 사양을 검증하고, 보고서에서 데이터의 정확성을 검증하고, 시스템이 결과를 얼마나 빨리 반환하는지 검증 할 수 있습니다.
DW 테스트 흐름도 :
데이터웨어 하우스 테스트 책임
다음은 성공적인 DW 시스템을 제공하는 데 관련된 다양한 팀입니다.
- 비즈니스 분석가 : 시스템에 대한 모든 비즈니스 요구 사항을 수집하고 모든 사람이 선호하는 사항을 문서화합니다.
- 인프라 팀 : 개발자와 테스터 모두에게 필요한 다양한 환경을 설정합니다.
- 개발자 : 요구 사항에 따라 ETL 코드를 개발하고 단위 테스트를 수행합니다.
- QA (Quality Assurance) / 테스터 : 테스트 계획, 테스트 케이스 등을 개발합니다. 테스트 케이스를 실행하여 시스템의 결함을 식별합니다. 다양한 수준의 테스트를 수행합니다.
- DBA : DBA는 논리적 ETL 데이터베이스 시나리오를 물리적 ETL 데이터베이스 시나리오로 변환하는 작업을 담당하며 성능 테스트에도 참여합니다.
- 비즈니스 사용자 : 사용자 수락 테스트에 참여하고 DW 테이블에 대한 쿼리 및 보고서를 실행합니다.
데이터웨어 하우스의 오류
여러 소스에서 ETL (추출, 변환 및로드) 데이터를 추출 할 때 장기 실행 작업을 중단 할 수있는 잘못된 데이터가 발생할 가능성이 있습니다.
다음은 DW 시스템의 주요 실패 원인입니다.
# 1) 비즈니스 규칙 위반 (논리적 오류) : 논리적으로 잘못된 데이터는 비즈니스 규칙을 위반합니다. 이러한 데이터는 대부분 변환 또는로드 단계에서 처리 할 수 있습니다.
# 2) 데이터 규칙 위반 (데이터 오류) : 데이터 유형 불일치, 데이터 제약 실패 등과 같은 데이터 오류는 DW 데이터베이스 시스템 내부에서 발생합니다.
ETL 배포
이것은 모든 노력이 진행되는 단계입니다. 모든 생산 지원 문서를 준비해야합니다.
문서는 실행할 작업 순서, 장애 복구 시나리오, 배포 후 시스템을 모니터링하기위한 DW 지원 팀 및 보고서 실행을위한 관리 지원 팀에 대한 교육 자료에 대해 다른 사람들에게 알려줍니다.
결론
이 튜토리얼에서 데이터웨어 하우스 테스트의 목표, ETL 테스트 책임, DW 및 ETL 배포의 오류에 대해 자세히 배웠습니다.
데이터웨어 하우스 (ETL) 시스템에서 세부적인 테스트를 수행 할 수있는 방법에 대한 아이디어를 얻었기를 바랍니다.
=> 처음부터 데이터웨어 하우징에 대해 알아 보려면 여기를 방문하십시오.