etl vs db testing closer look etl testing need
소프트웨어 테스팅에는 집중해야 할 다양한 영역이 있습니다. 주요 품종은 기능 및 비 기능 테스트입니다. 기능 테스트는 개발 된 기능이 예상대로 작동하는지 확인하는 절차 적 방법입니다. 비 기능 테스트는 허용 가능한 수준의 성능 향상 또는 성능과 같은 비 기능적 측면을 보장 할 수있는 접근 방식입니다.
또 다른 테스트 유형이 있습니다. DB 테스트 . 데이터는 테이블 형태로 데이터베이스에 구성됩니다. 비즈니스의 경우 다음과 같은 흐름이있을 수 있습니다. 여러 테이블의 데이터를 단일 테이블로 병합하거나 처리 할 수 있으며 그 반대의 경우도 마찬가지입니다.
ETL 테스트 클라이언트가 일종의보고 요구를 요구하는 비즈니스 사례에서 선호되는 또 다른 종류의 테스트입니다. 보고는 수요, 요구 및 공급을 분석하여 고객, 비즈니스 및 최종 사용자가 매우 잘 서비스되고 혜택을받을 수 있도록하기 위해 추구됩니다.
이 튜토리얼에서 무엇을 배우게 될까요?
이 자습서에서는 데이터베이스 테스트가 무엇인지, ETL 테스트가 무엇인지, DB 테스트와 ETL 테스트의 차이점, 실제 예제를 통해 ETL 테스트 요구 사항, 프로세스 및 계획에 대한 자세한 내용을 학습합니다.
또한 아래 페이지에서 ETL 테스트에 대해 자세히 다루었습니다. 또한 그것을보세요.
=> ETL 테스트 / 데이터웨어 하우스 테스트 팁 및 기술
학습 내용 :
DB 테스트와 ETL 테스트
우리 대부분은 데이터베이스 테스트와 ETL 테스트가 비슷하고 동일하다는 점을 고려하면 약간 혼란스러워합니다. 사실은 비슷하지만 동일하지는 않습니다.
DB 테스트 :
DB 테스팅은 일반적으로 여러 데이터 소스에서 단일 테이블로 애플리케이션에서 발생하는 여러 데이터 흐름이있는 비즈니스 흐름에서 광범위하게 사용됩니다. 데이터 소스는 테이블, 플랫 파일, 애플리케이션 또는 일부 출력 데이터를 생성 할 수있는 기타 모든 것이 될 수 있습니다.
결과적으로 얻은 출력 데이터는 계속해서 순차적 비즈니스 흐름의 입력으로 사용할 수 있습니다. 따라서 DB 테스트를 수행 할 때 캡처해야하는 가장 중요한 것은 데이터가 소스에서 변환 될 수있는 방법과 대상 위치에 저장되는 방법입니다.
동기화는 DB 테스트를 수행 할 때 고려해야 할 중요한 사항 중 하나입니다. 아키텍처 흐름에서 애플리케이션의 위치 지정으로 인해 데이터 또는 DB 동기화에 문제가 거의 없을 수 있습니다. 따라서 테스트를 수행하는 동안 잠재적 인 문제를 극복 할 수 있으므로주의해야합니다. 잘못된 결함 또는 버그.
예 1:
프로젝트 'A'에는 특정 애플리케이션이 여러 다른 이기종 데이터 소스의 데이터를 사용하는 통합 아키텍처가 있습니다. 따라서 이러한 데이터와 대상 위치의 무결성은 다음에 대한 유효성 검사와 함께 수행되어야합니다.
- 기본 외래 키 유효성 검사
- 열 값 무결성
- 모든 열의 Null 값
ETL 테스트 란 무엇입니까?
ETL 테스트는 고객이 비즈니스 예측 및 분석을 위해 수행하기를 원하는 특수 유형의 테스트입니다. 이는 주로보고 목적으로 사용됩니다. 예를 들어, 고객이 구매 한 날짜를 기준으로 제품을 사용하거나 사용하는 고객에 대해보고해야하는 경우 ETL 보고서를 사용해야합니다.
게시하다 분석 과 보고 ,이 데이터는 데이터웨어 하우스 이전 비즈니스 데이터를 이동해야하는 데이터웨어 하우스로 이동합니다.
C ++ 소스 코드에서 이진 트리 구현
이것은 소스의 데이터가 최종 목적지에 도달하기 전에 여러 환경으로 변환되는 다중 레벨 테스트입니다.
예제 # 2:
고객이 일상 생활에 필요한 모든 가정 용품을 구매할 수있는 쇼핑 시장을 통해 소매 고객 비즈니스를하는 A 그룹을 고려할 것입니다. 여기에서 방문하는 모든 고객에게는 쇼핑 시장에서 물건을 구매할 때마다 포인트를 얻을 수있는 고유 한 멤버십 ID가 제공됩니다.
그룹에서 제공하는 규정에 따르면 획득 한 포인트는 매년 만료됩니다. 그리고 사용량에 따라 멤버십을 상위 등급 회원으로 업그레이드하거나 현재 등급에 비해 낮은 등급 회원으로 다운 그레이드 할 수 있습니다.
5 년 동안 쇼핑 시장을 구축 한 이후 경영진은 수익과 함께 비즈니스 확장을 모색하고 있습니다.
따라서 고객을 홍보하기 위해 비즈니스 보고서가 거의 필요하지 않았습니다.
데이터베이스 테스트에서 우리는 다음을 수행합니다.
#1) 논리적 매핑 시트 및 데이터 라우팅 문서에 설명 된대로 논리적 계산이있는 열로 생성 된 대상 테이블에 대한 유효성 검사.
#두) 고객 데이터의 삽입, 업데이트 및 삭제와 같은 조작은 백엔드 데이터베이스와 함께 통합 시스템의 모든 최종 사용자 POS 애플리케이션에서 수행 될 수 있으므로 동일한 변경 사항이 최종 시스템에 반영됩니다.
#삼) DB 테스트는 잘못 해석되거나 잘린 고객 데이터가 없는지 확인해야합니다. 이로 인해 충성도와 고객 데이터의 잘못된 매핑과 같은 심각한 문제가 발생할 수 있습니다.
ETL 테스트에서 다음을 확인합니다.
#1) 소스에 100 명의 고객이 있다고 가정하면 이러한 모든 고객이 100 개 행의 데이터와 함께 소스 시스템에서 대상으로 이동되었는지 확인합니다. 이를 검증이라고합니다. 데이터 완전성 검사.
#두) 고객 데이터가 올바르게 조작되고 100 개 행에 표시되었는지 확인합니다. 이를 단순히 검증이라고합니다. 데이터 정확성 검사 .
#삼) 특정 기간 내에 x 개 이상의 포인트를 획득 한 고객에 대한 보고서입니다.
ETL 및 DB 테스트 비교 연구
ETL 및 DB 테스트에는 수행하기 전에 이해해야하는 본질적인 측면이 거의 없습니다. 이를 통해 테스트의 가치와 중요성, 그리고 그것이 비즈니스에 도움이되는 방식을 이해하는 데 도움이됩니다.
다음은 두 테스트 형식의 기본 동작을 설명하는 표 형식입니다.
DB 테스트 | ETL 테스트 | |
---|---|---|
데이터 특성 | 여기서는 정규화 된 데이터가 사용됩니다. | 여기에서는 비정규 화 된 데이터가 사용됩니다. |
주요 목표 | 데이터 통합 | BI보고 |
해당 장소 | 비즈니스 흐름이 발생하는 기능적 시스템에서 | 비즈니스 흐름 환경 외부. 입력은 과거 비즈니스 데이터입니다. |
자동화 도구 | QTP, 셀레늄 | Informatica, QuerySurge, COGNOS |
비즈니스 영향 | 비즈니스 흐름의 통합 아키텍처이므로 심각한 영향이 발생할 수 있습니다. | 클라이언트가 예측 및 분석을 수행하기를 원할 때와 같은 잠재적 영향 |
사용 된 모델링 | 엔티티 관계 | 차원 |
체계 | 온라인 거래 처리 | 온라인 분석 처리 |
비즈니스가 ETL로 이동해야하는 이유는 무엇입니까?
ETL 테스트를 고려하기 위해 많은 비즈니스 요구 사항을 사용할 수 있습니다. 모든 비즈니스에는 고유 한 사명과 비즈니스 라인이 있어야합니다. 모든 비즈니스에는 다음과 같은 일반적인 형식을 취하는 제품 수명주기가 있습니다.
모든 신제품이 엄청난 매출 성장과 성숙이라는 단계까지 시장에 진입했다가 이후 매출이 감소한다는 것은 매우 분명합니다. 이러한 점진적인 변화로 인해 비즈니스 성장이 확실히 감소했습니다. 따라서 비즈니스 성장에 대한 고객의 요구와 조직의 수익성을 높이는 데 필요한 기타 요소를 분석하는 것이 더 중요합니다.
따라서 실제로 고객은 과거 데이터를 분석하고 전략적으로 보고서를 작성하기를 원합니다.
ETL 테스트 계획
ETL 테스트의 주요 단계 중 하나는 실행될 테스트를 계획하는 것입니다. 다음과 유사합니다. 시스템 테스트를위한 테스트 계획 일반적으로 요구 사항 및 테스트 케이스와 같은 몇 가지 속성을 제외하고 수행됩니다.
여기에서 요구 사항은 매핑 시트 다른 데이터베이스 내의 데이터간에 일종의 매핑이 있습니다. ETL 테스트가 여러 수준에서 발생한다는 것을 알고 있으므로이를 확인하는 데 필요한 다양한 매핑이 있습니다.
대부분의 경우 데이터가 소스 데이터베이스에서 캡처되는 것은 직접적이지 않습니다. 모든 소스 데이터에는 데이터를 사용할 수있는 테이블 뷰가 있습니다.
두 파일을 비교하는 unix 명령
예: 다음은 매핑을 제공 할 수있는 방법의 예입니다. 두 개의 열 VIEW_NAME 및 TABLE_NAME을 사용하여 각각 ETL 환경의 소스 및 테이블에서 데이터를 읽기위한보기를 나타낼 수 있습니다.
자동화를 계획하는 동안 도움이 될 수있는 명명 규칙을 유지하는 것이 좋습니다. 사용할 수있는 일반 표기법은 환경의 이름을 접두사로 붙이는 것입니다.
ETL에서 가장 중요한 것은 소스에서 필수 데이터와 테이블을 식별하는 것입니다. 다음 필수 단계는 소스에서 ETL 환경으로의 테이블 맵핑입니다.
다음은 다양한 환경의 테이블 간의 매핑이 ETL 목적과 어떻게 관련 될 수 있는지에 대한 예입니다.
위의 매핑은 소스 테이블의 데이터를 스테이징 테이블로 가정합니다. 그 후 EDW의 테이블로 이동 한 다음 OLAP 최종보고 환경입니다. 따라서 어느 시점에서든 데이터 동기화는 ETL을 위해 매우 중요합니다.
중요한 ETL 요구 사항
ETL은보다 연속적인 방식으로 고객의 요구를 포착하기 위해 비즈니스를 예측,보고 및 분석해야한다는 것을 이해합니다. 이를 통해 비즈니스는 과거보다 더 높은 수요를 가질 수 있습니다.
다음은 ETL 테스트 없이는 달성 할 수없는 몇 가지 중요한 요구 사항입니다.
- 데이터 및 테이블 식별 : 이는 고객의 요구를 예측하고 분석 할 때 중요하지 않을 수있는 관련성이없고 불필요한 데이터가 많이있을 수 있으므로 중요합니다. 따라서 ETL 작업을 시작하기 전에 관련 데이터와 테이블을 선택해야합니다.
- 매핑 시트 : 이것은 ETL 작업을 수행하는 동안 중요한 요구 사항 중 하나입니다. 소스에서 대상으로 올바른 테이블을 매핑하는 것은 필수이며이 시트의 문제 나 잘못된 데이터는 전체 ETL 결과물에 영향을 미칠 수 있습니다.
- 테이블 디자인 및 데이터, 열 유형 : 이것은 소스 테이블을 대상 테이블로 맵핑 할 때 다음 주요 단계입니다. 컬럼 유형은 두 장소 등에서 테이블과 일치해야합니다.
- 데이터베이스 액세스 : 중요한 것은 ETL이 진행되는 데이터베이스에 대한 액세스입니다. 액세스에 대한 모든 제한은 동등한 영향을 미칩니다.
ETL보고 및 테스트
ETL의보고는 고객이 필요로하는 클라이언트를 설명하고 지시하므로 더 중요합니다. 이를 통해 정확한 고객 요구를 예측하고 분석 할 수 있습니다.
예제 # 3:
실크 원단을 제조하는 한 회사가 연간 매출을 분석하고 싶었습니다. 연간 매출을 검토 한 결과, 8 월과 9 월에 생성 한 보고서를 사용하여 매출이 크게 감소했습니다.
따라서 그들은 판매를 향상시키는 교환, 할인 등과 같은 프로모션 제안을 시작하기로 결정했습니다.
ETL 테스트의 기본 문제
ETL 테스트를 수행하는 동안 다음과 같은 여러 문제가있을 수 있습니다.
- 소스 테이블 또는 뷰에 대한 액세스가 유효하지 않습니다.
- 소스에서 다음 레이어로의 열 이름과 데이터 유형이 일치하지 않을 수 있습니다.
- 소스 테이블에서 대상 테이블까지의 여러 레코드가 일치하지 않을 수 있습니다.
그리고 훨씬 더있을 수 있습니다.
다음은 VIEW_NAME, COLUMN_NAME, DATA_TYPE, TABLE_NAME, COLUMN_NAME, DATA_TYPE 및 TRANSFORMATION LOGIC과 같은 열이있는 매핑 시트의 샘플입니다.
처음 3 개 열은 원본 데이터베이스의 세부 정보를 나타내고 다음 3 개는 바로 이전 데이터베이스의 세부 정보를 나타냅니다. 마지막 열은 매우 중요합니다. 변환 논리는 원본의 데이터를 읽고 대상 데이터베이스에 저장하는 방법입니다. 이는 비즈니스 및 ETL 요구 사항에 따라 다릅니다.
ETL 테스트 계획 및 실행 중 기억해야 할 사항
ETL 테스트에서 가장 중요한 것은 소스 DB에서 추출 기준에 따라 데이터를로드하는 것입니다. 이 기준이 유효하지 않거나 더 이상 사용되지 않는 경우 실제로 더 많은 문제를 일으키는 ETL 테스트를 수행 할 데이터가 테이블에 없습니다.
다음은 ETL 테스트 계획 및 실행 중에주의해야 할 몇 가지 사항입니다.
CPU 온도를 확인하는 가장 좋은 프로그램
#1) 이기종 데이터 소스에서 데이터를 추출하고 있습니다.
#두) 통합 환경에서 다음이 다른 ETL 프로세스 처리 :
- DBMS
- 당신
- 하드웨어
- 통신 프로토콜
#삼) 물리적 데이터를 변환하기 전에 논리적 데이터 매핑 시트가 있어야 함
# 4) 데이터 소스 이해 및 검토
# 5) 초기로드 및 증분로드
# 6) 감사 열
# 7) 사실과 차원로드
ETL 도구와 그 중요한 사용법
ETL 도구는 기본적으로 변환 논리 소스에서 다른 데이터로 변환 논리를 적용하여 데이터를 가져옵니다. 또한 고유 한 방식으로 발생하는 소스에서 대상으로 스키마를 매핑하고 대상으로 이동하기 전에 데이터를 변환하고 정리할 수 있으며, 대상에서 효율적인 방식으로로드 할 수 있습니다.
이렇게하면 거의 모든 ETL 유효성 검사 및 확인에 사용되는 매핑을 수행 할 수 있으므로 수동 작업을 크게 줄일 수 있습니다.
ETL 도구 :
- 정보학-PowerCenter – Informatica Corporation에서 도입 한 인기있는 ETL 도구 중 하나입니다. 이것은 넓은 영역을 포괄하는 매우 좋은 고객 기반을 가지고 있습니다. 도구의 주요 구성 요소는 클라이언트 용 도구와 저장소 도구 및 서버입니다. 도구에 대한 자세한 내용을 보려면 여기
- IBM – Infosphere 정보 서버 - 컴퓨터 기술 측면에서 시장을 선도하는 IBM은 2008 년 정보 통합 및 관리에 사용되는 Infosphere Information Server를 개발했습니다. 도구에 대한 자세한 내용을 보려면 다음을 클릭하십시오. 여기
- Oracle – 데이터 통합 자 – Oracle Corporation은 Oracle – Data Integrator라는 이름으로 ETL 도구를 개발했습니다. 고객 지원이 증가하면서 ETL 도구를 다양한 버전으로 업데이트했습니다. 도구에 대한 자세한 내용을 보려면 여기
ETL 테스트 사용의 더 많은 예 :
고객을 전략적으로 유치하기 위해 프로모션 및 제안을 시작하려는 일부 항공사를 고려합니다. 먼저 고객 사양의 요구와 요구를 이해하려고 노력할 것입니다. 이를 달성하기 위해 과거 2 년 데이터가 필요합니다. 데이터를 사용하여 고객의 요구를 이해하는 데 도움이 될 몇 가지 보고서를 분석하고 준비합니다.
보고서는 다음과 같은 종류 일 수 있습니다.
- 특정 날짜에 지역 B로 여행하는 지역 A의 고객
- 특정 연령 기준을 가진 고객은 XX 도시로 여행합니다.
그리고 다른 많은 보고서가있을 수 있습니다.
이러한 보고서를 분석하면 고객이 고객에게 이익이되는 프로모션 및 제안의 종류를 식별하는 데 도움이되며 동시에 이것이 윈-윈 상황이 될 수있는 비즈니스에 도움이 될 수 있습니다. 이는 ETL 테스트 및 보고서를 통해 쉽게 달성 할 수 있습니다.
이와 동시에, IT 부문은 여러 서비스를 중단하고 비즈니스에 영향을 미칠 가능성이있는 심각한 DB 문제에 직면 해 있습니다. 조사 결과 일부 유효하지 않은 데이터가 수동으로 수정해야하는 일부 데이터베이스를 손상시키는 것으로 확인되었습니다.
전자의 경우 ETL 보고서 및 테스트가 필요합니다.
후자의 경우는 유효하지 않은 데이터 문제를 극복하기 위해 DB 테스트를 적절하게 수행해야하는 경우입니다.
결론
위의 튜토리얼이 ETL 테스트가 무엇인지, 그리고 그것이 비즈니스에 미치는 영향 또는 이점과 함께 수행해야하는 이유에 대한 간단하고 명확한 개요를 제공하기를 바랍니다. 이것은 여기서 멈추지 않지만 비즈니스 성장에 대한 예지력을 설정하는 데까지 확장 될 수 있습니다.
저자 정보 : 이 튜토리얼은 Nagarajan이 작성했습니다. 그는 수동 및 자동화 측면에서 Banking, Airlines 및 Telecom과 같은 다양한 기능 분야에서 6 년 이상의 소프트웨어 테스트 경험을 쌓은 테스트 리드입니다.
아래 의견에 귀하의 생각 / 질문을 알려주십시오.