관리 메뉴

DevBlackCat

정보처리기사: 통합 테스트 완전 정복! 본문

정보처리기사/소프트웨어 개발

정보처리기사: 통합 테스트 완전 정복!

DevBlackCat 2024. 11. 11. 12:29
728x90

결함관리 도구의 개념 및 중요성

  • 테스트 수행 후 발생한 결함을 추적하고 관리할 수 있게 해주는 도구
  • 팀 간의 커뮤니케이션 향상, 결함 상태 및 추적성 향상

결함관리 프로세스

  • 에러 발견
  • 에러 등록
  • 에러 분석
  • 결함 확정
  • 결함 할당
  • 결함 조치
  • 결함 조치 검토 및 승인

결함 관리 측정 지표

  • 결함 분포: 각 애플리케이션 모듈 또는 컴포넌트의 특정 속성에 해당하는 결함의 수를 측정하여 결함의 분포를 분석할 수 있다.
  • 결함 추세: 테스트 진행 시간의 흐름에 따른 결함의 수를 측정하여 결함 추세를 분석할 수 있다.
  • 결함 에이징: 등록된 결함에 대해 특정한 결함 상태의 지속 시간을 측정하여 분석할 수 있다.

테스트 자동화 도구

  • 테스트 자동화 도구의 개념: 테스트를 효율적으로 수행하기 위해 스크립트나 도구를 활용하여 반복적인 테스트 작업을 자동화하는 방법. 테스트 시간 단축, 비용 절감, 그리고 테스트의 효율성과 일관성 향상을 목표로 한다.

테스트 자동화 도구의 장/단점

장점

  • 반복 테스트의 효율화
  • 테스트의 일관성 및 정확성 향상
  • 즉각적인 피드백 제공
  • 다양한 테스트 결과 분석과 시각화

단점

  • 초기 도입 비용 및 시간
  • 도구의 사용 방법 교육 필요
  • 변경사항에 대한 테스트 스크립트 수정 필요
  • 특정 테스트 도구의 한계로 인한 제약사항 발생

테스트 자동화 도구 유형

  • 정적 분석 도구 (Static Analysis Tools): 애플리케이션을 실행하지 않고 분석하는 방법. 코드 표준, 스타일, 복잡성 및 잠재적 결함 등을 확인하는 데 사용.
    종류: Pmd, SonarQube, Cppcheck, Checkstyle 등
  • 테스트 실행 도구 (Test Execution Tools): 사전에 작성된 테스트 스크립트나 시나리오를 실행하는 도구. 데이터 주도 및 키워드 주도 방식을 활용할 수 있다.
    종류: Selenium, JUnit, TestNG
  • 성능 테스트 도구 (Performance Test Tools): 시스템의 성능, 부하, 스트레스 테스트를 위한 도구.
    종류: JMeter, LoadRunner
  • 테스트 통제 도구 (Test Control Tools): 테스트의 전체 프로세스를 관리하는 도구. 테스트 관리 도구, 형상 관리 도구, 결함 추적/관리 도구
  • 테스트 장치 (Test Harness): 애플리케이션의 단위 또는 모듈 테스트에 사용하는 환경 및 도구
구성요소 설명
테스트 드라이버 (Test Driver) 테스트 대상 하위 모듈을 호출하고, 파라미터를 전달하고, 모듈 테스트 수행 후의 결과를 도출하는 등 상향식 테스트에 필요하다.
테스트 스텁 (Test Stub) 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구로 하향식 테스트에 필요하다.

 

테스트 장치 (Test Harness) - 구성요소

구성요소 설명
테스트 슈트 (Test Suites) 테스트 대상 컴포넌트나 모듈, 시스템에 사용되는 테스트 케이스의 집합을 말한다.
테스트 케이스 (Test Case) 입력 값, 실행 조건, 기대 결과 등의 집합을 말한다.
테스트 스크립트 (Test Script) 자동화된 테스트 실행 절차에 대한 명세를 말한다.
목 오브젝트 (Mock Object) 사용자의 행위를 조건부로 사전에 입력해두면, 그 상황에 예정된 행위를 수행하는 객체를 말한다.

통합 테스트

  • 통합 테스트의 개념: 소프트웨어 각 모듈 간의 인터페이스 관련 오류 및 결함을 찾아내기 위한 테스트 기법. 각 모듈이 서로 어떻게 동작하는지 확인하는 작업을 포함한다.
  • 비점증적 방식(빅뱅)과 점증적 방식(상향식, 하향식)이 있다.

하향식 통합 테스트 (Top Down)

  • 메인 제어 모듈로부터 아래 방향으로 제어의 경로를 따라 하향식으로 통합하면서 테스트 진행
  • ‘깊이-우선’ 또는 ‘너비-우선’ 방식으로 통합
  • 하위 모듈이 미개발된 경우 더미 모듈인 스텁(Stub)을 개발하여 테스트

장점

  • 장애 위치 파악이 쉬움
  • 중요 모듈을 우선 테스트

단점

  • 많은 스텁이 필요함
  • 하위 모듈의 불충분한 테스트

상향식 통합 테스트 (Bottom Up)

  • 최하위 모듈부터 위로 통합하며 테스트 진행
  • 하위 모듈을 클러스터(Cluster)로 결합하여 위쪽으로 진행
  • 상위 모듈이 미개발된 경우 더미 모듈인 드라이버(Driver)를 개발하여 테스트

장점

  • 장애 위치 파악이 쉬움
  • 모든 모듈 개발을 위한 시간 낭비 감소

단점

  • 중요 모듈이 마지막에 테스트됨

빅뱅 테스트

  • 모든 구성 요소를 한 번에 통합하여 테스트 진행
  • 소규모 시스템에 적합한 테스트 방식

장점

  • 단시간에 테스트 가능

단점

  • 장애 위치 파악이 어려움
  • 모든 모듈 설계 완료 후 시작 가능하여 테스트 시간이 줄어듬

백본 테스트

  • 샌드위치 테스트
  • 상향식과 하향식의 장점을 이용한 방식
  • 드라이버/스텁을 필요에 따라 제작하여 사용
  • 대규모 프로젝트에 적합
  • 비용이 많이 든다
728x90