IT 성장일기

[정보처리기사] 정적테스트, 동적테스트 본문

Cert/정보처리기사

[정보처리기사] 정적테스트, 동적테스트

고 양 2024. 3. 6. 22:35
반응형

정보처리기사 실기 공부 중 따로 정리하고 싶은 내용을 기록합니다.

 

정적테스트, 동적테스트

 

정적테스트

 소프트웨어를 실행하지 않고 테스트하는 기법.
 실제 시스템이 구현되기 전에 요구사항 정의서, 설계서, 소스코드 등 개발의 산출물을 테스트하는 것

  1. 리뷰
     전문가들이 모여 코드를 포함한 소프트웨어 개발 및 산출물을 검토하고 테스트하여 결함을 검출함.
      - 비공식적 리뷰 : 공식적인 절차가 존재하지 않음.
      - 기술적 리뷰 : 문서화되고 정의된 프로세스가 존재함.
      - 워크쓰루
      - 인스펙션

  2. 정적분석
     소프트웨어를 실행하지 않은 상태에서 자동화  도구를 활용하여 테스트를 수행하는 방법.

 

동적테스트

 소프트웨어를 실행하여 실제로 구현된 시스템을 테스트하는 기법

  1. 명세기반 테스트 (블랙박스 테스트)
     소스코드나 내부 구조를 참조하지 않고 테스트 명세서 등을 바탕으로 테스트함.
      - 동등 분할 테스트 : 동일한 동작을 하는 입력 값의 그룹은 동등한 것으로 취급함.
      - 경곗값 분석 테스트 : 입력 값의 경계 부분에서 발생할 수 있는 오류를 식별함.
      - 결정 테이블 테스트
      - 상태 전이 테스트
      - 분류 트리 테스트
      - 조합 테스트
      - 시나리오 테스트
  2. 구조기반 테스트 (화이트박스 테스트)
     소프트웨어의 소스코드를 바탕으로 시스템을 테스트하는 기법.
      - 구문 커버리지 : 코드의 각 문장의 단위로 테스트함.
      - 결정 커버리지 : 코드의 모든 분기점이 실행되는지를 테스트함.
      - 조건 커버리지 : 코드의 조건문에서 모든 조건이 충족되었는지를 테스트함.
      - 경로 커버리지 : 소프트웨어 코드의 모든 가능한 실행 경로를 테스트함.
      - 데이터 흐름 분석 : 데이터 흐름을 분석하여 변수의 정의, 사용, 변경 등을 테스트함.

  3. 경험기반 테스트
     테스터의 경험과 직관에 의존하여 테스트하는 기법.
     유연성과 적응성, 효율성, 비용 절감 등의 장점을 가짐.
      - 오류 추정
      - 탐색적 테스트
반응형