Hello

[정처기 필기] 테스트 자동화, 테스트하네스, 통합방식

by 볼빵빵오춘기

테스트 자동화 도구

  • 애플리케이션 개발 중 반복되는 다양한 테스트 과정을 HW/SW 적으로 자동화 도구를 사용하고 일관성 및 생산성을 향상시키는 도구이다.
  • 테스트 관리, 소스 코드 리뷰 및 인스펙션, 테스트 설계 및 개발, 테스트 수행 등 테스트에 포함되는 다양한 과정을 자동으로 지원하는 도구이다.

 

테스트 자동화 도구의 유형

정적 분석 도구

  • 프로그램을 실행하지 않고 소스 코드 분석을 통해 결함을 발견하는 도구
  • 코딩 표준, 코딩 스타일, 코딩 복잡도, 남은 결함 등을 발견하기 위해 사용한다.

테스트 실행 도구

  • 스크립트 언어를 사용하여 테스트를 실행하는 방법으로서 테스트 데이터와 수행 방법 등이 포함된 스크립트를 작성한 후 실행한다.

성능 테스트 도구

  • 애플리케이션의 처리량, 응답 시간, 경과 시간, 자원 사용률에 대해 가상의 사용자를 생성하고 테스트를 수행함으로써 성능 목표를 달성하였는지를 확인하는 테스트 자동화 도구이다.

테스트 통제 도구

  • 테트스 계획 및 관리, 수행, 결함 관리 등을 수행한다.

테스트 하네스 도구

  • SW 컴포넌트의 테스트를 가능하게 하거나 프로그램의 입력을 받아들이거나 빠진 컴포넌트의 기능을 대신하거나 실행 결과와 예상 결과를 비교하기 위하여 동원된 SW 도구이다.

 

테스트 하네스 도구 구성 요소

테스트 스텁(Tset Stub)

  • 상위 모듈에서 하위 모듈 방향으로 통합 테스트를 진행하는 하향식 테스트에서 사용한다.
  • 상위 모듈에서 하위 모듈로의 테스트를 진행하는 과정 중 하위 시스템 컴포넌트의 개발이 완료되지 않은 상황에서 시스템 테스트를 진행하기 위하여 임시로 생성된 가상의 더미 컴포넌트를 일컫는다.

테스트 드라이버(Test Driver)

  • 하위 모듈에서 상위 모듈로 통합하면서 테스트하는 상향식 테스트에서 사용한다.
  • 테스트할 소프트웨어 또는 시스템을 제어하고 동작시키는데 사용되는 도구를 의만다.
  • 시스템 및 시스템 컴포넌트를 시험하는 환경의 일부분으로 시험을 지원하는 목적하에 생성된 코드와 데이터이다.
  • 일 예로 순차적 실행을 지원하는 프로그램이나 명령들이 묶여 있는 배치 파일이 있다.

테스트 슈트(Test Suites)

  • 일정한 순서에 의하여 수행될 개별 테스트들의 집합 또는 패키지이다.
  • 슈트는 응용 분야나 우선순위, 내용에 연관된다.

테스트 케이스(Test Case)

  • 요구에 맞게 개발되었는지 확인하기 위하여 테스트할 입력과 예상 결과를 정의한 것이다.
  • 테스트 자동화를 도입하면 테스트 케이스는 데이터 레코드로 저장될 수 있고 테스트 스크립트로 정의할 수 있다.

테스트 스크립트(Test Script)

  • 테스트 케이스를 수행하여 그 결과를 보고할 목적으로 명령어 또는 이벤트 중심의 스크립트 언어로 작성한 파일로 수행경로에 영향을 미칠 논리 조건들을 포함하고 있다.

목 오브젝트(Mock Object)

  • 테스트를 위해 사용자 행위를 미리 조건부로 입력해 두고 그 상황에 맞는 행위를 수행하는 객체이다.

 

통합 방식

하향식 통합

  • 상위 컴포넌트를 테스트하고 점증적으로 하위 컴포넌트를 검사합니다.
  • 주요 제어 모듈 기준으로 아래로 통합하며 집행한다.
  • 하위 컴포넌트 개발이 완료되지 않은 경우 스템을 사용하기도 한다.
  • 우선 통합법, 깊이 우선 통합법, 너비 우선 통합법 등이 있다.
  • 하위 레벨 모듈들은 특정한 소프트웨어 부가 기능을 수행하는 클러스터들에 결합된다.

상향식 통합

  • 프로그램 구조에서 최하위 레벨인 모듈을 구성하고 상모듈 방향으로 통합하며 검사한다.
  • 가장 하위 단계의 모듈부터 수행되므로 스터브가 필요 없으나 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터가 필요한다.

블로그의 정보

Hello 춘기's world

볼빵빵오춘기

활동하기