데이터 파이프라인 테스트 자동화의 모범 사례

데이터 파이프라인 테스트 자동화의 모범 사례

소스 노드 : 2035833

데이터 통합 ​​프로세스는 다른 소프트웨어와 마찬가지로 자동화된 테스트의 이점을 얻습니다. 그러나 적절한 자동화 테스트 세트가 있는 데이터 파이프라인 프로젝트를 찾는 경우는 드뭅니다. 프로젝트에 많은 테스트가 있더라도 종종 구조화되지 않고 목적을 전달하지 않으며 실행하기 어렵습니다.

의 특징 데이터 파이프라인 개발은 사용자 피드백과 수용을 얻기 위해 고품질 데이터를 자주 릴리스하는 것입니다. 모든 데이터 파이프라인 반복이 끝날 때마다 다음 단계를 위해 데이터의 품질이 높아야 합니다. 

자동화된 테스트는 데이터 파이프라인의 통합 테스트에 필수적입니다. 고도로 반복적이고 적응력이 뛰어난 개발 환경에서는 수동 테스트가 비실용적입니다.

수동 데이터 테스트의 주요 문제

첫째, 시간이 너무 오래 걸리고 파이프라인의 빈번한 전달에 중요한 방해 요소입니다. 주로 수동 테스트에 의존하는 팀은 테스트를 전용 테스트 기간으로 연기하여 버그가 누적되도록 합니다. 

둘째, 수동 데이터 파이프라인 테스트는 회귀 테스트를 위해 충분히 재현할 수 없습니다. 

데이터 파이프라인 테스트를 자동화하려면 초기 계획과 지속적인 노력이 필요하지만 일단 기술 팀이 자동화를 채택하면 프로젝트의 성공이 더 확실해집니다.

데이터 파이프라인의 변형

  • ETL(추출, 변환 및 로드)
  • ELT(추출, 로드 및 변환)
  • 데이터 레이크, 데이터 웨어하우스 파이프라인
  • 실시간 파이프라인
  • 기계 학습 파이프라인

테스트 자동화 고려 사항을 위한 데이터 파이프라인 구성 요소

데이터 파이프라인은 각각 특정 작업을 담당하는 여러 구성 요소로 구성됩니다. 데이터 파이프라인의 요소는 다음과 같습니다.

  • 데이터 출처 : 데이터의 출처
  • 데이터 수집: 데이터 소스에서 데이터를 수집하는 프로세스
  • 데이터 변환: 수집된 데이터를 추가 분석에 사용할 수 있는 형식으로 변환하는 프로세스
  • 데이터 확인/검증: 데이터가 정확하고 일관성이 있는지 확인하는 프로세스
  • 정보 저장소: 변환 및 검증된 데이터를 데이터 웨어하우스 또는 데이터 레이크에 저장하는 프로세스
  • 데이터 분석: 저장된 데이터를 분석하여 패턴, 추세 및 통찰력을 식별하는 프로세스

데이터 파이프라인 테스트 자동화를 위한 모범 사례

무엇을 언제 자동화할지(또는 자동화가 필요한 경우에도) 테스트(또는 개발) 팀의 중요한 결정입니다. 자동화에 적합한 제품 특성의 선택은 주로 자동화의 성공을 결정합니다. 

데이터 파이프라인에 대한 테스트를 자동화할 때 모범 사례에는 다음이 포함됩니다.

  • 명확하고 구체적인 테스트 목표 정의: 테스트를 시작하기 전에 테스트를 통해 달성하려는 것을 정의하는 것이 중요합니다. 그렇게 하면 귀중한 통찰력을 제공하는 효과적이고 효율적인 테스트를 만드는 데 도움이 됩니다..
  • 데이터 파이프라인의 모든 워크플로를 테스트합니다. 데이터 파이프라인은 일반적으로 데이터 수집, 처리, 변환 및 저장과 같은 여러 구성 요소로 구성됩니다. 파이프라인을 통한 데이터의 적절하고 원활한 흐름을 보장하기 위해 각 구성 요소를 테스트하는 것이 중요합니다.
  • 신뢰할 수 있는 테스트 데이터 사용: 데이터 파이프라인을 테스트할 때 실제 시나리오를 모방하는 현실적인 데이터를 사용하는 것이 중요합니다. 이렇게 하면 다양한 데이터 유형을 처리할 때 발생할 수 있는 문제를 식별하는 데 도움이 됩니다.
  • 효과적인 도구로 자동화: 이는 테스트 프레임워크 및 도구를 사용하여 달성할 수 있습니다.
  • 정기적으로 파이프라인을 모니터링합니다. 테스트가 완료된 후에도 파이프라인이 의도한 대로 작동하는지 정기적으로 모니터링하는 것이 중요합니다. 이렇게 하면 심각한 문제가 되기 전에 문제를 식별하는 데 도움이 됩니다.
  • 이해 관계자 참여: 데이터 분석가, 데이터 엔지니어 및 비즈니스 사용자와 같은 이해 관계자를 테스트 프로세스에 참여시킵니다. 이렇게 하면 테스트가 모든 이해 관계자에게 적절하고 가치가 있는지 확인하는 데 도움이 됩니다.
  • 문서 유지: 테스트, 테스트 사례 및 테스트 결과를 설명하는 문서를 유지 관리하는 것이 중요합니다. 이렇게 하면 시간이 지남에 따라 테스트를 복제하고 유지 관리할 수 있습니다.

