데이터베이스 테스트 – 유형

데이터베이스의 기능과 구조에 따라 DB 테스트는 세 가지 범주로 분류 할 수 있습니다.

  • Structural Database Testing − 테이블 및 열 테스트, 스키마 테스트, 저장 프로 시저 및 뷰 테스트, 트리거 확인 등을 다룹니다.

  • Functional Testing− 사용자 관점에서 데이터베이스의 기능을 확인하는 작업입니다. 가장 일반적인 유형의 기능 테스트는 화이트 박스 및 블랙 박스 테스트입니다.

  • Nonfunctional Testing − 여기에는 부하 테스트, 데이터베이스의 위험 테스트, 스트레스 테스트, 최소 시스템 요구 사항 및 데이터베이스 성능 처리가 포함됩니다.

구조적 데이터베이스 테스트

구조적 데이터베이스 테스트에는 최종 사용자에게 노출되지 않는 데이터베이스 구성 요소를 확인하는 작업이 포함됩니다. 여기에는 데이터를 저장하는 데 사용되며 최종 사용자가 변경하지 않는 저장소의 모든 구성 요소가 포함됩니다. SQL 저장 프로 시저 및 기타 개념에 대한 좋은 명령을 가진 데이터베이스 관리자는 일반적으로이 테스트를 수행합니다.

논의는 구조 테스트와 관련하여 테스트 된 일반적인 구성 요소입니다-

스키마 / 매핑 테스트

데이터베이스 개체 매핑을 사용하여 프런트 엔드 응용 프로그램의 개체를 확인하는 작업이 포함됩니다.

스키마 테스트에서-

  • 최종 사용자 응용 프로그램 개체가 올바르게 매핑되지 않았거나 데이터베이스 개체와 호환되지 않는 경우가 있습니다. 따라서 데이터베이스와 관련된 다양한 스키마 형식의 유효성을 검사해야합니다.

  • 테이블, 뷰, 열 등과 같은 데이터베이스에서 매핑되지 않은 개체를 찾아야합니다.

스키마에서 개체 매핑을 수행하는 데 사용할 수있는 다양한 도구가 시장에 있습니다.

Example − Microsoft SQL Server에서 테스터는 데이터베이스의 스키마를 확인하고 유효성을 검사하기 위해 간단한 쿼리를 작성할 수 있습니다.

테스터가 테이블 구조를 변경하려는 경우 모든 stored 해당 테이블이있는 프로시 저는이 변경 사항과 호환됩니다.

저장 프로 시저 및 뷰 테스트

이 테스트에서 테스터는 저장 프로 시저 및 뷰를 수동으로 실행하여 필요한 결과를 생성하는지 확인합니다.

테스터는-

  • 필요한 트리거가 예상대로 실행되도록하는 경우.

  • 개발 팀이 절차의 응용 프로그램에 입력을 전달하여 모든 루프와 조건을 다룬 경우.

  • 데이터베이스에 사용되지 않은 저장 프로 시저가있는 경우

  • TRIM 연산은 데이터베이스의 필수 테이블에서 데이터를 가져올 때 제대로 적용됩니다.

  • 테스트중인 애플리케이션의 요구 사항에 따라 스토어드 프로 시저 모듈의 전체 통합 유효성 검증.

  • 예외 및 오류 처리 메커니즘을 따릅니다.

저장 프로 시저 테스트를 수행하는 데 사용되는 가장 일반적인 도구는 다음과 같습니다. LINQ, SP Test tool

트리거 테스트

트리거 테스트에서 테스터는 다음 사항을 확인해야합니다.

  • 트리거의 코딩 단계에서 코딩 규칙을 따르는 지 여부.

  • 실행 된 트리거가 필요한 조건을 충족하는지 확인하십시오.

  • 트리거가 실행 된 후 데이터를 올바르게 업데이트하는지 여부.

  • 업데이트 / 삽입 / 삭제의 유효성 검사는 테스트중인 애플리케이션의 기능을 트리거합니다.

테이블 및 컬럼 테스트

이 테스트에서 다루는 주요 영역은 다음과 같습니다.

  • 데이터베이스의 데이터 유형을 프런트 엔드 애플리케이션의 필드 값에 대한 유효성을 검사합니다.

  • 데이터베이스의 데이터 필드 길이를 애플리케이션의 데이터 유형 길이로 검증합니다.

  • 응용 프로그램 필드 개체의 데이터베이스에 매핑되지 않은 테이블이나 열이 있는지 확인합니다.

  • 데이터베이스 테이블 및 열의 명명 규칙이 비즈니스 요구 사항에 부합하는지 여부가 확인됩니다.

  • 데이터베이스의 키 및 인덱스 유효성 검사, 즉 테이블의 기본 및 외래 키는 요구 사항에 따라 정의됩니다.

  • 기본 키와 해당 외래 키가 두 테이블에서 동일한 지 확인하십시오.

  • 키의 Unique 및 NOT NULL 특성이 유지되는지 확인하십시오.

  • 키와 인덱스의 길이와 데이터 유형은 요구 사항에 따라 유지됩니다.

