[ISTQB] 3. 정적 기법

2023. 10. 21. 10:21·자격증 & 공부/ISTQB
목차
  1. 3.1.1 리뷰의 이점과 목적
  2. 3.1.2 리뷰와 테스팅
  3.  
  4. 3.2 리뷰 프로세스
  5. 3.2.1 공식적 리뷰의 단계
  6. 3.2.2 역할과 책임
  7. 3.2.3 리뷰의 유형
  8. 3.2.4 리뷰의 성공 요소
  9. 3.3 도구에 의한 정적 분석

3.1.1 리뷰의 이점과 목적


정적 기법

  • SW를 실행하지 않고 테스팅하는 기법
  • 동적 테스팅과 달리 장애보다는 장애의 원인(결함)을 발견

리뷰

  • 코드를 포함하여 SW 개발 및 테스트 산출물을 검토하고 테스팅하는 방법
  • 동적 테스팅 전에 수행 -> 초기 결함의 수정은 비용 절감
  • 대상 : 요구사항 명세, 코드, 테스트 계획, 테스트 케이스 등 모든 SW 개발 및 테스트 산출물

 

리뷰의 이점

  • 조기 결함 발견 및 수정
  • 개발 생산성 향상
  • 테스팅 비용 감소 및 시간 단축
  • 결함 감소(품질 향상)
  • 개발 기간 단축
  • 개발 생명주기 전체에 걸친 비용 감소
  • 커뮤니케이션 향상

리뷰를 통해 발견하기 쉬운 결함

  • 표준 위반, 요구사항 결함, 개발 설계 결함, 불충분한 유지보수성, 부정확한 인터페이스 명세

3.1.2 리뷰와 테스팅

최근 테스팅

  • 결함 예방 활동 강조
  • 조기 테스트 설계 -> 초기에 결함을 줄임
    • 시스테 명세(요구사항 문서, 설계 기준서)에 대한 테스트 케이스 생성
    • 요구사항 분석서를 통한 테스트 케이스 -> 시스템 또는 인수 테스팅
  • 프로젝트 초기 모든 테스트 케이스 생성은 부적절
  • 하지만, 리스크가 높거나 중요한 기능에 한해 테스트 케이스를 도출하면서 문서를 테스트
    • 조기 발견 중요

 


3.2 리뷰 프로세스


리뷰 목적

  • 결함 발견, 이해도 증진, 합의에 의한 결정과 이를 위한 토론
  • 체계적인 리뷰를 통해 고품질 SW 개발과 비용 절감은 물론 개발 기간 단축의 효과
  • 페이건 인스펙션 : 초기에 많은 인력, 코딩 단계부터 인력 줄음, 품질 비용 감소 및 개발 기간 단축

3.2.1 공식적 리뷰의 단계

  • 정적 테스트 활동의 중요성이 높아지고 있음
  • 정적 테스트 프로세스
    • 정적 테스트 준비 단계
    • 리뷰/분석 단계
    • 후속 처리 확인 단계 – 비공식적인 리뷰도 일반적인 프로세스를 준수하는 것이 좋음
  • 공식적 리뷰의 절차
    • 계획 활동 -> 시작 -> 개별 준비 -> 리뷰 미팅 -> 재작업 -> 후속 처리 확인

3.2.2 역할과 책임

역할과 책임

  • 관리자 : 리뷰 진행 결정, 프로젝트 일정에 리뷰 시간 할당, 리뷰의 목적 달성 여부 확인하고 승인
  • 중재자 : 리뷰 회의 리드(리뷰 계획, 미팅 진행, 미팅 후속 조치 추적 관리 등)
    • 다양한 관점을 중재하는자로 기뷰의 성패를 좌우
  • 저자 : 리뷰 대상 문서(산출물)의 작성자 또는 책임자
  • 검토자 – 테스트 전문가 참여
    • 리뷰 대상 제품에서 인시턴트를 발견하고 기술할 사람(검사자 또는 인스펙터)
    • 기술적 또는 비즈니스 배경을 갖춘자
    • 기뷰어는 다양한 관점과 역할을 대표하도록 선택되어야 함
  • 기록자 : 리뷰 미팅에서 발견된 모든 이슈, 문제점, 미해결점 등을 기록하고 문서화함

체크리스트 활용

  • 효과적/효율적인 리뷰를 위해 사용자, 유지보수 담당자, 테스터, 시스템 운영자 등 다양한 관점의
  • 체크리스트 또는 문서 유형별 체크리스트 이용 및 개발 권고

테스트 케이스 -> 시간과 노력 많이 필요

  • 변경된 요구사항과 설계 반영을 위해 지속적으로 업데이트 필요

3.2.3 리뷰의 유형

워크쓰루 -> 이해 향상과 결함 발견

  • 저자(산출물 작성자)에 의한 진행 및 제어
  • 성격 : 시나리오 사용, 예행 연습, 동료 그룹 검토
  • 시간 및 인원수 등에 제한이 없고 상황에 따라 변경할 수 있는 세션
  • (선택적) 미팅 전 준비 과정 거침 -> 역할 지정(검토자, 기록자 등), 리뷰 리포트 준비,
  • 인시턴트 목록 준비
  • 실무에서는 비공식적 또는 공식적일 수 있음
  • 주요 목적 : 학습, 시스템에 대한 이해 향상, 결함 발견

인스펙션 -> 결함 발견

  • 저자가 아닌 중재자가 주도적으로 진행 및 제어
  • 주로 동료 검사
  • 역할이 정의되어 있음
  • 메트릭(측정 척도와 방법)을 수집하고 활용함
  • 체크리스트와 규칙을 기반으로 시작과 종료 조건이 있는 정식 프로세스 존재
  • 미팅 전 준비 과정 필요

