Notice
Recent Posts
Recent Comments
Link
250x250
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
Tags
- MIPS
- 정렬
- ROS2
- sort
- 회전 복잡도
- 네트워크 충돌
- segmentation
- Linux
- Java
- 소스 코드 품질 분석
- 정보처리기사
- humble
- homogeinous
- robotics
- 알고리즘
- homogenous
- SQL
- 컴퓨터구조
- 정처기
- 맥케이브
- sam2
- 합병
- 명령어
- 리눅스
- AI
- Computer
- 기구학
- Coding
- 3dof
- CentOS
Archives
- Today
- Total
UTF-404
통합 테스트에 대해 알아보기!! 본문
728x90
💡 통합 테스트(Integration Test) 개념
- 통합 테스트는 애플리케이션 통합 테스트는 소프트웨어 각 모듈 간의 인터페이스 관련 오류 및 결함을 찾아내기 위한 테스트이다.
- 단위 테스트가 끝난 모듈 또는 컴포넌트 단위의 프로그램이 설계 단계에서 제시한 애플리케이션과 동일한 구조와 기능으로 구현된 것인지를 확인하는 것이다.
💡 통합 테스트 수행 방법의 분류
📍 하향식 통합 테스트(Top Down Integration Test)
- 하향식 통합 테스트는 메인 제어 모듈(프로그램)로부터 아래 방향으로 제어의 경로를 따라 이동하면서 하향식으로 통합하는 테스트이다.
- 메인 제어 모듈에 통합되는 하위 모듈과 최하위 모듈은 '깊이-우선' 또는 '너비-우선' 방식으로 통합된다.
📎 하향식 통합 테스트 수행 단계
단계 | 설명 |
1단계 | 메인 제어 모듈은 작성된 프로그램을 사용하고, 아직 작성되지 않은 하위 모듈을 제어함 |
2단계 | 위에서 아래로 내려오기 때문에 검사 초기에 시스템의 구조가 파악되어야 함 |
3단계 | 모듈 및 모든 하위 컴포넌트를 대신하여 더미 모듈인 스텁 개발 |
4단계 | 깊이-우선 방식 또는 너비-우선 방식에 따라, 하위 모듈인 스텁이 한 번에 하나씩 실제 모듈로 대체 |
5단계 | 각 모듈 또는 컴포넌트를 통합하면서 테스트 수행 |
6단계 | 테스트가 완료되면 스텁이 실제 모듈 또는 컴포넌트로 작성 |
📌 스텁(Test Stub)
- 하향식 통합시험을 위해 일시적으로 필요한 조건만을 가지고 임시로 제공되는 시험용 모듈이다.
- 모든 하위 모듈 및 컴포넌트를 대신하는 더미 모듈로 상위 모듈에 의해 호출되는 하위 모듈의 역할을 한다.
📍 상향식 통합 테스트(Bottom Up Integration Test) 개념
- 상향식 통합 테스트는 애플리케이션 구조에서 최하위 레벨의 모듈 또는 컴포넌트로부터 점진적으로 상위 모듈과 함께 테스트하는 기법이다.
📎 상향식 통합 테스트 수행 단계
단계 | 설명 |
1단계 | 하위 레벨의 모듈 또는 컴포넌트들이 하위 모듈의 기능을 수행하는 클러스터(Cluster)로 결합 |
2단계 | 상위의 모듈에서 데이터의 입력과 출력을 확인하기 위한 더미 모듈인 드라이버 작성 |
3단계 | 각 통합된 클러스터 단위 테스트 |
4단계 | 테스트가 완료되면 각 클러스터들은 프로그램의 위쪽으로 결합되며, 드라이버는 실제 모듈 또는 컴포넌트로 대체 |
📌 드라이버(Driver)
- 상향식 통합시험을 위해 테스트의 대상이 되는 하위 모듈을 호출하는 상위의 모듈로 필요에 따라 파라미터를 전달하는 가상의 모듈이다.
- 상위의 모듈에서 데이터의 입력과 출력을 확인하기 위한 모듈이다.
💡 통합 테스트 수행 방법 간 비교
테스트 방안 | 빅뱅 | 상향식 | 하향식 |
테스트 수행 방법 |
∙ 모든 모듈을 동시에 통합한 후 테스트 수행 | ∙ 최하위 모듈부터 점진적으로 상위 모듈과 함께 테스트 | ∙ 최상위 모듈부터 하위 모듈들을 통합하면서 테스트 |
드라이버/ 스텁 |
∙ 드라이버/스텁 없이 실제 모듈로 테스트 | ∙ 테스트 드라이버 필요 | ∙ 테스트 스텁 필요 |
장점 | ∙ 단시간 테스트 가능 ∙ 작은 시스템에 유리 |
∙ 장애 위치 파악 쉬움 ∙ 모든 모듈 개발 시간 낭비 필요 없음 |
∙ 장애 위치 파악 쉬움 ∙ 이른 프로토타입 가능 ∙ 중요 모듈의 선 테스트 가능 |
단점 | ∙ 장애 위치 파악이 어려움 ∙ 모든 모듈이 개발되어야 가능 |
∙ 중요 모듈들이 마지막 테스트 가능성 높음 ∙ 이른 프로토타입 어려움 |
∙ 많은 스텁이 필요 ∙ 하위 모듈들의 불충만한 테스트 수행 |
- 상향식 통합 테스트와 하향식 통합 테스트 방식을 결합한 샌드위치 통합 테스트 방식도 있다.
- 샌드위치 통합 테스트는 하위 프로젝트가 있는 큰 규모의 통합 테스트에서 사용하는 방식이고, 병렬 테스트와 시간 절약이 가능하다.
728x90
'정보처리기사' 카테고리의 다른 글
해싱함수와 검색 알고리즘 (0) | 2024.03.06 |
---|---|
알고리즘에 대해 알아보기!! (0) | 2024.02.29 |
테스트 지식 체계에 대해 알아보기(2) (0) | 2024.02.28 |
테스트 지식 체계에 대해 알아보기(1) (1) | 2024.02.28 |
국제 표준 제품 품질 특성이란? (0) | 2024.02.27 |