정보처리기사

테스트 관련

Ski_ 2022. 10. 13. 17:59

프로그램 실행 여부에 따른 분류

- 정적 분석 기법

> 소스 코드의 실행 없이 코드의 의미를 분석해 결함을 찾아내는 원시적 코드 분석 기법

- 동적 분석 기법

> 소스 코드를 실행해 프로그램 동작이나 반응을 추적하고 코드에 존재하는 메모리 누수,

스레드 결함 등을 분석하는 기법

 

테스트 기법에 따른 분류

화이트박스 테스트 : 모듈 내부의 동작을 직접 관찰 >기초 경로 검사(Basc Path Test)

  • 화이트박스 테스트에서 수행하는 구조적 커버리지
    1. 구분 커버리지
      • 최소 한 번은 모든 문장을 수행, 시험 대상의 전체 구문 중에 테스트에 의해 실행된 구문을 측정
    2. 결정/분기 커버리지
      • 시험 대상의 전체 분기 중 테스트에 의해 실행된 것 측정, 결정 검증 기준이라고도 하며
      • 조건별로 T/F일 때 수행
    3. 조건 커버리지 : 
      • 전체 조건식에 상관없이 개별 조건식의 T/F에 대해 수행,
      • 모든 조건식에 T/F중 테스트에 의해 실행된 것을 측정

 블랙박스 테스트 : 기능 동작 여부를 확인

  1. 동치 분할 검사(Equivalence Partitioning Testing) : 입력 자료에 초점을 맞춰 검사
  2. 경게값 분석(Boundary Value Analysis) : 입력 조건을 경계값에 초점을 두어 검사
  3. 원인-효과 그래프 검사(Cause-effect Graphing Testing) : 입력 데이터 간의 관계와 출력에  미치는 상황을 체계적으로 분석한 뒤 효용성이 높은 테스트 케이스를 선점하여 검사
  4. 오류 예측 검사(Fault based testing): 과거의 경험을 토대로 검사
  5. 비교 검사(Comparison Testing) : 여러 버전의 프로그램에 동일한 테스트 자료를 실행해 출력이 동일한지 검사

 

3. 테스트에 대한 시각에 따른 분류

- 검증 테스트 : 개발자가 확인

- 확인 테스트 : 사용자가 확인

  

테스트 오라클

 

- (True)오라클: 모든 입력값에 적합한 결과를 생성, 발생한 오류를 모두 검출,

너무 많은 데이터> 검사 힘듦 > 비행기, 미사일 등 에서 사용

- 샘플링(Sampling) 오라클: 임의로 선정한 몇 개의 입력값에 대해서만 기대하는 결과 제공

- 휴리스틱(Heuristic) 오라클: 임의의 입력값에 대해 올바른 결과 제공,

나머지 값들에 대해 휴리스틱(추정)으로 처리

- 일관성 검사(Consistent) 오라클: 애플리케이션 변경이 있을 때 수행 전후 결과값이 같은지 확인

 

테스트케이스의 구성 요소 : 테스트 조건, 테스트 데이터, 예상 결과

반응형