ISTQB 3.3 도구에 의한 정적 분석

3-3. 도구에 의한 정적 분석

1. 정적 분석 특징과 가치

  • 정적 분석 특징
    • 정적 분석은 동적 테스팅으로 찾기 힘든 결함을 발견
    • 리뷰와 마찬가지로 정적분석은 장애(failures) 보다는 결함을 발견함
    • 도구의 도움을 받아 수행
    • 정적 분석 도구는 프로그램 코드를 분석하는 것은 물론, HTML이나 XML과 같이 생성된 결과물도 분석
  • 정적 분석의 가치
    • 테스트 실행 전 조기 결함 발견
    • 의심스러운 코드와 설계에 대한 조기 경보(프로그램 복잡도 – 메트릭)
    • 동적 테스팅으로 발견하기 어려운 결함 발견
    • SW 모델상의 의존도와 불일치성 발견
    • 코드와 설계의 유지보수성 향상
    • 결함 예방 가능

2. 정적 분석을 통해 발견될 수 있는 결함과 도구

  • 정적 분석을 통해 발견될 수 있는 결함
    • 정의되지 않은 값으로 변수 참조
    • 모듈과 컴포넌트 간의 일관되지 않은 인터페이스
    • 사용되지 않는 변수 ✓사용되지 않는 코드(dead code)
    • 코딩 표준 위반 ✓보안 취약성 ✓코드와 소프트웨어 모델의 구문 규칙(syntax) 위반
  • 정적 분석 도구
    • 정의된 규칙이나 코딩 표준을 준수하는지 확인하는 용도로 컴포넌트 테스팅과 통합 테스팅 동안에 주로 개발자에 의해 사용
    • SW 모델링하는 동안 설계자에 의해 사용