테스트 레벨
소프트웨어 개발수명주기(SDLC) 내에서 테스트 레벨
순차적 소프트웨어 개발수명주기(SDLC) : 한 레벨의 완료 조건이 다음 레벨의 시작 조건에 포함되도록 테스트 레벨을 정의
반복적 모델 : 개발 활동이 여러 테스트 레벨에 걸쳐 진행되고 시간이 지나면서 테스트 레벨이 서로 겹침
테스트 유형
컴포넌트 테스팅(단위 테스팅)
컴포넌트 통합 테스팅(단위 통합 테스팅)
시스템 테스팅
시스템 통합 테스팅
인수 테스팅
테스트 레벨의 구분 및 속성
기능 테스팅
비기능 테스팅
컴포넌트 또는 시스템의 기능 특성 이외의 속성을 평가하며, 시스템이 얼마나 잘 동작하는지를 테스트하는 것으로 주요 목적은 비기능 소프트웨어 품질 특성을 확인하는 것이다.
ISO/IEC 25010 표준에 따른 비기능 소프트웨어 품질 특성 분류
- 수행 효율성(Performance efficiency)
- 호환성(Compatibility)
- 유용성(Usability)
- 신뢰도(Reliability)
- 보안(Security)
- 유지 가능성(유지 관리성)(Maintainability)
- 이동성(Portability)
비기능 테스팅의 특징
블랙박스 테스팅
화이트박스 테스팅
소프트웨어를 변경하는 이유는 새로운 기능 추가 또는 결함 수정 때문이다. 이를 위해 확인 테스팅과 리그레션 테스팅이 필요하다.
확인 테스팅
리그레션 테스팅
어떤 테스트 레벨에서도 결함 수정이나 변경을 적용한 경우, 확인 테스팅과 리그레션 테스팅이 필요하다.
문제 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
해설(드래그)
리그레션 테스팅의 범위를 최적화하기 위해 영향도 분석을 수행하여 소프트웨어의 어느 부분이 영향을 받을 수 있는지 파악한다.