정보처리기사 필기 2과목 - 소프트웨어 개발 : 테스트 레벨
[1] 테스트 레벨
- 애플리케이션 테스트는 개발 단계에 따라 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트, 설치 테스트로 분류하며 이런 단계를 테스트 레벨이라고 함
1. 단위 테스트 (Unit Test)
- 소프트웨어 설계의 최소 단위인 모듈이나 컴포넌트를 테스트
- 사용자의 요구사항을 기반으로 한 기능성 테스트를 최우선으로 수행
- 인터페이스 테스트, 자료 구조 테스트, 수행 경로 테스트, 오류 처리 테스트, 경계 테스트
- 명세 기반 테스트, 구조 기반 테스트 중 주로 구조 기반 테스트를 시행
* 명세 기반 테스트 / 구조 기반 테스트
- 명세 기반 테스트 : 주어진 명세를 빠짐없이 테스트 케이스로 구현하고 있는지 확인하는 테스트
- 구조 기반 테스트 : 소프트웨어 논리 흐름에 따라 테스트 케이스를 작성하고 확인하는 테스트
자세한 사항 ▼
2023.01.30 - [정보처리기사 필기] SW 개발 : 애플리케이션 테스트의 유형
[정보처리기사 필기] SW 개발 : 애플리케이션 테스트의 유형
정보처리기사 필기 2과목 - 소프트웨어 개발 : 애플리케이션 테스트의 유형 (= 소프트웨어 테스트의 유형) [1] 시각에 따른 테스트 1. 검증(Verification) - 제품의 생산 과정을 테스트 ▶올바른 제품을
yuna-story.tistory.com
2. 통합 테스트 (Integration Test) ⭐⭐
- 단위 테스트가 완료된 모듈들을 결합하여 하나의 시스템으로 완성시키는 과정에서의 테스트를 의미
- 단위 테스트 후 모듈들의 조합을 위한 인터페이스 오류 발견을 테스트
- 모듈 간 또는 통합된 컴포넌트 간의 상호 작용 오류 검사
하향식 통합 (Top-down Integration) |
- 상위 모듈을 하위 모듈보다 먼저, 중요 모듈을 우선적으로 테스트 - GL과 같은 Menu-Driven 화면 구성 방식에서 많이 사용 - 깊이 우선 통합법, 넓이 우선 통합법 사용 - 테스트 초기부터 사용자에게 시스템 구조를 보여줄 수 있음 but, 상위 모듈에서는 테스트 케이스를 사용하기 어려움 * 주요 제어 모듈은 작성된 프로그램을 사용, 주어 제어 모듈의 종속 모듈(아직 작성되지 않은 하위 제어 모듈 및 모든 하위 컴포넌트)은 스텁(Stub)으로 대체 ▶ 깊이 우선 또는 넓이 우선 등의 통합 방식에 따라 하위 모듈인 스텁(Stub)들이 한 번에 하나씩 실제 모듈로 교체됨 ▶ 모듈 또는 컴포넌트가 통합될 때마다 테스트 실시 ▶ 새로운 오류가 발생하지 않음을 보증하기 위해 회귀 테스트 실시 * 회귀 테스트 : 수정으로 새로운 결합 발생 가능성에 대비하여 이미 실시했던 테스트 사례들의 전부 혹은 일부를 재시도하는 테스트 |
상향식 통합 (Bottom-up Integration) |
- 하위 모듈을 상위 모듈보다 먼저, 입/출력 관련 모듈을 우선적으로 테스트 (소프트웨어 구조의 최하위부터 점진적으로 모듈들을 통합시켜 나아가는 방식) - 테스트 DRIVEN 작성 필요 - 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터(Cluster) 필요 * 최하위 레벨의 모듈 또는 컴포넌트 들이 하위 모듈의 기능을 수행하는 클러스터(Cluster)로 결합 ▶ 상위의 모듈에서 데이터의 입력과 출력을 확인하기 위한 더미 모듈인 드라이버(Dirver) 작성 ▶ 통합된 클러스터 단위로 테스트 ▶ 테스트 완료 후 클러스터는 프로그램 구조의 상위로 이동해 결합하고, 드라이버는 실제 모듈이나 컴포넌트로 대체됨 ⭐ |
샌드위치형 통합 (Sandwidch Integration, 혼합식 통합 테스트) |
- 하향식과 상향식 통합 방식을 절충한 방식 - 하위 수준에서는 상향식 통합, 상위 수준에서는 하향식 통합을 사용해 최적의 테스트를 지원하는 방식 - 우선적으로 통합을 시도할 중요 모듈들의 선정 후, 그 모듈을 중심으로 통합 수행 |
[3] 시스템 테스트 (System Test)
- 개발된 소프트웨어가 해당 컴퓨터 시스템에서 완벽하게 수행되는가를 점검하는 테스트
- 실제 사용 환경과 유사하게 만든 테스트 환경에서 테스트틀 수행해야 함
- 기능적 요구사항(블랙박스 테스트), 비기능적 요구사항(화이트박스 테스트) 구분
회복 테스트 (Regression Test) | - 회복이 시스템에 의해 자동으로 수행되고 재초기화, 데이터 회복, 재시작 방법 등에 의해 정상적으로 회복되는지를 평가 - 운영체제, DBMS, 통신용 소프트웨어 등의 완전성 테스트에 중요 |
안전 테스트 (Security Test) | - 해커 등의 불법적인 침투로부터 시스템을 보호하는지에 대한 검증 테스트 |
강도 테스트 (Stress Test) | - 비정상적인 값, 양, 빈도 등의 스트레스에 대한 수행 상태를 테스트 |
민감도 테스트 (Sensitivity Test) | - 정상적인 입력 중 불안정하고 부적절한 결과를 일으키는 데이터의 조합을 검출 |
성능 테스트 (Performance Test) | - 통합 시스템의 효율성을 진단하기 위해 실행 시간을 테스트 - 자원 이용, 처리 시간, 요구된 응답 등의 반응 성능 테스트 |
[4] 인수 테스트 (Acceptance Test)
- 개발한 소프트웨어가 사용자의 요구사항을 충족하는지에 중점을 두는 테스트
알파 테스트 | - 특정 사용자들에 의해 개발자 관점에서 수행되며, 개발자는 사용상의 문제를 기록하여 반영되도록 하는 테스트 - 통제된 환경에서 사용자가 개발자와 함께 확인하면서 행하는 테스트 기법 |
베타 테스트 | - 선정된 다수의 사용자가 자신들의 사용 환경에서 일정 기간 사용해 보면서 문제점이나 개선 사항 등을 기록하고 개발 조직에 통보하여 반영되도록 하는 테스트 - 통제되지 않은 환경에서 여러 명의 사용자가 행하는 테스트 기법 |
[5] 설치 테스트 (Installation Test)
- 사용자 환경에 설치하는 과정중에 나타날 수 있는 결함을 발견할 목적으로 수행
- 파일의 분배나 적재, 하드웨어 구성, 소프트웨어 구성, 타 소프트웨어와의 연결 문제 등을 평가
'자격증 > 정보처리기사 필기' 카테고리의 다른 글
[정보처리기사 필기] SW 개발 : 애플리케이션 성능 (0) | 2023.01.31 |
---|---|
[정보처리기사 필기] SW 개발 : 결함 관리 (0) | 2023.01.30 |
[정보처리기사 필기] SW 개발 : 테스트 케이스 / 테스트 시나리오 / 테스트 오라클 / 테스트 하네스 (0) | 2023.01.30 |
[정보처리기사 필기] SW 개발 : 애플리케이션 테스트의 유형 (0) | 2023.01.30 |
[정보처리기사 필기] SW 개발 : 애플리케이션 테스트 (0) | 2023.01.30 |