본문 바로가기
카테고리 없음

정보처리기사 실기 - 7장 애플리케이션 테스트

by kik328288 2026. 5. 3.

애플리케이션 테스트, V 모델과 기법 정리

정보처리기사 실기 7장 애플리케이션 테스트는 개발이 끝난 소프트웨어가 요구사항을 충족하는지 체계적으로 검증하는 영역이다. 흔히 테스트는 개발의 마지막 단계로 인식되지만, 실제로는 분석·설계·구현의 전 과정과 짝을 이루어 진행되는 종합적 활동이며, 시험에서도 매회 가장 비중 있게 출제되는 챕터 가운데 하나이다. 본 글은 한 글에 1~2개 핵심 원칙에 따라 테스트의 분류 체계, V 모델 기반 테스트 레벨 4단계, 그리고 블랙박스와 화이트박스 테스트 기법을 시험 답안에 직접 활용 가능한 정형화된 형태로 정리한다.

 

애플리케이션 테스트의 분류 체계

애플리케이션 테스트는 서로 다른 세 가지 기준에 따라 분류되며, 시험에서는 이 세 분류 체계의 명칭과 항목을 정확히 구분해 묻는 문제가 자주 출제된다. 첫째 분류 기준은 시각이며, 둘째는 실행, 셋째는 기반이다. 각 기준은 테스트를 바라보는 다른 관점을 제공하기 때문에 서로 배타적이지 않으며, 한 테스트는 동시에 여러 분류에 속할 수 있다.

시각에 따른 분류는 누구의 관점에서 테스트를 바라보는가에 따라 검증(Verification)과 확인(Validation)으로 나뉜다. 검증은 개발자의 관점에서 제품이 명세서대로 제대로 만들어지고 있는가를 확인하는 활동이며, 확인은 사용자의 관점에서 만들어진 제품이 실제 요구를 만족시키는가를 확인하는 활동이다. 영어 첫 글자가 같지만 두 개념의 차이는 명확하다. 검증은 "Are we building the product right?"이고, 확인은 "Are we building the right product?"라고 표현되는 점이 그 차이를 압축적으로 보여준다.

실행 여부에 따른 분류는 정적 테스트와 동적 테스트로 나뉜다. 정적 테스트는 프로그램을 실행하지 않고 명세서나 소스 코드 자체를 검토하는 방식이며, 동료 검토(Peer Review), 인스펙션(Inspection), 워크스루(Walkthrough)가 대표적이다. 결함을 조기에 발견할 수 있다는 강점이 있다. 동적 테스트는 프로그램을 실제 실행시켜 입력에 대한 출력을 관찰하는 방식이다. 마지막으로 기반에 따른 분류는 명세 기반·구조 기반·경험 기반으로 나뉘며, 각각이 흔히 말하는 블랙박스 테스트·화이트박스 테스트·경험 기반 테스트에 해당한다. 명세 기반은 명세서만 보고 입출력을 검증하고, 구조 기반은 내부 코드 구조를 보면서 검증하며, 경험 기반은 테스터의 직관과 경험에 의존한다.

V 모델과 테스트 레벨 4단계

V 모델은 폭포수 모델을 변형해 좌측의 개발 단계와 우측의 테스트 단계를 V자 형태로 대칭 배치한 모델이다. 이 모델의 핵심 가치는 각 개발 단계마다 그 단계를 검증하는 테스트가 명시적으로 짝을 이룬다는 점이다. 좌측에는 위에서 아래로 요구사항 분석, 시스템 설계, 상세 설계, 코딩이 배치되고, 우측에는 아래에서 위로 단위 테스트, 통합 테스트, 시스템 테스트, 인수 테스트가 배치된다. 이렇게 짝을 이룸으로써 각 개발 산출물이 충실히 검증되어 상위 단계로 전달되며, 결함의 조기 발견과 추적 가능성이 보장된다.

단위 테스트(Unit Test)는 가장 작은 단위인 함수·메서드·클래스 같은 모듈 단위를 독립적으로 검증하는 활동이다. 코딩 단계와 짝을 이루며, 개발자가 직접 작성하는 경우가 일반적이다. JUnit·NUnit·PyUnit 같은 xUnit 계열 도구가 폭넓게 사용되며, 모의 객체(Mock)와 스텁(Stub)을 활용해 외부 의존성을 격리하는 기법이 자주 활용된다. 통합 테스트(Integration Test)는 단위 테스트를 거친 모듈들을 결합했을 때 발생하는 인터페이스 결함과 상호작용 오류를 검증한다. 상세 설계 단계와 짝을 이루며, 통합 방식에 따라 빅뱅·상향식·하향식·샌드위치라는 네 가지 전략이 존재한다.

빅뱅(Big Bang)은 모든 모듈을 한꺼번에 결합해 테스트하는 가장 단순한 방식이지만, 결함의 원인을 추적하기 어려워 소규모 시스템에만 적합하다. 상향식(Bottom-up)은 하위 모듈부터 점진적으로 통합하면서 테스트하는 방식이며, 상위 모듈이 아직 없을 때 그 역할을 대신할 임시 호출자인 드라이버(Driver)를 사용한다. 하향식(Top-down)은 상위 모듈부터 통합하는 방식이며, 하위 모듈이 아직 없을 때 그 역할을 대신할 임시 더미 모듈인 스텁(Stub)을 사용한다. 샌드위치(Sandwich)는 상향식과 하향식을 동시에 적용해 중간에서 만나는 혼합 방식이다.

