단위 모듈 테스트

clay·2023년 2월 6일
0

소프트웨어 개발

목록 보기
10/47
post-thumbnail

단위 모듈 테스트의 개요

단위 모듈 테스트는 프로그램의 단위 기능을 구현하는 모듈이 정해진 기능을 정확히 수행하는지 검증하는 것이다.

  • 단위 모듈 테스트는 단위 테스트(Unit Test)라고도 하며, 화이트박스 테스트와 블랙박스 테스트기법을 사용한다.
화이트박스 테스트
모듈의 소스 코드를 오픈시킨 상태에서 소프 코드의 모든 논리적인 경로를 테스트하는 방법

블랙박스 테스트
소프트웨어가 수행할 특정 기능이 완전히 작동되는 것을 입증하는 테스트
  • 단위 모듈 테스트를 수행하기 위해서는 모듈을 단독적으로 실행할 수 있는 환경과 테스트에 필요한 데이터가 모두 준비되어야 한다.
  • 모듈의 통합 이후에는 오랜 시간 추적해야 발견할 수 있는 에러들도 단위 모듈 테스트를 수행하면 쉽게 발견하고 수정할 수 있다.
  • 단위 모듈 테스트의 기준은 단위 모듈에 대한 코드이므로 시스템 수준의 오류는 잡아낼 수 없다.

테스트 케이스(Test Case)

테스트 케이스는 구현된 소프트웨어가 사용자의 요구사항을 정확하게 준수했는지를 확인하기 위해 설계된 입력 값, 실행 조건, 기대 결과 등으로 구성된 테스트 항목에 대한 명세서로, 명세 기반 테스트의 설계 산출물에 해당된다.

  • 단위 모듈을 테스트하기 전에 테스트에 필요한 입력 데이터, 테스트 조건, 예상 결과 등을 모아 테스트 케이스를 만든다.
  • 테스트 케이스를 이용하지 않고 수행하는 직관적인 테스트는 특정 요소에 대한 검증이 누락되거나 불필요한 검증의 반복으로 인해 인력과 시간을 낭비할 수 있다.
  • ISO/IEC/IEEE 29119-3 표준에 따른 테스트 케이스의 구성요소는 다음과 같다.

식별자(Identifier)

  • 항목 식별자, 일련번호

테스트 항목(Test Item)

  • 테스트 대상(모듈 또는 기능)

입력 명세(Input Specification)

  • 입력 데이터 또는 테스트 조건

출력 명세(Output Specification)

  • 테스크 케이스 수행 시 예상되는 출력 결과

환경 설정(Encironmental Needs)

  • 필요한 하드웨어나 소프트웨어의 환경

특수 절차 요구(Special Procedure Requirement)

  • 테스트 케이스 수행 시 특별히 요구되는 절차

의존성 기술(Inter-case Dependencies)

  • 테스트 케이스 간의 의존성

테스트 프로세스

테스트 프로세스는 테스트를 위해 수행하는 모든 작업들이 테스트의 목적과 조건을 달성할 수 있도록 도와주는 과정이다.

테스트 프로세스 5단계
1. 계획 및 제어 단계: 테스트 목표를 당성하기 위한 계획을 수립하고, 계획대로 진행되도록 제어하는 단계
2. 분석 및 설계 단계: 테스트 목표를 구체화하여 테스트 시나리오와 테스트 케이스를 작성하는 단계
3. 구현 및 실현 단계

  • 효율적인 테스트 수행을 위해 테스트 케이스들을 조합하여 테스트 프로시저에 명세하는 단계
  • 모듈의 환경에 적합한 단위 테스트 도구를 이용하여 테스트를 수행하는 단계
  1. 평가 단계: 테스트가 계획과 목표에 맞게 수행되었는지 평가하고 기록하는 단계
  2. 완료 단계: 이후의 테스트를 위한 참고 자료 및 테스트 수행에 대한 증거 자료로 활용하기 위해 수행 과정과 산출물을 기록 및 저장하는 단계
테스트 프로시저
테스트 케이스의 실행 순서를 의미하며, 테스트 스크립트라고도 불린다.
profile
샤코타임 팬

0개의 댓글