데이터 기반 프레임워크란 무엇인가?
데이터 기반 프레임워크(Data Driven Framework)는 테스트 스크립트 로직과 테스트 데이터를 분리하기 위해 사용되는 자동화 테스트 설계 방식입니다. 이 프레임워크에서는 파라미터화(Parameterization)를 활용하여 여러 조합의 데이터 세트로 동일한 테스트 스크립트를 반복 실행할 수 있습니다.
테스트 데이터는 엑셀(Excel), 액세스(Access), TXT 파일 등 별도의 외부 파일에 관리되며, 테스트 스크립트는 이러한 외부 파일과 연결되어 필요한 데이터를 가져옵니다. 이 프레임워크의 핵심 목적은 다양한 데이터 세트에 대해 테스트를 수행함으로써 테스트 케이스의 수를 줄이는 것입니다.
데이터 기반 프레임워크의 주요 특징
데이터 기반 프레임워크는 더 넓은 테스트 커버리지와 높은 재사용성을 제공하며, 유지 관리가 매우 용이합니다. 테스트 로직과 데이터가 서로 분리되어 있기 때문에, 테스트 데이터만 수정하면 테스트 실행이 가능하고 데이터 변경이 테스트 로직에 영향을 주지 않습니다.
다만, 데이터 기반 프레임워크를 개발하려면 숙련된 프로그래밍 지식이 필요합니다. 테스트 케이스는 엑셀, CSV, TXT, XML 등 외부 리소스에서 필요한 입력 데이터를 읽어와 키-값(Key-Value) 쌍 형태의 변수에 저장합니다. 실제 실행 단계에서 이 변수들은 입력값과 검증 지점(Checkpoint) 두 가지 역할을 동시에 수행합니다.
프레임워크 구축 시 필수 요소
데이터 기반 프레임워크에서는 외부 파일에서 데이터를 효율적으로 읽고 쓰기 위한 프로그래밍 기법이 반드시 필요합니다. 구축 과정은 크게 다음 두 단계로 나눌 수 있습니다.
- 테스트 데이터와 예상 결과(Expected Results)가 포함된 외부 파일을 설정하고 구축합니다.
- 외부 파일의 데이터를 테스트 스크립트에 공급하는 메커니즘을 개발합니다.
실무에서는 Selenium과 함께 Apache POI(엑셀 처리), OpenCSV(CSV 처리) 같은 라이브러리를 활용해 외부 데이터 소스와의 연동을 구현하는 경우가 많습니다.
데이터 기반 프레임워크의 장점
- 테스트 스크립트 수 감소: 여러 조합의 데이터를 활용해 시나리오를 커버할 수 있으므로, 개발해야 할 테스트 스크립트의 수가 크게 줄어듭니다.
- 코드 변경 불필요: 테스트 데이터 입력을 수정하더라도 코드 변경 없이 테스트를 수행할 수 있습니다.
- 확장성과 유지보수성: 확장하기 쉽고 유지 관리가 간편합니다.
- 유연한 데이터 조합 테스트: 하나 이상의 데이터 세트를 다양한 조합으로 활용하여 어떤 기능이든 테스트할 수 있습니다.