애플리케이션 테스트 수행

애플리케이션 테스트 수행

1.(Mock) 객체

 - 객체지향 프로그램에서 독립적인 컴포넌트 테스트를 위해서 스텁의 객체지향 버전목 객체가 필요

 

2. 목 객체 유형

유형 설명
더미 개체 객체만 필요하고 기능까지는 필요하지 않은 경우
테스트 스텁 제어 모듈호출하는 타 모듈의 기능 단순히 수행하는 도구
테스트 드라이버 테스트 대상 하위 모듈을 호출, 파라미터 전달, 모듈 테스트 수행 후 결과 도출
테스트 스파이 테스트 대상 클래스와 협력하는 클래스
가짜 객체 실체 협력 클래스의 기능을 대체해야 할 경우, 사용

 

3. 통합 테스트

 - 비점증적인 방식

    - 빅뱅 방식 : 모든 모듈을 동시에 통합 , 테스트

 - 점증적인 방식

    - 하향식 테스트 : 위에서 아래. 테스트 스텁 필요

    - 상향식 테스트 : 아래에서 위. 테스트 드라이버 필요

    - 샌드위치 통합 테스트 : 상향식 + 하향식 테스트, 병렬 테스트 가능

 

4. 테스트 자동화 도구

도구 설명
정적 분석 도구
(Static Analysis Tools)
- 만들어진 애플리케이션을 실행하지 않고 분석하는 도구
- 남은 결함을 발견하기 위하여 사용
테스트 실행 도구
(Test Execution Tools)
- 작성된 스크립트를 실행
성능 테스트 도구
(Performance Test Tools)
- 가상의 사용자를 생성하고 테스트를 수행
테스트 통제 도구
(Test Control Tools)
- 테스트 관리, 형상 관리, 결함 추적/관리 도구

동적 분석 도구(Dynamic Analysis Tools) : 프로그램 동작 or 반응추적하고 보고함. 프로그램 모니터, 스냅샷 생성

5. 테스트 하네스

 - 애플리케이션 컴포넌트 및 모듈을 테스트하는 환경의 일부분으로, 테스트를 지원하기 위한 코드와 데이터

 - 단위 or 모듈 테스트에 사용하기 위해 코드 개발자가 작성

 

6. 테스트 하네스 구성요소

구성요소 설명
테스트 드라이버 테스트 대상 하위 모듈을 호출, 파라미터 전달, 모듈 테스트 수행 후 결과 도출
테스트 스텁 제어 모듈호출하는 타 모듈의 기능 단순히 수행하는 도구
테스트 슈트 테스트 케이스의 집합
테스트 케이스 입력값, 실행 조건, 기대 결과 등의 집합
테스트 시나리오 애플리케이션의 테스트 되어야 할 기능 및 특징, 테스트가 필요한 상황을 작성한 문서
테스트 스크립트 자동화된 테스트 실행 절차에 대한 명세
목 오브젝트 사용자의 행위를 조건부로 사전 입력해 두면, 그 상황에 예정된 행위 수행