조심하세요; 불안정한 기능을 변경하는 자동화는 피해야 합니다. 오늘날 알려진 비즈니스 도구 또는 일련의 방법/프로세스는 데이터 파이프라인의 완전한 종단 간 테스트로 간주될 수 없습니다. 

테스트 자동화 목표 고려

데이터 파이프라인 테스트 자동화는 도구를 사용하여 1) 테스트 실행, 2) 실제 결과와 예상 결과의 비교, 3) 테스트 사전 조건 설정 및 기타 테스트 제어 및 테스트 보고 기능. 

일반적으로 테스트 자동화에는 공식 테스트 프로세스를 사용하는 기존 수동 프로세스의 자동화가 포함됩니다.

수동 데이터 파이프라인 테스트는 많은 데이터 결함을 드러낼 수 있지만 힘들고 시간이 많이 걸립니다. 또한 수동 테스트는 특정 결함을 감지하는 데 비효율적일 수 있습니다. 

데이터 파이프라인 자동화에는 수동으로 수행해야 하는 테스트 프로그램 개발이 포함됩니다. 테스트가 자동화되면 빠르게 반복할 수 있습니다. 이는 서비스 수명이 긴 데이터 파이프라인에 가장 비용 효율적인 방법인 경우가 많습니다. 파이프라인 수명 동안 사소한 수정이나 개선 사항이 있어도 이전에 작동하던 기능이 중단될 수 있습니다.

데이터 파이프라인 개발에 자동화된 테스트를 통합하는 것은 고유한 일련의 과제를 제시합니다. 현재 자동화된 소프트웨어 개발 테스트 도구는 데이터베이스 및 데이터 파이프라인 프로젝트에 쉽게 적응할 수 없습니다. 

다양한 데이터 파이프라인 아키텍처는 데이터 추출, 변환, 로드, 데이터 정리, 데이터 집계 및 데이터 강화.

테스트 자동화 도구는 비용이 많이 들 수 있으며 일반적으로 수동 테스트와 함께 사용됩니다. 그러나 특히 회귀 테스트에서 반복적으로 사용되는 경우 장기적으로 비용 효율적일 수 있습니다.

테스트 자동화를 위한 빈번한 후보   

  • BI 보고서 테스트 
  • 비즈니스, 정부 규정 준수
  • 데이터 집계 처리
  • 데이터 정리 및 보관
  • 데이터 품질 테스트
  • 데이터 조정(예: 소스에서 대상으로)
  • 데이터 변환
  • 차원 테이블 데이터 로드
  • 종단 간 테스트
  • ETL, 이엘티 검증 및 검증 테스트
  • 팩트 테이블 데이터 로드 
  • 파일/데이터 로딩 확인
  • 증분 부하 테스트
  • 로드 및 확장성 테스트
  • 누락된 파일, 레코드, 필드
  • 성능 시험 
  • 참조 무결성
  • 회귀 테스트
  • 보안 테스트
  • 소스 데이터 테스트 및 프로파일링
  • 스테이징, ODS 데이터 검증 
  • 단위, 통합 및 회귀 테스트

처리의 복잡성과 확인해야 하는 소스 및 대상의 수로 인해 이러한 테스트 자동화가 필요할 수 있습니다. 

대부분의 프로젝트에서 데이터 파이프라인 테스트 프로세스는 데이터 품질을 확인하고 구현하도록 설계되었습니다.

오늘날 사용 가능한 다양한 데이터 유형은 테스트 문제를 제시합니다.

오늘날 사용 가능한 데이터 유형은 텍스트, 숫자 및 날짜와 같은 기존의 구조화된 데이터 유형에서 오디오, 이미지 및 비디오와 같은 비구조화된 데이터 유형에 이르기까지 다양합니다. 또한 웹 개발 및 데이터 교환에는 XML 및 JSON과 같은 다양한 유형의 반정형 데이터가 널리 사용됩니다.