인스펙션 대상

  • 모든 개발 산출물과 테스트 산출물
  • 리스크 분석 결과를 활용하여 장애 발생 가능성이 높고 발생한 장애로 인한 영향이 심각할 수 있는
  • 부분을 중심으로 진행 : 비즈니스와 연관성이 높거나, 복잡도, 변경율, 결함율이 높은 부분이 이에 해당
  • 리스크 기반 테스트 전략 -> 리뷰 강도 조절

워크쓰루 vs 인스펙션

  • 사업적 리스크가 높은 영역 – 워크쓰루
  • 기술적 리스크가 높은 영역 – 인스펙션이나 기술적 리뷰

3.2.4 리뷰의 성공 요소


3.3 도구에 의한 정적 분석


정적 분석 특징

  • 정적 분석은 동적 테스팅으로 찾기 힘든 결함을 발견
  • 리뷰와 마찬가지로 정적 분석은 장애보다는 결함을 발견함
  • 도구의 도움을 받아 수행
  • 정적 분석 도구는 프로그램 코드를 분석하는 것은 물론, HTML이나 XML과 같이 생성된 결과물도 분석

정적 분석의 가치

  • 테스트 실행 전 조기 결함 발견
  • 의심스러운 코드와 설계에 대한 조기 정보(프로그램 복잡도 – 메트릭)
  • 동적 테스팅으로 발견하기 어려운 결함 발견
  • SW 모델상의 의존도와 불일치성 발견
  • 코드와 설계의 유지보수성 향상
  • 결함 예방 가능

정적 분석을 통해 발견될 수 있는 결함

  • 정의되지 않은 값으로 변수 참조, 모듈과 컴포넌트 간의 일관되지 않은 인터페이스
  • 사용되지 않는 변수, 사용되지 않는 코드
  • 코딩 표준 위반, 보안 취약성, 코드와 소프트웨어 모델의 구문 규칙 위반

정적 분석 도구

  • 정의된 규칙이나 코딩 표준을 준수하는지 확인하는 용도로 컴포넌트 테스팅과 통합 테스팅 동안에 주로 개발자에 의해 사용
  • SW 모델링하는 동안 설계자에 의해 사용

 

저작자표시 비영리 변경금지 (새창열림)

'자격증 & 공부 > ISTQB' 카테고리의 다른 글

[ISTQB] 2. 소프트웨어 생명주기와 테스팅  (1) 2023.10.21
[ISTQB] 1. 소프트웨어 테스팅의 기초  (1) 2023.10.21
  1. 3.1.1 리뷰의 이점과 목적
  2. 3.1.2 리뷰와 테스팅
  3.  
  4. 3.2 리뷰 프로세스
  5. 3.2.1 공식적 리뷰의 단계
  6. 3.2.2 역할과 책임
  7. 3.2.3 리뷰의 유형
  8. 3.2.4 리뷰의 성공 요소
  9. 3.3 도구에 의한 정적 분석
'자격증 & 공부/ISTQB' 카테고리의 다른 글
  • [ISTQB] 2. 소프트웨어 생명주기와 테스팅
  • [ISTQB] 1. 소프트웨어 테스팅의 기초
woojin._.
woojin._.
여러가지 개발을 해보며 발생하는 이야기들에 대한 블로그입니다:)
  • woojin._.
    Jin's Dev Story
    woojin._.
  • 전체
    오늘
    어제
    • 분류 전체보기 (794)
      • Tools (25)
        • eGovFrame (3)
        • GeoServer (3)
        • QGIS (2)
        • LabelImg (2)
        • Git (6)
        • GitHub (1)
        • Eclipse (7)
        • Visual Studio (1)
      • Web & Android (121)
        • SpringBoot (37)
        • Three.js (2)
        • Spring Data JPA (9)
        • 스프링 부트 쇼핑몰 프로젝트 with JPA (25)
        • Thymeleaf (4)
        • Spring Security (15)
        • Flutter (29)
      • Programming Language (61)
        • JAVA (27)
        • JavaScript (14)
        • Dart (2)
        • Python (15)
        • PHP (3)
      • Database (43)
        • PostgreSQL (32)
        • MYSQL (7)
        • Oracle (3)
        • MSSQL (1)
      • SERVER (17)
        • TCP_IP (3)
        • 리눅스 (7)
        • AWS (7)
      • Coding Test (410)
        • 백준[JAVA] (76)
        • 프로그래머스[JAVA] (257)
        • 알고리즘 고득점 Kit[JAVA] (3)
        • SQL 고득점 Kit[ORACLE] (74)
      • CS 지식 (49)
        • [자료구조] (14)
        • [네트워크] (12)
        • [데이터베이스] (10)
        • [알고리즘] (9)
        • [운영체제] (4)
      • 기타 (6)
      • 자격증 & 공부 (62)
        • 정보처리기사 (2)
        • SQLD (6)
        • 네트워크관리사 2급 (5)
        • 리눅스마스터 1급 (44)
        • 리눅스마스터 2급 (1)
        • ISTQB (3)
        • 시스템보안 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 인기 글

  • 태그

    springboot
    Flutter
    JPA
    backjoon
    리눅스마스터 1급
    플러터
    DB
    postgresql
    Java
    백준
    python
    리눅스
    Spring Security
    CS지식
    pcce 기출문제
    Oracle
    스프링
    programmers
    리눅스마스터
    프로그래머스
    spring
    시큐리티
    스프링 부트 쇼핑몰 프로젝트 with JPA
    데이터베이스
    스프링부트
    Linux
    baekjoon
    데이터
    CS
    자바
  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
woojin._.
[ISTQB] 3. 정적 기법

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.