데이터베이스 테스트 – 기술
이 장에서는 데이터베이스 테스트를 수행하는 데 사용되는 가장 일반적인 기술에 대해 설명합니다.
데이터베이스 스키마 테스트
앞서 언급했듯이 스키마의 각 개체를 테스트하는 작업이 포함됩니다.
데이터베이스 및 장치 확인
- 데이터베이스 이름 확인
- 데이터 장치, 로그 장치 및 덤프 장치 확인
- 각 데이터베이스에 충분한 공간이 할당되었는지 확인
- 데이터베이스 옵션 설정 확인
테이블, 열, 열 유형 규칙 확인
아래 항목을 확인하여 실제 설정과 적용된 설정의 차이점을 확인하십시오.
데이터베이스의 모든 테이블 이름
각 테이블의 열 이름
각 테이블의 열 유형
NULL 값 확인 여부
기본값이 올바른 테이블 열에 바인딩되었는지 여부
테이블 이름 및 액세스 권한을 수정하기위한 규칙 정의
키 및 인덱스
각 테이블의 키와 인덱스 확인-
각 테이블의 기본 키
각 테이블의 외래 키
외래 키 열과 다른 테이블 인덱스의 열 사이의 데이터 유형 클러스터형 또는 비 클러스터형 고유 또는 고유하지 않음
저장 프로 시저 테스트
저장 프로 시저가 정의되어 있고 출력 결과가 비교되는지 확인하는 작업이 포함됩니다. 저장 프로 시저 테스트에서 다음 사항이 확인됩니다.
저장 프로 시저 이름
매개 변수 이름, 매개 변수 유형 등
Output− 출력에 많은 레코드가 포함되어 있는지 여부. 0 행이 적용되거나 몇 개의 레코드 만 추출됩니다.
저장 프로 시저의 기능은 무엇이며 저장 프로 시저가 수행하지 않아야하는 작업은 무엇입니까?
저장 프로 시저가 올바른 데이터를 추출하는지 확인하기 위해 샘플 입력 쿼리를 전달합니다.
Stored Procedure Parameters− 경계 데이터와 유효한 데이터로 저장 프로 시저를 호출합니다. 각 매개 변수를 한 번 무효화하고 프로 시저를 실행하십시오.
Return values− 저장 프로 시저에서 반환 된 값을 확인합니다. 실패한 경우 0이 아닌 값을 반환해야합니다.
Error messages check− 저장 프로 시저가 실패하는 방식으로 변경하고 적어도 한 번 모든 오류 메시지를 생성합니다. 사전 정의 된 오류 메시지가없는 경우 예외 시나리오를 확인하십시오.
트리거 테스트
트리거 테스트에서 테스터는 다음 작업을 수행해야합니다.
- 트리거 이름이 올바른지 확인하십시오.
- 트리거가 특정 테이블 열에 대해 생성 된 경우 유효성을 검증하십시오.
- 트리거의 업데이트 유효성 검사.
- 유효한 데이터로 레코드를 업데이트하십시오.
- 잘못된 데이터로 레코드를 업데이트하고 모든 트리거 오류를 처리합니다.
- 다른 테이블의 행에서 여전히 참조되는 레코드를 업데이트합니다.
- 실패가 발생하면 트랜잭션을 롤백하십시오.
- 트리거가 트랜잭션을 롤백하지 않아야하는 경우를 찾으십시오.
서버 설정 스크립트
두 가지 유형의 테스트를 수행해야합니다.
- 처음부터 데이터베이스 설정
- 기존 데이터베이스를 설정합니다.
SQL Server의 통합 테스트
통합 테스트는 구성 요소 테스트를 마친 후에 수행해야합니다.
저장 프로시 저는 충돌과 비 호환성을 찾기 위해 여러 테이블의 레코드를 선택, 삽입, 업데이트 및 삭제하기 위해 집중적으로 호출해야합니다.
스키마와 트리거 간의 충돌.
저장 프로 시저와 스키마 간의 충돌
저장 프로 시저와 트리거 간의 충돌
기능 테스트 방법
기능에 따라 데이터베이스를 모듈로 분할하여 기능 테스트를 수행 할 수 있습니다. 기능은 다음 두 가지 유형입니다-
Type 1− Type 1 테스트에서 프로젝트의 기능을 찾으십시오. 각 주요 기능에 대해 해당 기능을 구현하고 기능 그룹에 넣을 책임이있는 스키마, 트리거 및 저장 프로 시저를 찾습니다. 그런 다음 각 그룹을 함께 테스트하십시오.
Type 2− 유형 2 테스트에서 백엔드의 기능 그룹 경계가 명확하지 않습니다. 데이터 흐름을 확인하고 데이터를 확인할 수있는 위치를 확인할 수 있습니다. 프런트 엔드에서 시작하십시오.
다음 프로세스가 발생합니다-
서비스에 요청이 있거나 데이터를 저장할 때 일부 저장 프로 시저가 호출됩니다.
이 절차는 일부 테이블을 업데이트합니다.
이러한 저장 프로시 저는 테스트를 시작하는 장소가되고 해당 테이블은 테스트 결과를 확인하는 장소가됩니다.
스트레스 테스트
스트레스 테스트에는 주요 데이터베이스 기능 및 해당 저장 프로 시저 목록을 가져 오는 작업이 포함됩니다. 스트레스 테스트를 위해 아래에 주어진 단계를 따르십시오-
테스트 스크립트를 작성하여 이러한 기능을 시도하고 모든 기능은 전체주기에 한 번 이상 확인해야합니다.
특정 기간 동안 테스트 스크립트를 반복해서 수행하십시오.
로그 파일을 확인하여 교착 상태, 메모리 부족, 데이터 손상 등을 확인합니다.
벤치 마크 테스트
데이터베이스에 데이터 문제 나 버그가없는 경우 시스템 성능을 확인할 수 있습니다. 아래에 주어진 매개 변수를 확인하여 벤치 마크 테스트에서 시스템 성능 저하를 찾을 수 있습니다.
- 시스템 수준 성능
- 가장 많이 사용되는 기능 / 특징 식별
- 타이밍 – 기능을 수행하는 최대 시간, 최소 시간 및 평균 시간
- 액세스 볼륨
프런트 엔드를 통해 데이터베이스 테스트
백엔드 버그는 때때로 프런트 엔드 테스트를 수행하여 찾을 수 있습니다. 아래에 제공된 간단한 단계에 따라 프런트 엔드 테스트를 통해 버그를 감지 할 수 있습니다.
프런트 엔드에서 쿼리를 작성하고 검색을 실행합니다.
기존 레코드를 선택하고 일부 필드의 값을 변경하고 레코드를 저장합니다. (UPDATE 문 또는 업데이트 저장 프로 시저 및 업데이트 트리거가 포함됩니다.)
프런트 엔드 창에 새 메뉴 항목을 삽입합니다. 정보를 입력하고 기록을 저장하십시오. (INSERT 문 또는 삽입 저장 프로 시저 및 삭제 트리거가 포함됩니다.)
기존 레코드를 선택하고 DELETE 또는 REMOVE 버튼을 클릭 한 다음 삭제를 확인합니다. (DELETE 문 또는 삭제 저장 프로 시저 및 삭제 트리거가 포함됩니다.)
유효하지 않은 데이터로 이러한 테스트 케이스를 반복하고 데이터베이스가 어떻게 응답하는지 확인하십시오.