[정보처리기사 필기] 통합 구현 - 035. 단위 모듈 테스트

1. 단위 모듈 테스트의 개요

  • 단위 테스트
  • 프로그램의 단위 기능을 구현하는 모듈이 정해진 기능을 정확히 수행하는지 검증하는 것
  • 단위 모듈 테스트의 종류 : 화이트박스 테스트, 블랙박스 테스트
  • 모듈을 단독적으로 실행할 수 있는 환경과 테스트에 필요한 데이터가 모두 준비되어야 함
  • 모듈의 통합 이후에는 오랜 시간 추적해야 발견할 수 있는 에러들도 단위 모듈 테스트를 수행하면 쉽게 발견하고 수정할 수 있음
  • 단위 모듈 테스트의 기준은 단위 모듈에 대한 코드이므로 시스템 수준의 오류는 잡아낼 수 없음

2. 테스트 케이스 Test Case

  • 구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지를 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과 등으로 구성된 테스트 항목에 대한 명세서
  • 명세 기반 테스트의 설계 산출물에 해당
  • 단위 모듈을 테스트하기 전에 테스트에 필요한 입력 데이터, 테스트 조건, 예상 결과 등을 모아 테스트 케이스를 만듦
  • 테스트 케이스를 이용하지 않고 수행하는 직관적인 테스트는 특정 요소에 대한 검증이 누락되거나 불필요한 검증의 반복으로 인해 인력과 시간을 낭비할 수 있음
  • ISO / IEC / IEEE 29119-3 표준에 따른 테스트 케이스의 구성 요소
    • 식별자 Identifier : 항목 식별자, 일련번호
    • 테스트 항목 Test Item : 테스트 대상, 모듈 또는 기능
    • 입력 명세 Input Specification : 입력 데이터, 테스트 조건
    • 출력 명세 Output Specification : 테스트 케이스 수행 시 예상되는 출력 결과
    • 환경 설정 Environmental Needs : 필요한 하드웨어나 소프트웨어의 환경
    • 특수 절차 요구 Special Procedure Requirement : 테스트 케이스 수행 시 특별히 요구되는 절차
    • 의존성 기술 Infter-case Dependencies : 테스트 케이스 간의 의존성

3. 테스트 프로세스

  • 테스트를 위해 수행하는 모든 작업들이 테스트의 목적과 조건을 달성할 수 있도록 도와주는 과정
  • 테스트 프로세스 5단계
    • 계획 및 제어 단계 : 테스트 목표를 달성하기 위한 계획을 수립, 계획대로 진행되도록 제어하는 단계
    • 분석 및 설계 단계 : 테스트 목표를 구체화하여 테스트 시나리오와 테스트 케이스를 작성하는 단계
      • 테스트 시나리오 : 테스트 케이스들을 적용하는 구체적인 절차를 명세한 문서
    • 구현 및 실현 단계
      • 효율적인 테스트 수행을 위해 테스트 케이스들을 조합하여 테스트 프로시저에 명세하는 단계
        • 테스트 프로시저 : 테스트 케이스의 실행 순서를 의미, 테스트 스크립트
      • 모듈의 환경에 적합한 단위 테스트 도구를 이용하여 테스트를 수행하는 단계
    • 평가 단계 : 테스트가 계획과 목표에 맞게 수행되었는지 평가하고 기록하는 단계
    • 완료 단계 : 이후의 테스트를 위한 참고 자료 및 테스트 수행에 대한 증거 자료로 활용하기 위해 수행 과정과 산출물을 기록 및 저장하는 단계