[소프트웨어개발] 테스트 기법

thingzoo·2024년 2월 5일
0
post-thumbnail

화이트박스 테스트

(20.6)

  • 모듈 안의 내용(작동)을 볼 수 있음(=글래스박스 테스트)
  • 내부의 논리적인 모든 경로를 테스트해 테스트케이스 설계
  • 소스코드의 모든 문장을 한번 이상 수행으로써 진행
  • 구조적 테스트
  • 개발자 관점의 단위테스트 방법

화이트박스 테스트 기법

기초 경로 검사(Basic Path Test)

  • McCabe가 제안한 대표적인 화이트박스 테스트기법
  • 순합복잡도(Cyclometic Complexity): 프로그램의 논리적인 복잡도를 정량적으로 측정하기 위한 척도
  • 분기 노드의 수보다 항상 큰 값을 가짐
  • 순환복잡도(CC) 계산식: V(G)=E-N+2(20.8)

제어 구조 검사

  • 조건검사(Condition Test): 논리적 조건을 테스트하는 기법
  • 루프검사(Loop Test): 반복구조에 맞춰 테스트하는 기법
  • 데이터흐름검사(Data Flow Test): 프로그램에서 변수의 정의와 변수 사용의 위치에 초점을 맞춰 테스트하는 기법

블랙박스 테스트

  • 모듈 안에서 어떤 일(작동)이 일어나는지 알수없음
  • 프로그램의 사용자 요구사항 명세를 보면서 테스트
  • 기능테스트
  • 소프트웨어 인터페이스에서 실시
  • 사용자 관점의 테스트 방법

블랙박스 테스트 기법

(20.8)

  • 동치(동등) 분할 검사(Equivalence Partitioning Testing): 입력조건에 타당한 입력값과 타당하지 않은 입력값 개수를 균등하게 해 테스트케이스를 정하고, 해당 입력값에 맞는 결과가 출력되는지 확인
  • 경계값 분석(Boundary Value Testing): 입력값의 중간값보다 경계값에서 오류 발생 확률이 높다는 점을 이용(20.6)
  • 원인-효과 그래프 검사(Cause-Effect Graphing Testing): 입력 데이터간의 관계와 출력에 영향을 미치는 상황을 체계적으로 분석한 다음 효용성이 높은 테스트케이스를 선정해 검사
  • 비교 검사(Comparison Testing): 여러 버전의 프로그램에 동일한 테스트자료를 제공해 동일한 결과가 출력되는지 테스트
  • 오류 예측 검사(Error Guessing): 다른 블랙박스 테스트 기법으로 찾아낼 수 없는 오류를 찾아내는, 과거의 경험이나 테스터의 감각으로 테스트
  • 상태전이 검사: 시스템에 반영되는 이전의 상태가 무엇인지, 상태 간 전이, 상태를 변화시키는 이벤트와 입력값 파악
profile
공부한 내용은 바로바로 기록하자!

0개의 댓글