Software Engineering/Testing

SW 테스트 종류 (정적 테스트, 동적 테스트)

임아톰 2023. 4. 11. 11:07

SW 테스트 목적

SW 테스트의 목적은 결함이 없음을 보이려는게 아니라, 결함을 발견하는 것입니다. 따라서 SW 테스트의 성과는 SW 결함 목록입니다.

프로그램의 조건은 매우 많으므로 완벽한 테스트는 불가능합니다. 현실적인 테스트가 되어야 하며, 효율적으로 테스트가 수행되어야 합니다. 

 

SW 테스트 구분

SW 테스트는 정적(Static) 방법과 동적(Dynamic) 방법으로 구분됩니다.

정적 방법과 동적 방법을 구분하는 기준은 프로그램의 실행 여부 입니다.

프로그램을 실행하지 않고 결함을 찾아내는 것이 정적 테스트이고 프로그램을 실행하여 결함을 찾아내는 것이 동적 테스트입니다.

 

정적 (Static) 테스트

  • 프로그램을 실행하지 않고 결함을 찾아내는 것
  • 소프트웨어 개발 중 생성되는 모든 산출물에 적용 가능
  • 대표적인 방법
    • 동료 검토(Peer Review)
      • 인스펙션 (Inspection), 워크쓰루 (Walk-through), 데스크 체크 (Desk check)
    • 도구를 이용한 정적 분석

 

동적 (Dynamic) 테스트

  • 프로그램을 실행하여 결함을 찾아내는 것
  • 발견된 결함은 디버깅하여 수정해야 함
  • 대표적인 방법
    • 블랙박스 테스트: 출력 값에 초점을 두고 테스팅 하는 방법
      • 동등 분할, 경계값 분석, 페어 와이즈, 백투백, 결함 주입, 에러 추정
    • 화이트박스 테스트: 소스 코드를 기반으로 테스팅 하는 방법
      • 함수 커버리지, 조건 커버리지, 결정 커버리지

 

반응형