[QA]테스트 데이터 관리
[QA]테스트 데이터 관리
# 테스트 데이터
개요
소프트웨어 테스트를 수행할 때 입력값으로 사용.
테스트 실행 시 시스템이 예상대로 작동하는지 검증하는 핵심 요소임.
테스트 데이터는 입력값, 처리 과정, 예상 결과를 포함하여 테스트 시나리오를 구성함.
역할
- 테스트 실행의 성공률을 높이고 오류를 사전에 발견할 수 있도록 도움
- 자동화 테스트에서 재현성을 보장하여 테스트 품질을 향상
- 실제 운영 환경과 유사한 데이터를 제공하여 실용적인 테스트 가능
중요성
- 일관된 테스트 실행을 보장
- 신뢰성 높은 테스트 결과를 확보
- 테스트 실패 시 원인 분석이 용이
- 운영 데이터와 분리하여 보안 및 데이터 무결성 유지
테스트 데이터 유형
| 유형 | 정적 데이터 | 동적 데이터 |
|---|---|---|
| 정의 | 미리 정의된 값, 항상 동일한 데이터 사용 | 테스트 실행 시마다 생성되는 값 |
| 장점 | - 테스트 결과 일관성 유지 - 디버깅 용이 | - 현실적인 시나리오 검증 가능 - 다양한 입력값 테스트 가능 |
| 단점 | - 실제 데이터 반영 어려움 - 유연성 부족 | - 매번 다른 결과 발생 가능 - 디버깅 어려움 |
| 예시 | CSV, JSON, YAML 파일 | 랜덤 ID, 현재 날짜, API 응답값 |
테스트 데이터 저장 방식
1. 로컬 파일 (CSV, JSON, XML 등)
✅ 장점: 간단한 설정, 빠른 액세스
❌ 단점: 확장성 부족, 데이터 공유 어려움
2. 데이터베이스 (SQL, NoSQL)
✅ 장점: 대량 데이터 관리 가능, 복잡한 쿼리 활용 가능
❌ 단점: 설정 복잡, 속도 저하 가능
3. 클라우드 스토리지 (AWS S3, Firebase 등)
✅ 장점: 글로벌 접근 가능, 백업 및 확장 용이
❌ 단점: 보안 이슈 발생 가능, 속도 제한
테스트 데이터 격리의 중요성
- 운영 환경과 분리하지 않으면 데이터 충돌 위험 발생
- 보안 문제 방지 (운영 데이터 유출 위험 차단)
- 운영 데이터를 오염시키지 않도록 관리
테스트 데이터 격리 방법
| 방법 | 설명 |
|---|---|
| 별도 테스트 데이터베이스 활용 | 운영 데이터베이스와 테스트용 DB를 분리 |
| 가짜 데이터(Mock Data) 사용 | 운영 데이터를 사용하지 않고 테스트용 가상 데이터 생성 |
| 환경 변수 기반 데이터 분리 | 개발, QA, 운영 환경별 데이터 설정 분리 |
| 테스트 후 데이터 정리 | 테스트 종료 후 데이터 자동 삭제 |
테스트 데이터 재사용
✅ 이점:
- 테스트 실행 속도를 최적화하고 불필요한 데이터 생성을 방지
- 일관된 테스트 환경을 유지하여 신뢰성 확보
- 테스트 실행 시마다 동일한 데이터 구조 활용 가능
테스트 데이터 재사용 방법
(예시)
- Snapshots (스냅샷): 특정 시점의 데이터를 저장하고 필요할 때 복원하는 방법
- Rollback (롤백): 테스트 실행 후 데이터베이스 상태를 원래대로 되돌리는 방법
- Seed 데이터: 미리 정의된 데이터를 테스트 실행 전 로드하는 방식 (시드 코드 기역!)
This post is licensed under CC BY 4.0 by the author.
