개발 단계별 테스트 분류
단계별 소프트웨어 검사
단위테스트 > 통합테스트 > 시스템 테스트 > 인수테스트
단위테스트
: 원시 프로그램 코드에 대한 분석을 진행, 코드가 효율적으로 작성되었는지, 프로젝트 내에 합의된 코딩 표준을 준수하고 있는지 검증
: 인터페이스, 외부적 입출력, 자료구조, 독립적 기초 경로, 오류 처리 경로, 경계 조건등을 테스트
: 개발자가 직접 시행
통합테스트
: 프로그램 구성하는 각각 모듈들을 통합하여, 통합된 컴포넌트 간의 인터페이스와 상호작용 상의 오류를 발견하는 작업을 수행
: 개발자가 직접 수행
시스템 테스트
: 소프트웨어가 해당 컴퓨터 시스템에서 제대로 수행되는지 테스트하고 다른 시스템 요소들을 전체적으로 테스트
인수검사(= 검증검사, = 확인테스트)
: 사용자의 요구사항을 만족시키는가에 중점을 둔 검사기법
: 통합검사 후 전체내용이 하나의 소프트웨어로 통합 후 요구사항 명세서 토대로 진행
: 개발한 소프트웨어를 사용자가 직접 테스트
종류
형상검사 - 소프트웨어 구성 요소, 목록, 유지보수를 지원하기 위해 필요한 모든 사항들이 제대로 표현되었는지를 검사하는 기법
알파검사 - 제한된 환경에서 사용자가 개발자의 환경에서 프로그램 실행하는 테스트 기법
베타검사 - 제한되지 않은 환경에서 사용자가 프로그램을 실행한 후 오류 발생하면 개발자에게 주기적으로 보고하는 형식의 검사 기법
통합 테스트 분류
하향식 통합 테스트(Top Down Test)
: 프로그램의 상위 모듈에서 하위 모듈 방향으로 통합하면서 테스트하는 기법
: 주요 제어 모듈을 기준으로 하여 아래 단계로 이동하면서 통합
: 깊이 우선 통합과 넓이 우선 통합으로 나뉨
: 테스트 초기부터 사용자에게 시스템 구조를 봅여줄 수 있음
: 주요 제어 모듈은 작성된 프로그램을 사용하고, 주요 제어 모듈의 종속 모듈들은 스텁(stub)으로 대체
상향식 통합 테스트(Bottom up Inergration Test)
: 프로그램의 하위 모듈에서 상위 모듈 방향으로 통합하면서 테스트하는 기법
: 가장 하위 단계 모듈부터 통합 및 테스트가 수행되므로 스텁은 필요하지 않지만, 하나의 주요 제어 모듈과 관련된 종속 모듈의 그룹인 클러스터가 필요
: 상위 모듈의 역할을 하는 테스트 드라이버가 필요
: 최하위 모듈들을 개별적으로 병ㅂ행하여 테스트 할 수있기 때문에 하위 모듈들을 충분히 테스트 할 수 있음
: 정밀한 게산이나 데이터 처리가 요구되는 시스템에 적합
문제 1
정답 : 알파검사
문제 2
정답 : 상향식 통합 테스트(Bottom up Intergration Test)