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