통합 테스트
01. 통합 테스트
1) 통합 테스트의 개념
- 소프트웨어 각 모듈 간의 인터페이스 관련 오류 및 결함을 찾아내기 위한 체계적인 테스트 기법
- 통합 테스트의 목적은 단위 테스트가 끝난 모듈 또는 컴포넌트 단위의 프로그램이 설계 단계에서 제시한 동일한 구조와 기능으로 구현된 것인지를 확인하는 것
- 통합 테스트는 설계 명세서와 통합된 프로그램과의 차이를 확인하는 것
2) 통합 테스트 순서
- 통합 테스트 케이스 설계
- 단위 테스트 케이스를 비즈니스 시나리오에 따라 여러 개로 연결하여 통합 테스트 케이스를 만듦
- 통합 테스트 케이스는 사용자 요구사항을 기준으로 작성함
- 통합 테스트 데이터 준비
- 통합 테스트 데이터는 운영 데이터베이스에서 일부 추출하여 테스트 데이터를 만듦
- 보안을 위하여 테스트 데이터에서 개인정보는 스크램블링 함
- 스크램블링(Scrambling)
- 권한 없는 사용자의 접근을 막기 위하여 데이터를 자신만의 방법으로 암호화하는 것
- 스크램블링(Scrambling)
- 통합 테스트 수행 및 결과 확인
- 한 달 이전부터 현재까지의 데이터를 프로그램에 그대로 입력시켜 레거시와 비교 검사함
- 재현 테스트라고도 함
- 테스트 케이스에 따라 데이터를 입력하고 예상 결과를 비교함
- 결함 등록
- 테스트 결과가 예상 결과와 다를 경우 결함 등록을 함
- 결함 등록 시 결함 화면을 캡처함
- 테스트 결과 보고 및 종료
- 통합 테스트가 완료되면 결과를 집계하고 보고한 후 종료함
3) 통합 테스트 수행 방법
- 점증적인 방식
- 개발된 모듈이나 컴포넌트 중 일부를 테스트하고, 점차적으로 늘려가면서 테스트함
- 상향식 통합과 하향식 통합 방식으로 구분
- 드라이버나 스터브를 사용하여 테스트함
- 빅뱅 방식(비 점증적인 방식)
- 모든 컴포넌트를 사전에 통합하여 전체 프로그램을 한꺼번에 테스트함
- 드라이버나 스터브 없이 실제 모듈르 테스트할 수 있음
- 단시간 테스트에 적당하고 작은 시스템에 유리함
- 장애 위치 파악이 어려우며 모든 모듈이 개발되어야 테스트가 가능함
02. 점증적인 통합 테스트
1) 하향식 통합(Top Down) 테스트
1. 하향식 통합 테스트의 개념
- 메인 제어 모듈로부터 아래 방향으로 제어의 경로를 따라 이동하면서 하향싱으로 통합하면서 테스트함
- 메인 제어 모듈에 통합되는 하위 모듈과 최하위 모듈은 '깊이 - 우선' 또는 '너비 - 우선' 방식으로 통합됨
2. 하향식 통합 테스트 순서
- 메인 제어 모듈은 작성된 프로그램을 사용하고, 아직 작성되지 않은 하위 제어 모듈 및 모든 하위 컴포넌트를 대신하여 더미 모듈인 스터브(Stub)를 개발함
- '깊이 - 우선' 방식 또는 '너비 - 우선' 방식에 따라, 하위 모듈인 스터브가 한 번에 하나씩 실제 모듈로 대체함
- 각 모듈 또는 컴포넌트를 통합하면서 테스트함
- 테스트가 완료되면 스터브는 실제 모듈 또는 컴포넌트로 대체함
2) 상향식 통합(Bottom Up) 테스트
1. 상향식 통합 테스트의 개념
- 애플리케이션 구조에서 최하위 레벨의 모듈 또는 컴포넌트로부터 위쪽 방향으로 제어의 경로를 따라 이동하면서 테스트함
2. 상향식 통합 테스트 순서
- 최하위 레벨의 모듈 또는 컴포넌트들이 하위 모듈의 기능을 수행하는 클러스터(Cluster)로 결합함
- 상위의 모듈에서 데이터의 입력과 출력을 확인하기 위한 더미 모듈인 드라이버(Driver)를 작성함
- 통합된 클러스터 단위를 테스트함
- 테스트가 완료되면 각 클러스터들은 프로그램의 위쪽으로 결합되며, 드라이버는 실제 모듈 또는 컴포넌트로 대체함
3) 하향식 통합과 상향식 통합 테스트의 비교
하향식 통합 테스트 | 상향식 통합 테스트 |
---|---|
테스트할 때 프로그램 전체를 실행할 수 있음 | 테스트할 때 프로그램 전체를 실행할 수 없음 |
테스트할 때 독립적은 구조를 가짐 | 테스트할 때 독립적인 구조를 갖지 못함 |
가짜 모듈(Stub)이 필요함 | 가짜 모듈(Stub)이 필요 없음 |
드라이버(시험 가동기)가 필요 없음 | 드라이버(시험 가동기)가 필요함 |
하위 모듈 그룹(클러스터) 형성이 필요 없음 | 하위 모듈 그룹(클러스터) 형성이 필요함 |
중요 모듈을 우선 테스트할 때 부적당함 | 중요 모듈을 우선 테스트할 때 적당함 |
'정보처리기사 > 소프트웨어 개발' 카테고리의 다른 글
애플리케이션 테스트 관리 5 (0) | 2023.05.23 |
---|---|
애플리케이션 테스트 관리 4 (0) | 2023.05.23 |
애플리케이션 테스트 관리 2 (0) | 2023.05.23 |
애플리케이션 테스트 관리 1 (0) | 2023.05.23 |
제품 소프트웨어 패키징 4 (0) | 2023.05.23 |