데이터베이스 서버 확인

데이터베이스 서버 검사는 확인을 포함합니다-

  • 데이터베이스 서버가 비즈니스 요구 사항에 따라 예상되는 트랜잭션 수를 처리 할 수 ​​있는지 여부.

  • 데이터베이스 서버의 구성 세부 사항이 비즈니스 요구 사항을 충족하는 경우.

  • 사용자 권한이 요구 사항에 따라 유지되는 경우.

기능 테스트

기능 테스트는 최종 사용자의 관점을 염두에두고 수행됩니다. 최종 사용자가 실행하는 필수 트랜잭션 및 작업이 비즈니스 사양을 충족하는지 여부.

블랙 박스 테스트

블랙 박스 테스트는 기능을 확인하기 위해 데이터베이스 통합을 확인하는 작업을 포함합니다. 테스트 케이스는 간단하며 함수에서 들어오는 데이터와 나가는 데이터를 확인하는 데 사용됩니다.

원인-효과 그래프 기법, 등가 분할 및 경계 값 분석과 같은 다양한 기법을 사용하여 데이터베이스의 기능을 테스트합니다.

이것의 advantages 다음과 같습니다-

  • 매우 간단하며 개발 초기 단계에서 수행됩니다.
  • 테스트 케이스 개발 비용은 화이트 박스 테스트에 비해 저렴합니다.

단점은 다음과 같습니다-

  • 몇 가지 오류를 감지 할 수 없습니다.
  • 얼마나 많은 프로그램을 테스트해야하는지 알 수 없습니다.

화이트 박스 테스트

White Box Testing은 데이터베이스의 내부 구조를 다루며 사양 세부 사항은 사용자에게 숨겨집니다. 여기에는 데이터베이스 리팩토링을 지원할 데이터베이스 트리거 및 논리적 뷰 테스트가 포함됩니다.

데이터베이스 기능, 트리거, 뷰, SQL 쿼리 등의 모듈 테스트를 수행합니다. 이러한 유형의 테스트는 데이터베이스 테이블, 데이터 모델, 데이터베이스 스키마 등의 유효성을 검사합니다. 참조 무결성 규칙을 확인합니다. 데이터베이스 일관성을 확인하기 위해 기본 테이블 값을 선택합니다.

화이트 박스 테스트를 수행하는 데 사용되는 가장 일반적인 기술은 조건 범위, 의사 결정 범위, 진술 범위 등입니다.

화이트 박스 테스트에서 코딩 오류를 감지 할 수 있으므로 데이터베이스의 내부 버그를 제거 할 수 있습니다. 화이트 박스 테스트의 한계는 SQL 문이 적용되지 않는다는 것입니다.

비 기능 테스트

비 기능적 테스트에는 부하 테스트, 스트레스 테스트, 비즈니스 사양을 충족하기위한 최소 시스템 요구 사항 확인, 위험 찾기 및 데이터베이스 성능 최적화가 포함됩니다.

부하 테스트

로드 테스트의 기본 목표는 실행중인 대부분의 트랜잭션이 데이터베이스 성능에 영향을 미치는지 확인하는 것입니다.

부하 테스트에서 테스터는 다음 사항을 확인합니다.

  • 여러 원격 사용자에 대한 트랜잭션 실행에 대한 응답 시간입니다.
  • 데이터베이스에서 특정 레코드를 가져 오는 데 걸린 시간입니다.

Examples of load testing in different testing types

  • 가장 많이 사용되는 트랜잭션을 반복적으로 실행하여 데이터베이스 시스템의 성능을 확인합니다.
  • 인터넷에서 일련의 대용량 파일을 다운로드합니다.
  • 컴퓨터 또는 서버에서 동시에 여러 응용 프로그램을 실행합니다.

스트레스 테스트

시스템 중단 점을 식별하기 위해 스트레스 테스트가 수행됩니다. 이 테스트에서는 시스템이 한 지점에서 실패하는 방식으로 애플리케이션이로드됩니다. 이 지점은breakpoint 데이터베이스 시스템의.

데이터베이스 트랜잭션의 상태를 확인하려면 상당한 노력이 필요합니다. 시간 및 비용 기반 문제를 방지하려면 적절한 계획이 필요합니다.

가장 일반적으로 사용되는 스트레스 테스트 도구는 다음과 같습니다. LoadRunnerWinRunner.

우리가 example스트레스 테스트. CRM 응용 프로그램은 최대 50000 명의 동시 사용자를 수용 할 수 있습니다. 로드를 51000으로 늘리고 레코드 업데이트 또는 항목 추가와 같은 일부 트랜잭션을 수행한다고 가정하십시오. 트랜잭션을 수행하자마자 애플리케이션이 데이터베이스 시스템과 동기화 될 수 있습니다. 따라서 다음 테스트는 52000의 사용자 부하로 수행하는 것입니다. 때로는 스트레스 테스트라고도합니다.Fatigue Testing.