테스트 레벨
- 함께 구성하고 관리하는 테스트 활동 집합
- 특정 개발 단계의 소프트웨어와 관련된 테스트 프로세스의 인스턴스
- 단계에 따라 소프트웨어는 개별 컴포넌트부터 완성된 시스템, 경우에 따라 시스템의 시스템까지 포함
소프트웨어 개발수명주기(SDLC) 내에서 테스트 레벨
*순차적 소프트웨어 개발수명주기(SDLC) : * 한 레벨의 완료 조건이 다음 레벨의 시작 조건에 포함되도록 테스트 레벨을 정의
*반복적 모델 : * 개발 활동이 여러 테스트 레벨에 걸쳐 진행되고 시간이 지나면서 테스트 레벨이 서로 겹침
테스트 유형
- 특정 품질 특성 관련 테스트 활동의 집합
- 대부분 모든 테스트 레벨에서 수행 가능
2.2.1 테스트 레벨
컴포넌트 테스팅(단위 테스팅)
- 개별 컴포넌트 테스트
- 테스트 하네스 또는 단위 테스트 프레임워크 필요
- 주로 개발자가 수행
컴포넌트 통합 테스팅(단위 통합 테스팅)
- 컴포넌트 간 인터페이스와 상호작용 테스트
- 상향식, 하향식, 빅뱅 등의 통합 전략 적용
*시스템 테스팅 *
- 전체 시스템의 동작과 기능 테스트
- 기능 테스팅과 비기능 테스팅 포함
- 실제 환경에서 수행, 독립 테스트팀이 수행 가능
*시스템 통합 테스팅 *
- 다른 시스템 또는 외부 서비스와의 인터페이스 테스트
- 운영 환경과 유사한 테스트 환경 사용
인수 테스팅
- 사용자의 비즈니스 요구사항 충족 여부 확인
- 실제 사용자가 수행하는 것이 이상적
- 유형: 사용자 인수 테스팅(UAT), 운영 인수 테스팅, 계약 및 규제 인수 테스팅, 알파 테스팅, 베타 테스팅
테스트 레벨의 구분 및 속성
- 테스트 대상
- 테스트 목적
- 테스트 베이시스
- 결함과 장애
- 접근법과 역할
2.2.2 테스트 유형
기능 테스팅
- 컴포넌트 또는 시스템이 수행해야 하는 기능을 평가
- 기능은 테스트 대상이 무엇을 해야 하는지를 의미
- 주요 목적: 기능 성숙도, 기능 정확성, 기능 타당성 확인
비기능 테스팅
컴포넌트 또는 시스템의 기능 특성 이외의 속성을 평가하며, 시스템이 얼마나 잘 동작하는지를 테스트하는 것으로 주요 목적은 비기능 소프트웨어 품질 특성을 확인하는 것이다.
ISO/IEC 25010 표준에 따른 비기능 소프트웨어 품질 특성 분류
- 수행 효율성(Performance efficiency)
- 호환성(Compatibility)
- 유용성(Usability)
- 신뢰도(Reliability)
- 보안(Security)
- 유지 가능성(유지 관리성)(Maintainability)
- 이동성(Portability)
비기능 테스팅의 특징
- 수명주기 초기에 비기능 테스팅을 시작하는 것이 바람직
- 기능 테스트에서 비기능 테스트를 도출하기도 함
- 기능이 수행되는 동안 비기능 제약 조건의 충족 여부를 확인
- 비기능 결함을 늦게 발견하면 프로젝트 성공에 심각한 위협
- 특수한 테스트 환경이 필요한 경우도 있음
블랙박스 테스팅
- 명세를 기반으로 테스트 대상 외부에 있는 문서에서 테스트 도출
- 주요 목적: 명세와 비교해 시스템의 동작을 확인
화이트박스 테스팅
- 시스템의 구현 또는 내부 구조에서 테스트 도출
- 주요 목적: 내부 구조를 인수에 필요한 수준까지 충분히 커버
2.2.3. 확인 테스팅 및 리그레션 테스팅
소프트웨어를 변경하는 이유는 새로운 기능 추가 또는 결함 수정 때문이다. 이를 위해 확인 테스팅과 리그레션 테스팅이 필요하다.
확인 테스팅
- 원래 결함이 성공적으로 수정되었는지 확인
- 리스크에 따라 여러 방법으로 수정된 소프트웨어 버전을 테스트:
- 결함으로 인해 실패했던 모든 테스트 케이스 실행
- 결함 수정 사항을 확인하는 새로운 테스트 추가
- 시간이나 비용이 부족할 경우, 장애가 재현되지 않는지 확인하는 것만으로 끝날 수 있음
리그레션 테스팅
- 변경으로 인한 부정적 영향이 없었는지 확인
- 부정적 영향은 변경된 컴포넌트 자체, 같은 시스템의 다른 컴포넌트, 연결된 다른 시스템에 영향을 미칠 수 있음
- 리그레션 테스팅은 테스트 대상뿐만 아니라 환경과도 관련이 있을 수 있음
- 리그레션 테스팅의 범위를 최적화하기 위해 영향도 분석 수행 권장
- 리그레션 테스트 스위트는 반복적으로 실행되며, 자동화에 적합
- 데브옵스와 같은 지속적 통합 사용 시, 자동 리그레션 테스트 포함 권장
- 여러 테스트 레벨에서 리그레션 테스트 수행 가능
어떤 테스트 레벨에서도 결함 수정이나 변경을 적용한 경우, 확인 테스팅과 리그레션 테스팅이 필요하다.
예상문제
문제 1: 컴포넌트 테스팅의 주요 목적은 무엇인가?
A) 시스템 간의 인터페이스 테스트
B) 전체 시스템의 전반적인 동작과 기능 테스트
C) 개별 컴포넌트의 기능 테스트
D) 사용자의 비즈니스 요구사항 충족 여부 확인
정답(드래그)
C
해설(드래그)
컴포넌트 테스팅은 컴포넌트를 개별적으로 테스트하는데 중점을 둔다.
A. 시스템 간의 인터페이스 테스트 => 시스템 통합 테스팅
B. 전체 시스템의 전반적인 동작과 기능 테스트 => 시스템 테스팅
D. 사용자의 비즈니스 요구사항 충족 여부 확인 => 인수 테스팅
문제 2: 시스템 테스팅의 주요 특징으로 옳지 않은 것은?
A) 전체 시스템의 전반적인 동작과 기능에 중점을 둔다
B) 독립 테스트팀이 수행할 수 있다
C) 시스템 간의 인터페이스 테스트를 수행한다
D) 기능 테스팅과 비기능 테스팅을 포함한다
정답(드래그)
C
해설(드래그)
시스템 간의 인터페이스 테스트를 수행한다 => 시스템 통합 테스팅의 특징이다.
문제 3: 인수 테스팅의 주요 목적은 무엇인가?
A) 컴포넌트 간의 상호작용을 테스트
B) 시스템이 사용자의 비즈니스 요구사항을 충족하는지 확인
C) 소프트웨어의 내부 구조를 테스트
D) 시스템 간의 인터페이스를 테스트
정답(드래그)
B
해설(드래그)
인수 테스팅은 시스템이 사용자의 비즈니스 요구사항을 충족하는지 확인하는 데 중점을 두는 테스팅 이다.
문제 4: 비기능 테스팅의 주요 목적은 무엇인가?
A) 컴포넌트 간의 상호작용을 테스트
B) 소프트웨어의 기능 특성을 평가
C) 소프트웨어가 얼마나 잘 동작하는지 평가
D) 시스템 간의 인터페이스를 테스트
정답(드래그)
C
해설(드래그)
비기능 테스팅은 시스템이 얼마나 잘 동작하는지를 평가하며, 성능, 호환성, 유용성 등 비기능 소프트웨어 품질 특성을 확인하는 데 중점을 둔다.
문제 5: ISO/IEC 25010 표준에 따른 비기능 소프트웨어 품질 특성에 해당하지 않는 것은?
A) 수행 효율성(Performance efficiency)
B) 호환성(Compatibility)
C) 기능 성숙도(Functionality maturity)
D) 보안(Security)
정답(드래그)
C
해설(드래그)
기능 성숙도는 기능 테스팅의 주요 목적 중 하나이며, ISO/IEC 25010 표준에 따른 비기능 소프트웨어 품질 특성에는 포함되지 않는다.
문제 6: 블랙박스 테스팅의 주요 목적은 무엇인가?
A) 소프트웨어의 내부 구조를 테스트
B) 명세와 비교해 시스템의 동작을 확인
C) 시스템 간의 인터페이스를 테스트
D) 사용자의 비즈니스 요구사항을 충족하는지 확인
정답(드래그)
B
해설(드래그)
블랙박스 테스팅은 명세를 기반으로 하여 시스템의 동작을 외부에서 확인하는 테스팅 기법이다.
문제 7: 화이트박스 테스팅의 주요 목적은 무엇인가?
A) 소프트웨어의 외부 동작을 테스트
B) 명세와 비교해 시스템의 동작을 확인
C) 내부 구조를 인수에 필요한 수준까지 충분히 커버
D) 사용자의 비즈니스 요구사항을 충족하는지 확인
정답(드래그)
C
해설(드래그)
화이트박스 테스팅은 소프트웨어의 내부 구조를 테스트하며, 내부 구조를 인수에 필요한 수준까지 충분히 커버하는 것이 주요 목적인 테스팅이다.
문제 8: 확인 테스팅의 주요 목적은 무엇인가?
A) 새로운 기능을 추가하기 위해 테스트
B) 원래 결함이 성공적으로 수정되었는지 확인
C) 시스템의 전반적인 동작을 테스트
D) 소프트웨어의 외부 동작을 테스트
정답(드래그)
B
해설(드래그)
확인 테스팅은 원래 결함이 성공적으로 수정되었는지 확인하는 것
문제 9: 리그레션 테스팅의 주요 목적은 무엇인가?
A) 새로운 기능을 추가하기 위해 테스트
B) 원래 결함이 성공적으로 수정되었는지 확인
C) 변경으로 인한 부정적 영향이 없는지 확인
D) 소프트웨어의 외부 동작을 테스트
정답(드래그)
C
해설(드래그)
리그레션 테스팅은 소프트웨어 변경으로 인한 부정적 영향이 없는지 확인하는 것
문제 10: 리그레션 테스팅의 범위를 최적화하기 위해 수행하는 것은?
A) 확인 테스팅
B) 영향도 분석
C) 블랙박스 테스팅
D) 화이트박스 테스팅
정답(드래그)
B
해설(드래그)
리그레션 테스팅의 범위를 최적화하기 위해 영향도 분석을 수행하여 소프트웨어의 어느 부분이 영향을 받을 수 있는지 파악한다.
'ISTQB > CTFL' 카테고리의 다른 글
ISTQB 2장 예상 문제 (1) | 2024.10.06 |
---|---|
ISTQB CTFL - 2.3. 유지보수 테스팅 (0) | 2024.10.06 |
ISTQB CTFL - 2.1 소프트웨어 개발수명주기(SDLC)에서의 테스팅 (4) | 2024.10.06 |
ISTQB CTFL - 1.3 테스팅의 원리 (1) | 2024.10.04 |
ISTQB CTFL - 1.4. 테스트 활동, 테스트웨어, 테스트 역할 (1) | 2024.10.04 |