프로그램 실행 여부에 따른 테스트

정적 테스트

  • 프로그램을 실행하지 않고 명세서나 소스 코드를 대상으로 분석하는 테스트
    • 워크 스루, 인스펙션, 코드 검사

동적 테스트

  • 프로그램을 실행하여 오류를 찾는 테스트
    • 화이트박스 테스트, 블랙박스 테스트

테스트 기반에 따른 테스트

  • 명구경

세 기반 테스트

  • 사용자의 요구사항에 대한 명세를 빠짐없이 테스트 케이스로 만들어 구현하고 있는지 확인하는 테스트
    • 동등 분할, 경계값 분석(블랙박스 테스트)

조 기반 테스트

  • 소프트웨어 내부의 논리 흐름에 따라 테스트 케이스를 작성하고 확인하는 테스트
    • 구문 기반, 결정 기반, 조건 기반(화이트박스 테스트)

험 기반 테스트

  • 테스터의 경험을 기반으로 수행하는 테스트
    • 에러 추정, 체크 리스트, 탐색적 테스팅

시각에 따른 테스트

검증(Verification) 테스트

  • 개발자의 시각에서 제품의 생산 과정을 테스트하는 것
    • 단위 테스트, 통합 테스트, 시스템 테스트

확인(Validation) 테스트

  • 사용자의 시각에서 생산된 제품의 결과를 테스트하는 것
    • 인수 테스트(알파 테스트, 베타 테스트)

목적에 따른 테스트

  • 회복(Recovery) 테스트 : 시스템에 여러가지 결함을 주어 실패하도록 한 후 올바르게 복구되는지를 확인하는 테스트
  • 안전(Security) 테스트 : 시스템 보호 도구가 불법적인 침입으로부터 시스템을 보호할 수 있는지를 확인하는 테스트
  • 강도(Stress) 테스트 : 과부하 시에도 소프트웨어가 정상적으로 실행되는지 확인하는 테스트
  • 성능(Performance) 테스트 : 실시간 성능이나 전체적인 효율성을 진단하는 테스트
  • 구조(Structure) 테스트 : 소프트웨어 내부의 논리적인 경로, 소스 코드의 복잡도 등을 평가하는 테스트
  • 회귀(Regression) 테스트 : 소프트웨어의 변경 또는 수정된 코드에 새로운 결함이 없음을 확인하는 테스트 ★
  • 병행(Parallel) 테스트 : 변경된 소프트웨어와 기존 소프트웨어에 동일한 데이터를 입력하여 결과를 비교하는 테스트

테스트 커버리지 유형

  • 구결조 조변다
  • 문 커버리지 : 프로그램 내 모든 문장을 적어도 한 번 이상 실행하는 것을 기준으로 수행하는 테스트 커버리지
  • 정 커버리지 : 결정 조건 내 전체 조건식이 최소한 참/거짓 한 번의 값을 가지도록 측정하는 테스트 커버리지
  • 건 커버리지 : 전체 조건식 결과와 관계없이 관계없이 각 개별 조건식이 참/거짓 한 번 모두 갖도록 개별 조건식을 조합하는 테스트 커버리지
  • 건/결정 커버리지 : 전체 조건식이 참/거짓 한 번씩 가지면서, 개별 조건식이 참/거짓 모두 한 번씩 갖도록 조합하는 테스트 커버리지
  • 경/조건 결정 커버리지 : 각 개별 조건식이 다른 개별 조건식의 영향을 받지 않고 전체 조건식의 결과에 독립적으로 영향을 주도록 함으로써 조건/결정 커버리지를 향상시킨 테스트 커버리지
  • 중 조건 커버리지 : 결정 조건 내 모든 개발 조건식의 모든 가능한 조합을 100% 보장하는 테스트 커버리지

댓글남기기