소프트웨어공학

테스팅 (Part2)

chlqhrud0208 2024. 12. 16. 21:34
  • 화이트박스 테스트 과정
    1) 소스코드를 통해 어플리케이스의 구조를 이해 (논리흐름도)
    2) 검증기준(커버리지)를 정함
    3) 각 경로에 대한 테스트 케이스를 준비, 결과 비교

 

  • 커버리지
    - 테스트 데이터를 선택하기 위하여 테스트 실행 프로그램이 어떤 기준을 커버하는지 결정
    1) 문장 커버리지
    2) 분기 커버리지
    3) 조건 커버리지
    4) 조건/결정 커버리지
    5) 분기 커버리지
       -> 모든 테스트 케이스를 조합하여 테스트를 수행하는 방법

 

  • 통합테스트 모듈 결합 방법
    - 빅뱅 통합
       장점 : 일정 관리가 편함, 테스트를 위해 스텁을 만들 필요가 없음
       단점 : 오류의 위치와 원인을 찾기 어려움, 개발 진도를 예측하기가 어려움
    - 하향식
       장점 : 중요한 모듈의 인터페이스를 초기에 테스트해볼 수 있음
                 오류의 원인을 찾아내기 쉬움 (점증적 개발)
                 개발자 입장에서 용이함
       단점 : 입출력 모듈이 하위에 위치하기 때문에 테스트 케이스 만들기가 어려움
                 중요한 하위층 모듈은 충분한 시험을 할 수 없음
    - 상향식
       장점 : 오류의 원인을 찾아내기 쉬움 (점증적 개발)
                 하위층 모듈을 상위층 모듈보다 많이 테스트해볼 수 있음
       단점 : 초기에 시스템의 뼈대가 갖추어지지 않음
                 상위층의 중요한 인터페이스가 마지막에 가서야 확인할 수 있음
                 상위층을 시험해볼 수 있는 기회가 적음
    - 연쇄식
       장점 : 초기에 시스템의 골격이 형성됨
                 개발자들이 나누어 개발할 수 있음

  • 통합테스트 용어
    - 드라이버 : 시험 대상 모듈을 호출하는 상위 모듈 
    - 스텁 : 시험 대상 모듈이 호출하는 하위 모듈
    -> 둘다 테스트를 위한 더미 프로그램이다.