- 단위 모듈 테스트는 프로그램의 단위 기능을 구현하는 모듈이 정해진 기능을 정확히 수행하는지 검증하는 것이다.
- 단위 모듈 테스트는 단위 테스트(Unit Test)라고도 하며, 화이트박스 테스트와 블랙박스 테스트 기법을 사용한다.
- 단위 모듈 테스트를 수행하기 위해서는 모듈을 단독적으로 실행할 수 있는 환경과 테스트에 필요한 데이터가 모두 준비되어야 한다.
- 모듈의 통합 이후에는 오랜 시간 추적해야 발견할 수 있는 에러들도 단위 모듈 테스트를 수행하면 쉽게 발견하고 수정할 수 있다.
- 단위 모듈 테스트의 기준은 단위 모듈에 대한 코드이므로 시스템 수준의 오류는 잡아낼 수 없다.
- 테스트 케이스는 구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지를 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과 등으로 구성된 테스트 항목에 대한 명세서로 명세 기반 테스트의 설계 산출물에 해당된다.
- 단위 모듈을 테스트하기 전에 테스트에 필요한 입력 데이터, 테스트 조건, 예상 결과 등을 모아 테스트 케이스를 만든다
- 테스트 케이스를 이용하지 않고 수행하는 직관적인 테스트는 특정 요소에 대한 검증이 누락되거나 불필요한 검증의 반복으로 인해 인력과 시간을 낭비할 수 있다.
- ISO/IEC/IEEE 29119-3 표준에 따른 테스트 케이스의 구성 요소는 다음과 같다.
- 식별자(Identifier): 항목 식별자, 일련번호
- 테스트 항목(Test Item): 테스트 대상(모듈 또는 기능)
- 입력 명세(Input Specification): 입력 데이터 또는 테스트 조건
- 출력 명세(Output Specification): 테스트 케이스 수행 시 예상되는 출력 결과
- 환경 설정(Environmental Needs): 필요한 하드웨어나 소프트웨어의 환경
- 특수 절차 요구(Special Procedure Requirement): 테스트 케이스 수행 시 특별히 요구되는 절차
- 의존성 기술(Inter-case Dependencies): 테스트 케이스 간의 의존성
- 테스트 프로세스는 테스트를 위해 수행하는 모든 작업들이 테스트의 목적과 조건을 달성할 수 있도록 도와주는 과정이다.
- 테스트 프로세스 5단계
- 계획 및 제어 단계: 테스트 목표를 달성하기 위한 계획을 수립하고, 계획대로 진행 되도록 제어하는 단계
- 분석 및 설계 단계: 테스트 목표를 구체화하여 테스트 시나리오와 테스트 케이스를 작성하는 단계
- 구현 및 실현 단계: 효율적인 테스트 수행을 위해 테스트 케이스들을 조합하여 테스트 프로시저에 명세하는 단계이다. 모듈의 환경에 적합한 단위 테스트 도구를 이용하여 테스트를 수행하는 단계이다.
- 평가 단계: 테스트가 계획과 목표에 맞게 수행되었는지 평가하고 기록하는 단계
- 완료 단계: 이후의 테스트를 위한 참고 자료 및 테스트 수행에 대한 증거 자료로 활용하기 위해 수행 과정과 산출물을 기록 및 저장하는 단계
출처: 2024 시나공 정보처리기사 필기 기본서