8장 정적 테스트 - 8.5 인스펙션
8.5 인스펙션
- 인스펙션 참가자의 역할
- 인스펙션 과정
8.5 인스펙션
가장 형식화된 대표적인 리뷰 방식
결함 발생 시점에 빠르게 제거하기 위해 더욱 구조적이고 절차적인 방법이 필요하다고 생각하여 고안한 방식
이른바, 동료 검토 - 비슷한 수준의 사람들이 코드 및 산출물을 검토하는 작업
절대 작성자의 자질을 평가하는 분위기가 형성되어서는 안 됨
작업물에서 결함을 발견하여 나은 품질의 소프트웨어를 개발하는 것이 목표
8.5.1 인스펙션 참가자의 역할
주재자
- 주된 임무는검사할 작업물을 기초로 참가자들을 선정하고 계획하는 일
- 참가자들에게 미리 검토 자료를 전달
- 회의를 주재 & 참가자들의 불화 & 예기치 못 한 상황에 대처
- 끝난 후에는 후속 조치가 필요한 사항을 결정
- 기록된 자료를 보고서로 만들어 개발자에게 전달
- 인스펙션 프로세스 개선을 위해 여러 데이터 수집
- 전문적으로 훈련된 *퍼실리테이터가 담당
작성자
- 회의에 필요한 자료 제출
- 자료 내용에 관한 설명 및 질의에 응답
- 방어적인 자세로 회의에 임하면 안됨
- 끝난 후에는 검출된 결함 내용에 관해 재작업
- 8.2 리뷰 프로세스의 ④ 작업물 개요 설명도 수행
- 인스펙션 주재자가 될 수 없음
낭독자
- 자신의 이해 및 해석을 바탕으로 작업물에 대해 설명하며 회의를 이끄는 역할 수행
- 준비 시간을 줄이기 위해 작업물을 여러 부분으로 나누어, 각 부분에 다른 낭독자를 할당할 수도 있음
기록자
- 논쟁 및 질의응답 등을 기록
- 기록된 사항을 문서화
- 주재자나 개발자 입장이 아닌 검토자 입장으로 참여
- 토론을 이해하기 위해 충분한 지식을 갖추어야 함
- 작성자는 기록자가 될 수 없음
- 주재자는 기록자 역할도 수행할 수 있음
검토자
- 자료를 충분히 검토하여 이해해야 함
- 자료에서 결함을 찾고 기록
- 몇몇 검토자에게는 특별한 주제를 할당해도 좋음
- 해결자 입장이 아니므로 결함 해결을 위한 노력보단 간단한 의견만 제시
- 개인적인 친분은 배제하고 객관적인 관점에서 참여
- 관리자 직책을 담당하는 사람은 팀 멤버로 참여하는 것이 금지됨
팀의 규모
- 주재자같은 다른 역할이 있다 하더라도 팀 구성원은 모두 검토자 역할 수행
- 작성자가 검토할 수 없기 때문에 작성자 이외의 검토자가 최소 한 명 필요 + 주재자 필요 ➡️ 최소 2명 이상
- 4명의 팀이 가장 이상적인 규모이며 일반적으로 3~6명으로 구성
- 6명 이상은 관리하기 힘들어 좋지 않음
8.5.2 인스펙션 과정
기본적으로 8.2 리뷰 프로세스를 따라 진행
리뷰 계획
중재자가 리뷰 목적을 파악해 팀을 구성
구성원에게 책임을 할당
일정 및 장소 공지
필요 자료들을 제공하고
준비 시간 할애
인스펙션 절차 개요 설명
중재자는 참가자들에게 역할 할당
체크리스트나 역할 할당에 관한 질문에 대답
최소 준비 시간, 인스펙션과 관련된 정보 제공
인스펙션 작업물 개요 설명
작성자가 검토자들에게 작업물에 대해 설명하여 친숙하고 이해도를 높임
검토자는 이해도를 높이기 위해 질문할 수 있지만 해결책 제안 및 결함 수정은 하지 않음
준비
회의 전 구성원은 작업물 검토하여 검출된 문제들은 중재자에게 전달
중재자는 문제들을 분류하고 인스펙션 속행 여부를 판단
문제가 인스펙션을 수행하지 못 할 정도로 심각하거나 많다면 인스펙션을 취소할 수도 있ㅇ므
중재자는 거물한 문제 목록을 작성자에게 전달
검토 회의
모든 검토자가 참가하는 회의를 시작
낭독자가 작업물에 대한 설명
기록자는 검출한 문제들을 분류하고 정보 기록
작성자는 검토자의 질의에 응답만 할 뿐, 옹호하는 행동은 피해야 함
작업물은 누가보더라도 이해하기 쉽게 작성되었다는 것을 확인하는 작업도 포함
IEEE 1028---2008 검토 회의 결과
- Accept with no verification or with rework verification: 승인 혹은 약간의 재작업
- Accept with rework verification: 주재자 혹은 주재자에게 위임 받은 사람이 재작업을 검증한 후에 작업물 승인
- Reinspect: 승인할 수 없어 문제가 해결된 후 재작업을 검증하기 위해 다시 인스펙션 일정을 계획
재작업
작성자는 검출된 문제 목록을 해결하는 작업을 수행
만약 작성자가 해결방안에 대한 피드백을 원한다면 검토 회의 후 작성자가 주체가 되어 검토자에게 문의할 수 있음
후속 작업
주재자나 주재자에게 위임 받은 사람이 발견된 모든 문제에 대해 재작업이 이루어졌는지 확인
* 퍼실리테이터: 검토 회의 또는 워크숍과 같이 여러 사람이 일정한 목적을 가지고 작업할 때 작업 과정을 설계하고 참여를 유도하는 사람