데이터 기반 테스트

Data-driven testing

데이터 구동 테스트(DDT)는 테스트 환경 설정 및 제어가 어렵지 않은 프로세스뿐만 아니라 테스트 입력 및 검증 가능한 출력으로 직접 조건 표를 사용하여 수행되는 테스트를 설명하기 위해 컴퓨터 소프트웨어 테스트에 사용되는 소프트웨어 테스트 방법입니다.-coded.[1][2] 가장 간단한 형태로 시험실무자는 표의 행에서 입력을 제공하고 동일한 행에서 발생하는 출력을 예상합니다.테이블에는 일반적으로 경계 또는 파티션 입력 공간에 해당하는 값이 포함되어 있습니다.제어방법론에서 테스트 구성은 데이터베이스에서 "읽기"됩니다.

서론

소프트웨어 또는 프로그램테스트에서는, 이 테스트를 실장하기 위해서 몇개의 방법론을 사용할 수 있습니다.이러한 각 방법은 작성과 이후 유지보수에 필요한 작업이 다르기 때문에 공존합니다.데이터 기반 테스트의 장점은 새로운 파티션이 발견되거나 테스트 대상 제품 또는 시스템에 추가되었을 때 테이블에 입력을 쉽게 추가할 수 있다는 것입니다.또한 데이터 기반 테스트 프로세스에서는 테스트 환경 설정 및 제어가 하드 코딩되지 않습니다.비용 측면에서는 DDT가 자동화에는 저렴하지만 수동 테스트에는 비용이 많이 듭니다.

방법론의 개요

데이터 기반 테스트는 프레임워크에서 관련 데이터 세트와 함께 실행할 테스트 스크립트를 작성하는 것입니다.이 프레임워크는 유지보수를 줄이고 테스트 범위를 개선하기 위해 재사용 가능한 테스트 로직을 제공합니다.입력 및 결과(테스트 기준) 데이터 값은 하나 이상의 중앙 데이터 소스 또는 데이터베이스에 저장할 수 있으며 실제 형식, 구성 및 도구는 구현에 따라 다를 수 있습니다.

데이터는 입력 값과 출력 검증 값 모두에 사용되는 변수로 구성됩니다.고도의 (성숙한) 자동화 환경에서는 특정 목적에 맞게 제작된 커스텀 툴 또는 순이퍼를 사용하여 실행 중인 시스템에서 데이터를 수집할 수 있으므로 DDT 프레임워크는 수집된 데이터를 재생하여 강력한 자동 회귀 테스트 툴을 생성합니다.

자동 테스트 스위트에는 반복 가능한 테스트를 위해 시스템의 GUI를 통한 사용자 조작이 포함되어 있습니다.각 테스트는 "이전" 이미지 참조 데이터베이스의 복사본으로 시작합니다."사용자 상호 작용"은 "새로운" GUI 버전을 통해 재생되며 "테스트 후" 데이터베이스가 생성됩니다.참조 "테스트 후" 데이터베이스는 [3]도구를 사용하여 "테스트 후" 데이터베이스와 비교됩니다.차이는 퇴행 가능성이 있음을 보여준다.

프로그램 탐색, 데이터 소스 읽기, 테스트 상태 및 정보 로깅은 모두 테스트 스크립트에 코딩되어 있습니다.

데이터 주도형

환경, 엔드포인트, 테스트 데이터, 장소 등의 요소를 포함한 변경 가능성이 있는 것은 모두 테스트 로직(스크립트)에서 분리하여 '외부 자산'으로 이동합니다.구성 또는 테스트 데이터 집합일 수 있습니다.스크립트에서 실행되는 로직은 데이터 값에 의해 결정됩니다.

키워드 중심 테스트는 테스트 케이스 자체의 로직이 일련의 "액션 워드" 형식으로 데이터 값으로 인코딩되며 테스트 스크립트에 포함되거나 "하드 코드화"되지 않는다는 점을 제외하고는 유사합니다.스크립트는 데이터 소스에 보관되어 있는 데이터의 「드라이버」(또는 전달 메카니즘)에 지나지 않습니다.

데이터 기반 테스트에 사용되는 데이터베이스는 다음과 같습니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "golang/go TableDrivenTests". GitHub.
  2. ^ "JUnit 5 User Guide". junit.org.
  3. ^ http://www.diffkit.org/
  • 칼 나글:테스트 자동화 프레임워크 [1], SourceForge에서의 소프트웨어 자동화 프레임워크 지원 [2], 데이터 기반 테스트 접근법 [3]