사물인터넷(IoT)의 등장으로 센서 데이터, 위치 데이터, MXNUMXM(Machine-to-Machine) 통신 데이터 등 다양한 데이터 유형이 폭발적으로 증가했습니다. 이러한 데이터 유형이 추출되고 변환됨에 따라 적절한 도구가 없으면 테스트가 더 복잡해질 수 있습니다. 이로 인해 스트림 처리, 에지 컴퓨팅 및 실시간 분석과 같은 새로운 데이터 관리 기술 및 분석 기술이 등장했습니다.

그림 1은 오늘날 널리 사용되는 데이터 유형의 예를 보여줍니다. 방대한 숫자는 필요한 변환이 올바르게 수행되는지 여부를 테스트할 때 문제를 나타냅니다. 결과적으로 데이터 전문가는 광범위한 데이터 유형에 정통하고 새로운 트렌드와 기술을 테스트하는 데 적응할 수 있어야 합니다.

그림 1: 다양한 데이터 소스 및 데이터 대상의 예

가능한 자동화 테스트를 위한 파이프라인 구성 요소 평가

애자일 및 기타 최신 개발의 핵심 요소는 자동화된 테스트입니다. 이 인식을 데이터 파이프라인에 적용할 수 있습니다.

데이터 파이프라인 테스트의 필수 측면은 추가된 기능 및 유지 관리를 확인하기 위해 수행되는 테스트 수가 계속 증가한다는 것입니다. 그림 2 데이터 파이프라인에서 테스트 자동화를 적용할 수 있는 많은 영역을 보여줍니다..

그림 2: 데이터 파이프라인의 처음부터 끝까지 "핫스팟" 테스트

테스트 자동화를 구현할 때 데이터 파이프라인 처리를 통해 소스 레이어에서 데이터 파이프라인에 로드된 다음 마지막으로 프런트 엔드 애플리케이션 또는 보고서에 이르기까지 데이터를 추적할 수 있습니다. 프런트 엔드 애플리케이션 또는 보고서에서 손상된 데이터가 발견되었다고 가정합니다. 이 경우 자동화 제품군을 실행하면 개별 문제가 데이터 소스, 데이터 파이프라인 프로세스, 새로 로드된 데이터 파이프라인 데이터베이스/데이터 마트 또는 비즈니스 인텔리전스/분석 보고서에 있는지 여부를 보다 신속하게 판단하는 데 도움이 될 수 있습니다.

복잡한 데이터 파이프라인 아키텍처에서 데이터 및 성능 문제의 신속한 식별에 중점을 두어 개발 효율성을 높이고 빌드 주기를 단축하며 릴리스 기준 목표를 충족하기 위한 핵심 도구를 제공합니다.

자동화할 테스트 범주 결정

비결은 자동화해야 할 항목과 각 작업을 처리하는 방법을 결정하는 것입니다. 테스트를 자동화할 때 다음과 같은 일련의 질문을 고려해야 합니다.

  • 테스트 자동화 비용은 얼마입니까?
  • 테스트 자동화를 담당하는 사람은 누구입니까(예: Dev., QA, 데이터 엔지니어)?
  • 어떤 테스트 도구를 사용해야 합니까(예: 오픈 소스, 공급업체)?
  • 선택한 도구가 모든 기대치를 충족합니까?
  • 테스트 결과는 어떻게 보고됩니까?
  • 테스트 결과를 해석하는 사람은 누구입니까?
  • 테스트 스크립트는 어떻게 유지 관리됩니까?
  • 쉽고 정확한 액세스를 위해 스크립트를 어떻게 구성할 것인가? 

그림 3은 실제 프로젝트 경험에서 수동 및 자동화된 테스트 사례에 대한 기간(테스트 실행, 결함 식별 및 보고)의 예를 보여줍니다.

그림 3 : 수동 및 자동 테스트 실행 기간 비교.

자동화된 데이터 파이프라인 테스트는 데이터 파이프라인 로드를 위한 가장 중요한 기능인 소스 및 대상 데이터의 동기화 및 조정을 다루는 것을 목표로 합니다.

자동화 테스트의 이점과 한계

 테스트 자동화 과제

  • 보고서 테스트: 자동화를 통한 비즈니스 인텔리전스 또는 분석 보고서 테스트
  • 데이터 복잡성: 데이터 파이프라인 테스트에는 자동화하기 어렵고 전문 지식이 필요할 수 있는 복잡한 데이터 구조 및 변환이 포함되는 경우가 많습니다.
  • 파이프라인 복잡성: 데이터 파이프라인은 복잡할 수 있으며 테스트 및 디버깅이 어려울 수 있는 여러 처리 단계가 포함될 수 있습니다. 또한 파이프라인의 한 부분을 변경하면 다운스트림에서 의도하지 않은 결과가 발생할 수 있습니다.

