정적 테스팅으로 검토할 수 있는 작업 산출물과 정적 테스팅의 가치를 알아보자
정적 테스팅과 동적 테스팅을 비교해보자
피드백의 중요성과 리뷰 유형, 프로세스를 알아보자~!
3.1. 정적 테스팅의 기초
- 정적 테스팅은 소프트웨어를 실행하지 않고 코드, 문서, 설계서 등을 평가하는 테스트 기법이다.
- 리뷰(수동)와 정적 분석(도구 활용) 방식이 있다.
- 품질 개선, 결함 발견, 가독성·정확성·완전성·일관성 평가가 목적이다.
- 베리피케이션과 밸리데이션 모두에 적용 가능하다.
- 사용자 스토리, 백로그 개선 등을 이해관계자와 함께 검토하며 협업한다.
- 정적 분석은 테스트 케이스 없이 도구를 사용해 적은 노력으로 동적 테스팅 전에 문제를 식별할 수 있다.
- 정적 분석을 CI 프레임워크에 통합하는 경우가 많다.
- 코드 결함뿐 아니라 유지보수성과 보안성 평가에도 활용된다. ex) 맞춤법 검사기, 가독성 도구
3.1.1. 정적 테스팅으로 검사 가능한 작업 산출물
거의 모든 작업 산출물 검토 가능
정적 테스트 대상 예시:
- 요구사항 명세서
- 소스 코드
- 테스트 계획서 및 테스트 케이스
- 제품 백로그 항목
- 프로젝트 문서
- 계약서
- 모델
특징:
- 읽고 이해 가능한 산출물은 리뷰 가능
- 정적 분석은 일정한 구조가 필요
- 해석이 어려운 실행 코드는 부적합할 수 있음
3.1.2. 정적 테스팅의 가치
- SDLC 초기 단계에서 결함 발견 가능 -> 조기 테스팅 원리 지킴
- 동적 테스트로 찾기 어려운 결함 발견 가능
- 도달 불가능한 코드
- 원하는 대로 구현되지 않은 설계 패턴
- 비-실행 작업 산출물의 결함 등
- 품질과 신뢰 향상
- 이해관계자 간 의사소통 개선
- 재작업 감소로 전체 프로젝트 비용 절감
- 코드 결함 감소 및 개발 노력 감소
3.1.3. 정적 테스팅과 동적 테스팅의 차이
차이점
- 정적 테스팅: 실행 없이 결함 직접 발견
- 동적 테스팅: 실행 후 장애를 통해 결함 분석
- 정적 테스팅은 문서 등 비실행 산출물도 가능
- 동적 테스팅은 실행 가능한 산출물만 가능
- 정적 테스팅은 코드 실행에 의존하지 않는 품질 특성(ex. 유지보수성) 측정
- 동적 테스팅은 코드 실행에 의존적인 품질 특성(ex. 성능) 측정
정적 테스팅으로 쉽게 발견 가능한 결함
- 요구사항 결함
- 설계 결함
- 선언되지 않은 변수
- 도달 불가능한 코드
- 중복 코드
- 코딩 표준 위반
- 인터페이스 오류
- 보안 취약점
- 테스트 누락
3.2 피드백과 리뷰 프로세스
3.2.1 이해관계자 피드백을 조기에 자주 받을 때의 이점
- 품질 문제 조기 파악
- 요구사항 오해 방지
- 변경사항 조기 반영 가능
- 개발팀의 제품 이해도 향상
- 중요한 기능과 리스크에 집중 가능
피드백 부족 시:
- 재작업 증가
- 납기일 지연
- 서로 간의 비난 발생
- 프로젝트 실패 가능성 증가
3.2.2 리뷰 프로세스 활동
필요한 리뷰가 공식적일 수록 각 활동에 대해 수행할 것이 더 많아진다.
작업 산출물이 큰 경우 리뷰 프로세스를 여러 번 수행할 수 있다.
1. 계획: 리뷰 범위, 목표, 일정 정의
2. 리뷰 착수: 참여자 역할 및 준비 상태 확인
3. 개별 리뷰: 리뷰어가 리뷰 수행 후 이상 사항, 권장 사항, 의문 사항 기록
4. 논의 및 분석: 이상 사항 분석 및 후속 조치 결정
5. 수정 및 보고: 결함 수정 및 결과 보고
3.2.3 리뷰에서의 역할과 책임
- 관리자: 자원과 일정 지원
- 저자: 작업 산출물 작성 및 수정
- 중재자: 리뷰 회의 진행
- 서기: 리뷰 내용 기록
- 리뷰어: 리뷰 수행
- 리뷰 리더: 전체 리뷰 관리
3.2.4 리뷰 유형
- 비공식 리뷰: 정의된 프로세스 X, 공식 결과 문서 X, 이상 사항 식별 목적
- 워크쓰루: 저자가 리더가 되어 설명, 리뷰어는 워크쓰루 전에 개별 리뷰 수행 가능하지만 필수는 아님
- 기술 리뷰: 기술 자격 갖춘 리뷰어가 수행, 중재자가 리더
- 인스펙션: 가장 공식적인 리뷰 방식, 메트릭을 수집해 SDLC 개선, 저자가 리뷰 리더나 서기가 될 수 없음
3.2.5 리뷰의 성공 요소
- 명확한 목표와 완료 조건 정의
- 상황에 맞는 리뷰 유형 선택
- 작은 단위로 리뷰 진행
- 충분한 준비 시간 제공
- 이해관계자 피드백 반영
- 관리층 지원
- 조직 문화 정착
- 참여자 교육 제공
- 회의에 퍼실리테이션 적용
반응형
'QA' 카테고리의 다른 글
| [ISTQB 실러버스] 2장: 소프트웨어 개발수명주기(SDLC)와 테스팅 (0) | 2026.03.10 |
|---|---|
| [ISTQB 실러버스] 1장: 테스팅의 기초 (0) | 2026.03.09 |