2017-09-13 5 views
0

ETL 프로세스에 대한 합리적인 테스트를 작성하려고합니다.ETL 테스트 데이터 세트/프레임 워크

참조/테스트 섭취 데이터 세트가 필요하다고 생각합니다. 나는 클라이언트 데이터를 사용하고 싶지 않다. (이것은 다른 대안이다.)

그러면이 테스트 데이터 세트에서 현재 ETL을 실행하여 참조 변환을 얻습니다. 이렇게하면 소스 코드가 변경되면 ETL에서 현재 생성되는 항목에 대한 참조를 테스트하고 회귀가 생성되지 않았는지 확인할 수 있습니다.

이 방법이 올바른지 잘 모르겠습니다. 예를 들어 소스 코드에서 변환이 변경되면 참조 변환과 비교되는 테스트가 올바르게 실패합니다. 우리는 그 변환에 대한 새로운 참조 변환 데이터 세트를 만들어야 할 것입니다. 한 팀의 팀이 변형을 개별적으로 변경하기 시작하면이 과정이 매우 복잡해집니다.

궁극적으로 테스트 데이터 세트를 생성하고 변형을 테스트하는 방법이 필요합니다. 어떤 아이디어?

+1

테스트 데이터 세트를 생성 한 다음 현재 ETL 최종 결과와 비교하기보다는 ETL이 따라야하는 로직에 따라 최종 결과를 검증하는 테스트 세트를 생성합니다. 테스트는 특정 결과를 찾는 SQL 쿼리와 같은 것이 될 수 있으며 자동화 될 수 있습니다. 이와 같은 테스트에는 많은 노력이 필요하며 추가 시간이 필요합니다. 테스트 데이터 시나리오와 테스트 자체를 만들어야합니다. 그러나 그것은 귀하의 ETL이해야 할 일을하는지 확인하는데 도움이됩니다. – Rich

답변

0

가능한 모든 변환 결과에 대해 적어도 하나의 행을 포함하는 테스트 데이터 세트를 작성하십시오. 이 테스트 데이터 세트를 모든 ETL 테스트 실행의 소스로 사용합니다. 새로운 변환이나 버그가 나타나면 테스트 데이터 세트에 행을 추가하여 해당 변환을 처리하십시오.

ETL 대상에서 소스 데이터 세트의 변환을 확인하는 테스트를 작성하십시오. 완전한 코드 적용을 보장하기 위해 모든 변환 결과에 대한 테스트가 필요합니다. 테스트 데이터 세트가 알려지고 일관성있는 소스이기 때문에 테스트는 항상 예측 가능한 결과를 가져야합니다.

자동 ETL 테스트는 복잡하지 않지만 설정이 복잡하고 시간이 오래 걸릴 수 있습니다. 또한 유지 관리하기 위해 매우 훈련 된 개발 팀이 필요합니다. 행운을 빕니다.