테스트 자동화 이점

  • 테스트 케이스를 더 빠르게 실행: 자동화는 테스트 시나리오 구현 속도를 높일 수 있습니다.
  • 재사용 가능한 테스트 도구 모음을 만듭니다. 자동화 도구를 사용하여 테스트 스크립트를 실행하면 쉽게 불러오고 재사용할 수 있도록 백업할 수 있습니다.
  • 테스트 보고 용이성: 많은 자동화 도구의 흥미로운 기능은 보고서를 생성하고 파일을 테스트하는 기능입니다. 이러한 기능은 데이터 상태를 정확하게 나타내고 결함을 명확하게 식별하며 규정 준수 감사에 사용됩니다. 
  • 인력 및 재작업 비용 절감: 결함을 수정한 후 수동 테스트 또는 재테스트에 소요되는 시간은 IT 부서 내의 다른 이니셔티브에 사용될 수 있습니다.

잠재적 한계

  • 수동 테스트를 완전히 대체할 수 없음: 자동화는 다양한 어플리케이션과 테스트 케이스에 사용될 수 있지만, 수동 테스트를 완전히 대체할 수는 없습니다. 자동화가 모든 것을 캡처하지 못하는 복잡한 테스트 사례가 여전히 존재할 것이며 사용자 승인 테스트의 경우 최종 사용자가 수동으로 테스트를 수행해야 하는 경우가 많습니다. 따라서 프로세스에서 자동화 및 수동 테스트를 올바르게 조합하는 것이 중요합니다. 
  • 도구 비용: 상용 테스트 도구는 크기와 기능에 따라 비용이 많이 들 수 있습니다. 표면적으로 기업은 이를 불필요한 비용으로 볼 수 있습니다. 그러나 재사용만으로도 빠르게 자산이 될 수 있습니다. 
  • 교육 비용: 테스터는 프로그래밍뿐만 아니라 자동화된 테스트 예약에 대해서도 교육을 받아야 합니다. 자동화된 도구는 사용하기 복잡할 수 있으며 사용자 교육이 필요할 수 있습니다.
  • 자동화에는 계획, 준비 및 전용 리소스가 필요합니다. 자동화된 테스트의 성공은 주로 정확한 테스트 요구 사항과 테스트 시작 전 테스트 케이스의 신중한 개발에 달려 있습니다. 불행히도 테스트 사례 개발은 여전히 ​​주로 수동 프로세스입니다. 각 조직과 데이터 파이프라인 애플리케이션은 고유할 수 있으므로 많은 자동화된 테스트 도구가 테스트 사례를 생성하지 않습니다.

데이터 파이프라인 테스트 자동화 시작하기

모든 데이터 파이프라인 테스트가 자동화에 적합한 것은 아닙니다. 위의 상황을 평가하여 어떤 유형의 자동화가 테스트 프로세스에 도움이 되고 얼마나 필요한지 결정하십시오. 테스트 요구 사항을 평가하고 자동화된 테스트를 통해 달성할 수 있는 효율성 향상을 식별합니다. 회귀 테스트에 상당한 시간을 할애하는 데이터 파이프라인 팀이 가장 큰 혜택을 볼 것입니다. 

자동화된 테스트를 위한 비즈니스 사례를 개발합니다. IT는 먼저 가치를 비즈니스에 전달해야 합니다. 

옵션을 평가합니다. IT 부서 내에서 현재 상태와 요구 사항을 평가한 후 조직의 테스트 프로세스 및 환경에 맞는 도구를 결정합니다. 옵션에는 벤더, 오픈 소스, 내부 또는 혼합 도구가 포함될 수 있습니다. 

결론

테스트 자동화가 수동 테스트의 필수 대안이 되면서 점점 더 많은 기업이 자동화를 성공적으로 구현하기 위한 도구와 전략을 찾고 있습니다. 이로 인해 Appium, Selenium, Katalon Studio 등을 기반으로 하는 테스트 자동화 도구가 크게 성장했습니다. 그러나 데이터 파이프라인 및 데이터 엔지니어, BI 및 품질 보증 팀은 이러한 자동화 도구를 완전히 사용하기 위해 올바른 프로그래밍 기술을 가지고 있어야 합니다. 

많은 IT 전문가들은 테스터와 개발자 간의 지식 격차가 지속적으로 줄어들어야 하며 앞으로도 줄어들 것이라고 예측했습니다. 자동화된 데이터 파이프라인 테스트 도구는 기존의 수동 방법에 비해 코드 테스트에 소요되는 시간을 크게 줄일 수 있습니다.

데이터 파이프라인 개발 기능이 지속적으로 증가함에 따라 보다 포괄적이고 현대적인 자동 데이터 테스트에 대한 요구도 증가합니다.

타임 스탬프 :

더보기 데이터 버 시티