인스펙션 (inspection)

인스펙션(Inspection)은 정적 테스팅의 한 형태로, 가장 공식적이고 체계적인 리뷰 방법이다.

인스펙션은 FTR(Formal Technical Review)라고도 불리며, 정형화된 절차와 체크리스트를 사용하여 소프트웨어 산출물의 결함을 찾아내는 방법이다.
이는 정적 테스트 방법 중 가장 많은 인원이 참여하고 가장 공식적인 프로세스를 따른다.

주요 목적

  1. 결함 발견: 코드나 문서의 오류를 조기에 식별한다.
  2. 품질 향상: 소프트웨어 산출물의 전반적인 품질을 개선한다.
  3. 프로세스 개선: 개발 프로세스의 문제점을 파악하고 개선한다.

인스펙션 대상

인스펙션은 다음과 같은 소프트웨어 산출물에 적용된다:

  • 요구사항 명세서
  • 설계 문서
  • 소스 코드
  • 테스트 계획
  • 사용자 매뉴얼

인스펙션 절차

인스펙션은 다음과 같은 단계로 진행된다.

  1. 계획: 중재자가 세부 계획을 수립하고 검토 대상 문서를 결정한다.
  2. 시작: 중재자가 회의를 소집하고 목적과 절차를 설명합니다. 검토 문서와 체크리스트를 배포한다.
  3. 준비: 각 검토자가 개별적으로 문서를 검토하고 잠재적 오류를 파악한다.
  4. 검토 회의: 발견된 문제점과 오류에 대해 토론하고 대책을 협의한다.
  5. 재작업: 발견된 오류를 수정하고 결과를 기록한다.
  6. 후속 조치: 개발자의 수정 결과를 확인한다.

참여자 역할

인스펙션에는 다음과 같은 역할이 포함된다:

  • 중재자: 인스펙션 과정을 이끌고 조정한다.
  • 저자: 검토 대상 문서의 작성자이다.
  • 검토자: 문서를 검토하고 결함을 찾아낸다.
  • 기록자: 회의 내용과 발견된 결함을 기록한다.

장점

  1. 체계적인 접근: 정형화된 절차를 통해 철저한 검토가 가능하다.
  2. 조기 결함 발견: 개발 초기 단계에서 오류를 찾아 수정 비용을 절감한다.
  3. 품질 향상: 다양한 관점에서의 검토로 전반적인 품질이 개선된다.
  4. 지식 공유: 팀 구성원 간의 의사소통과 학습 기회를 제공한다.

주의사항

  1. 시간과 자원 투자: 철저한 준비와 실행에 상당한 시간과 노력이 필요하다.
  2. 팀원 평가 금지: 인스펙션은 결과물 평가를 위한 것이며, 개인을 평가하는 도구로 사용해서는 안 된다.
  3. 논쟁 제한: 불필요한 논쟁으로 인한 시간 낭비를 방지해야 한다.

참고 및 출처