정보처리기사

★ 018 애플리케이션 테스트 관리[통합테스트]

로춘남 2020. 6. 2. 18:22
728x90

1. 통합 테스트(Intergration Test)

- 단위 테스트가 완료 된 모듈을 통합하는 과정에서 발생하는 오류 및 결함을 찾는 테스트

 

비점진적 통합 방식

- 단계적으로 통합하는 절차 없이 모든 모듈이 미리 결합되어 있는 프로그램 전체를 테스트

- 규모가 작은 SW에 유리하고, 단시간 내에 테스트가 가능

- 전체 프로그램을 대상으로 하기 때문에 오류 발견 및 장애 위치 파악과 수정이 어려움

 

1) 빅뱅 통합 테스트

- 모듈간의 상호 인터페이스를 고려하지 않고, 단위 테스트가 끝난 모듈을 한 번에 결합시켜 테스트

- 소규모 프로그램 또는 프로그램 일부만 테스트 할 때 사용

 

점진적 통합방식

- 모듈 단위로 단계적으로 통합하면서 테스트 진행

- 오류 수정이 용이하고 인터페이스와 연관된 오류를 완전히 테스팅 할 가능성이 높음

 

1) 하향식(Top-Down)통합 테스트

- 프로그램 상위 모듈에서 하위 모듈 방향으로 통합을 진행하면서 테스트

- 아래로 이동(DFS, BFS 사용) 하면서 주요 제어 모듈을 기준으로 통합 진행

- 테스트 초기부터 사용자에게 시스템 구조를 보여줄 수 있다는 특징

- 상위 모듈에서는 테스트 케이스를 사용하기 어려움

- 절차

a) 주요 제어 모듈은 작성된 프로그램을 사용, 종속 모듈은 스텁으로 대체

※ 테스트 스텁(Test Stub): 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구, 일시적으로 필요한 조건만 가지는 시험용 모듈

b) DFS/BFS 등의 통합 방식에 따라 하위 모듈인 스텁들이 하나씩 실제 모듈로 교체

c) 모듈들이 통합 될 때마다 테스트 실시

d) 회귀 테스트를 실시해 새로운 오류가 발생하지 않음을 보증

※ 회귀 테스트: 이미 테스트 된 프로그램의 테스팅을 반복하는 것. 통합 테스트로 인해 변경된 모듈이나 컴포넌트에 새로운 오류가 있는지 확인하는 테스트

 

2) 상향식(Down-Top) 통합 테스트

- 프로그램 하위 모듈에서 상위 모듈 방향으로 통합하면서 테스트하는 기법

- 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터(Cluster)가 필요

- 절차

a) 하위 모듈들을 클러스터로 결합

b) 상위 모듈에서 데이터의 입출력 확인을 위해 드라이버 작성

※ 테스트 드라이버(Test Driver): 더미 모듈, 테스트 드라이버는 테스트 대상의 하위 모듈을 호출하고, 파라미터를 전달하고, 모듈 테스트 수행 후 결과를 도출하는 도구

c) 통합된 클러스터 단위로 테스트 진행

d) 테스트 완료 후 클러스터는 프로그램 구조의 상위로 이동하여 결합하고 드라이버를 실제 모듈로 대체

 

2. 혼합식 통합 테스트

- 하위 수준에서는 상향식 통합, 상위 수준에서는 하향식 통합을 사용하여 최적의 테스트를 지원하는 방식으로, 샌드위치식 통합 테스트 방식이라고도함.

 

3. 회귀 테스팅(Regression Testing)

- 이미 테스트 된 프로그램의 테스팅을 반복하는 것

- 통합 테스트로 인해 변경된 모듈이나 컴포넌트에 새로운 오류가 있는지 확인하는 테스트

- 수정한 모듈/컴포넌트가 다른 부분에 영향을 주는지, 오류가 발생했는지 테스트하여 새로운 문제가 발생하지 않음을 보증하기 위한 반복 테스트

- 시간과 비용이 많이 들기 때문에 기존 테스트 케이스 중 변경된 부분을 테스트 할 수 있는 테스트 케이스만 선정하여 수행

회귀 테스트의 테스트 케이스 선정 방법

- 모든 애플리케이션 기능을 수행 할 수 있는 대표 테이스 케이스 선정

- 애플리케이션 기능 변경에 의한 파급 효과가 높은 부분이 포함된 테스트 케이스 선정

- 실제 수정이 발생한 모듈/컴포넌트에서 시행하는 테스트 케이스 선정

728x90