< Testing >
Thorough, automated testing can help uncover errors quickly
and make migrations go faster
철저하고 자동화된 테스트를 통해 오류를 빠르게 발견하고 마이그레이션을 더 빠르게 진행할 수 있음
- 데이터베이스가 올바르게 마이그레이션되었는지 확인
- 전체 테스트는 성공적인 마이그레이션을 촉진하고 프로세스 속도를 높일 수 있는 가장 확실한 방법
- 응용 프로그램이 새 서버에서 계속 작동하는지 확인
- 새 서버에 응용 프로그램의 요구 사항을 충족하기에 충분한 리소스가 있는지 확인
- 마이그레이션 프로세스를 시작하기 전에 도구와 스크립트가 제대로 작동하는지 확인
Testing database migrations can be grouped into three broad categories
테스트 데이터베이스 마이그레이션은 세 가지 범주로 그룹화할 수 있음
- 구조 테스트
- 기능 테스트
- 비기능 테스트
Structural testing validates that the schema of the migrated database
matches the source
구조 테스트는 마이그레이션된 데이터베이스의 스키마가 소스와 일치하는지 검증
- 구조 테스트로 간주되어야 하는 모든 것이 이동해야 성공적으로 이동된 것
- 모든 테이블 프로시저, 인덱스, 외래키, 트리거, 로그인 등이 가져와졌는지 확인하고
새 환경이 구조적으로 원래 쓰기 자동화 구조 테스트와 모든 테이블이 동일한지 확인 - 필드 데이터 유형, 길이, 제약 조건이 예상대로 마이그레이션 되었는지 확인
- 모든 인덱스가 생성되었는지 확인
- 기본 외래키 관계가 생성되었는지 확인
- 기본 및 외래키가 관련 테이블에 올바르게 일치하는지 확인
- 모든 저장 프로시저 및 트리거가 마이그레이션 되었는지 확인
- 사용자 로그인이 성공적으로 마이그레이션 되었는지 확인
Functional testing ensures that all data was migrated and all database functions
work as expected
기능 테스트는 모든 데이터가 마이그레이션되었고 모든 데이터베이스 기능이 예상대로 작동하는지 확인
- 모든 데이터가 올바르게 전달되었는지 확인
- 모든 뷰와 저장 프로시저가 의도한대로 작동하는지 확인
- 사용자가 로그인하여 의도한 것을 볼 수 있는지 확인
- 사용자가 허용된대로만 작업을 수행하고 데이터에 액세스할 수 있는지 확인
- 모든 것이 의도한대로 작동한다는 것을 알게 된 후에도 쿼리와 뷰가 계속해서 예상대로 반환하는지 확인
Non-functional testing ensures that the new database system meets
its business requirement
비기능 테스트를 통해 새 데이터베이스 시스템이 비즈니스 요구 사항을 충족하는지 확인
- 성능이 좋고 피크 사용 기간을 견딜 수 있는지 확인
- 부하 및 스트레스 테스트는 서버를 한계까지 밀어 의도된 작업 부하를 처리할 수 있는지 확인
- 중단되기 전에 얼마나 멀리 갈 것인지 확인해 더 많은 리소스를 서버에 할당해야하는지 여부를 결정