시스템 테스트(System Test)는 통합된 전체 시스템이 명세된 기능과 비기능 요구사항을 만족하는지 검증한다. 시스템 설계 단계와 짝을 이루며, 성능·보안·부하·복구 같은 비기능 영역까지 종합적으로 다룬다. 인수 테스트(Acceptance Test)는 사용자가 직접 또는 사용자 대신 인수자가 수행하는 최종 검증 단계로, 요구사항 분석 단계와 짝을 이룬다. 알파 테스트는 개발 환경에서 실제 사용자가 수행하고, 베타 테스트는 사용자 환경에서 일정 기간 동안 시범 운영하며 피드백을 수집한다. 이 4단계 테스트 레벨은 V 모델의 우측을 구성하는 핵심 골격이며, 시험에서 매회 출제되는 가장 중요한 항목이다.

블랙박스와 화이트박스 테스트 기법

블랙박스 테스트(Black Box Test)는 소프트웨어 내부 구조를 알지 못하는 상태에서 입력과 출력만을 검증하는 명세 기반 기법이다. 사용자 관점에서 기능이 제대로 작동하는지를 확인하는 데 적합하며, 시험에서 자주 출제되는 다섯 가지 대표 기법이 있다. 첫째, 동치 분할(Equivalence Partitioning)은 입력값을 동등한 출력을 만드는 그룹으로 분할해 각 그룹을 대표하는 값만 테스트하는 기법이다. 둘째, 경곗값 분석(Boundary Value Analysis)은 동치 분할의 경계 부분에 결함이 집중된다는 경험을 토대로, 경계 바로 안과 밖, 경계 자체를 집중적으로 테스트한다.

셋째, 원인-결과 그래프(Cause-Effect Graph)는 입력 조건과 출력 사이의 관계를 그래프로 표현해 테스트 케이스를 도출한다. 넷째, 결정 테이블 테스트(Decision Table Testing)는 다양한 입력 조건의 조합과 그에 따른 출력을 표 형태로 정리해 누락 없이 테스트한다. 다섯째, 상태 전이 테스트(State Transition Testing)는 시스템의 상태와 상태 사이의 전이를 모델링해, 모든 전이가 의도대로 작동하는지 검증한다. 그 밖에 오류 예측(Error Guessing)은 테스터의 경험과 직관으로 결함이 있을 만한 부분을 추정해 테스트하는 경험 기반 기법이다.

화이트박스 테스트(White Box Test)는 소스 코드의 내부 구조를 보면서 논리적 경로를 검증하는 구조 기반 기법이다. 코드 모든 부분이 적어도 한 번 이상 실행되었는지를 확인할 수 있다는 강점이 있으며, 핵심 평가 척도가 코드 커버리지(Code Coverage)이다. 시험에서는 커버리지의 종류와 강도 차이가 자주 출제되므로 정확히 외워두어야 한다. 문장 커버리지(Statement Coverage)는 모든 문장이 한 번 이상 실행되도록 만드는 가장 약한 기준이다. 분기 커버리지(Branch Coverage 또는 Decision Coverage)는 모든 조건문의 참과 거짓 분기가 한 번 이상 실행되도록 보장한다. 조건 커버리지(Condition Coverage)는 조건문 내부의 각 개별 조건이 참과 거짓이 되도록 만든다.

분기/조건 커버리지(Branch/Condition Coverage)는 분기와 조건을 동시에 만족시키며, 변형 조건/결정 커버리지(MC/DC)는 각 개별 조건이 독립적으로 결과에 영향을 미치도록 만드는 더 엄격한 기준이다. 가장 강한 기준인 다중 조건 커버리지(Multiple Condition Coverage)는 가능한 모든 조건의 조합을 검증한다. 이 다섯 가지 커버리지는 약한 것부터 강한 것 순서로 강도가 높아지며, 강도가 높을수록 결함 발견 확률은 높아지지만 작성해야 할 테스트 케이스 수가 기하급수적으로 늘어난다. 화이트박스 기법으로는 그 외에 기초 경로 검사(Base Path Testing), 제어 구조 검사, 데이터 흐름 검사가 있다. 결국 좋은 테스트는 블랙박스와 화이트박스를 적절히 결합해 외부 동작과 내부 구조를 동시에 검증하는 형태로 설계되어야 한다.


메타 디스크립션: 정보처리기사 실기 7장 애플리케이션 테스트의 핵심인 테스트 분류 체계(시각·실행·기반), V 모델과 4단계 테스트 레벨(단위·통합·시스템·인수), 그리고 블랙박스·화이트박스 테스트 기법과 커버리지 종류를 시험 답안 기준에 맞춰 정리합니다.


소개 및 문의 · 개인정보처리방침 · 면책조항

© 2026 블로그 이름