소프트웨어 검사
Software inspection소프트웨어 엔지니어링에서 검사란 잘 정의된 프로세스를 사용하여 결함을 찾는 훈련을 받은 개인에 의한 작업 제품의 동료 검토를 말합니다.검사는 매우 인기 있는 소프트웨어 검사 프로세스의 작성자인 Michael Fagan의 이름을 따서 Fagan 검사라고도 합니다.
서론
검사는 소프트웨어 프로젝트에서 볼 수 있는 가장 일반적인 종류의 검토 작업 중 하나입니다.검사의 목적은 결점을 식별하는 것입니다.일반적으로 검사되는 작업 제품에는 소프트웨어 요구 사항 사양 및 테스트 계획이 포함됩니다.검사에서는 작업물을 선정하여 리뷰하고 팀을 모아 작업물을 검토한다.주최자가 선택되어 회의를 주최합니다.각 인스펙터는 작업 결과물을 읽고 각각의 결함을 파악하여 회의를 준비합니다.검사에서 불량은 검사자가 승인하지 못하게 하는 작업 생산물의 일부입니다.예를 들어, 팀이 소프트웨어 요구 사항 사양을 검사하는 경우, 각 결함은 검사자가 동의하지 않는 문서의 텍스트가 됩니다.
검사 과정
검사 과정은 1970년대 중반에 개발되었으며[1] 이후 확장 및 수정되었다.
프로세스에는 검사 프로세스를 시작할 준비가 되었는지 여부를 결정하는 입력 기준이 있어야 합니다.이렇게 하면 미완성 작업물이 검사 과정에 들어가는 것을 방지할 수 있습니다.입력 기준은 "The document has been spell-checked"와 같은 항목을 포함하는 체크리스트일 수 있습니다.
검사 프로세스의 단계는 계획, 개요 미팅, 준비 미팅, 검사 미팅, 재작업 및 후속 조치입니다.준비, 검사 회의 및 재작업 단계를 반복할 수 있습니다.
- 계획:검사는 진행자가 계획합니다.
- 개요 회의:저자는 작업 결과의 배경을 설명한다.
- 준비:각 검사자는 가능한 결함을 식별하기 위해 작업물을 검사합니다.
- 검사 회의:이 미팅에서 독자는 작업 결과물을 부품별로 읽고 검사자는 모든 부품에 대한 결함을 지적합니다.
- 재작업 : 작성자는 점검회의의 실행계획에 따라 작업물을 변경한다.
- 후속 조치: 작성자가 변경한 내용이 모두 올바른지 확인합니다.
프로세스는 미리 정의된 종료 기준을 충족하면 주최자에 의해 종료됩니다.검사라는 용어는 소프트웨어 엔지니어링 프로젝트의 실행과 성공적인 완료를 둘러싼 전체 프로세스에서 가장 중요한 요소 중 하나를 의미합니다.
검사 역할
검사 중에는 다음 역할이 사용됩니다.
- 작성자: 검사 대상 작업물을 작성한 사람.
- 주최자:이 분이 검사의 리더입니다.진행자는 검사를 계획하고 조정합니다.
- 리더: 문서를 한 번에 하나씩 읽는 사람.그런 다음 다른 검사자가 결점을 지적합니다.
- 녹음기/스크라이브:검사 중에 발견된 결함을 문서화하는 사람.
- 인스펙터:작업 결과물을 검사하여 가능한 결함을 식별하는 사람.
관련 검사 유형
코드 리뷰
코드 리뷰는 팀이 코드 샘플을 검사하여 결함을 수정하는 특별 검사로 수행할 수 있습니다.코드 리뷰에서 결함이란 프로그래머가 의도한 대로 기능하지 않거나 부정확하지는 않지만 개선될 수 있는(예를 들어 보다 읽기 쉽게 하거나 성능을 향상시킬 수 있는) 요건을 적절하게 구현하지 않는 코드 블록입니다.코드 리뷰는 팀의 버그 검출 및 수정에 도움이 될 뿐만 아니라 검토 중인 코드에 대한 크로스 트레이닝 프로그래머 및 후배 개발자가 새로운 프로그래밍 기술을 습득하는 데에도 유용합니다.
피어 리뷰
피어 리뷰는 소프트웨어 결함을 조기에 검출하고 소프트웨어 아티팩트에 대해 학습하기 위한 업계의 베스트 프랙티스로 여겨지고 있습니다.피어 리뷰는 소프트웨어 워크스루와 소프트웨어 검사로 구성되며 소프트웨어 제품 엔지니어링 활동에 필수적입니다.지식, 스킬 및 행동을 정리하면 피어 리뷰의 베스트 프랙티스를 실현할 수 있습니다.안전 점검의 요소에는 체계적인 검토 프로세스, 우수한 제품 표준 체크리스트, 참가자의 정의된 역할, 양식과 보고서가 포함됩니다.
소프트웨어 검사는 피어 리뷰의 가장 엄격한 형태이며 이러한 요소를 결함 검출에 최대한 활용합니다.소프트웨어 워크스루에서는 제작자가 아티팩트를 가장 깊이 이해하고 참가자 간의 합의에 도달하는 데 도움이 되는 요소를 선별적으로 활용합니다.측정 결과에 따르면, Peer Reviews는 빠른 학습과 조기 결함 발견을 통해 얻을 수 있는 매력적인 투자 수익을 창출합니다.최상의 결과를 얻기 위해 정책 및 절차 준비, 실무자와 관리자 교육, 측정 정의 및 데이터베이스 구조 작성, 롤아웃 인프라스트럭처 유지 등의 정의된 프로그램을 통해 조직 내에서 피어 리뷰가 전개됩니다.
「 」를 참조해 주세요.
- 소프트웨어 엔지니어링
- 소프트웨어 엔지니어링 항목 목록
- 능력 성숙도 모델(CMM)
레퍼런스
- ^ IBM Technical Report RC 21457 Log 96856 1999년 4월 26일