ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 정보처리기사[실기 핵심 정리] - 애플리케이션 통합테스트
    용어 정리 2024. 4. 14. 16:47

    결함관리 도구

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

    • 테스트 수행 후 발생한 결함을 추적하고 관리할 수 있게 해주는 도구

     

    2) 결함관리 프로세스

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

     

    3) 결함 추이 분석

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

    테스트 자동화 도구

    1) 테스트 자동화 도구의 개념

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

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

    장점 ● 반복 테스트의 효율화

    테스트의 일관성  및 정확성 향상

    즉각적인 피드백 제공

    다양한 테스트 결과 분석과 시각화
    단점 초기 도입 비용 및 시간

    도구의 사용 방법 교육 필요

    변경사항에 대한 테스트 스크립트 수정 필요

    특정 테스트 도구의 한계로 인한 제약사항 발생 가능

     

    3) 테스트 자동화 도구

    • 정적 분석 도구(Static Analysis Tools)
      • 애플리케이션을 실행하지 않고 분석하는 방법
      • 코드 표준, 스타일, 복잡성 및 잠재적 결함 등을 확인하는 데 사용
      • 종류 : Pmd, SonarQube, Cppcheck, Checkstyle
    • 테스트 실행 도구(Test Execution Tools)
      • 사전에 작성된 테스트 스크립트나 시나리오를 실행하는 도구
      • 데이터 주도 및 키워드 주도 방식을 활용할 수 있다.
      • 종류 : Selenuim,JUnit,TestNG
    • 성능 테스트 도구(Performance Test Tools)
      • 시스템의 성능, 부하, 스트레스 테스트를 위한 도구
    • 테스트 통제 도구(Test Control Tools)
      • 테스트의 전체 프로세스를 관리하는 도구
      • 테스트 관리 도구, 형상 관리 도구, 결함 추적/관리 도구
    • 테스트 장치(Test Harness)
      • 테스트 장치의 개념
        • 애플리케이션의 단위 또는 모듈 테스트에 사용하는 환경 및 도구
      • 테스트 장치 구성요소
    구성요소 설명
    테스트 드라이버
    (Test Driver)
    테스트 대상 하위 모듈을 호출하고, 파라미터를 전달하고, 모듈 테스트 수행 후의 결과를 도출하는 등 상향식 테스트에 필요하다.
    테스트 스텁
    (Test Stub)
    제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구로 하향식 테스트에 필요하다.
    테스트 슈트
    (Test Suites)
    테스트 대상 컴포넌트나 모듈, 시스템에 사용되는 테스트 케이스의 집합을 말한다.
    테스트 케이스
    (Test Case)
    입력 값, 실행 조건, 기대 결과 등의 집합을 말한다
    테스트 스트립트
    (Test Script)
    자동화된 테스트 실행 절차에 대한 명세를 말한다.
    목 오브젝트
    (Mock Object)
    사용자의 행위를 조건부로 사전에 입력해두면, 그 상황에 예정된 행위를 수행하는 객체를 말한다.

    통합 테스트

    1) 통합 테스트의 개념

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

    2) 통합 테스트 수행 방법의 분류

    • 하향식 통합 테스트(Top Down)
      • 메인 제어 모듈로부터 아래 방향으로 제어의 경로를 따라 이동하면서 하향식으로 통합하면서 테스트 진행
      • "깊이 우선" - "너비-우선" 방식으로 통합
      • 아직 개발되지 않은 하위 모듈은 더미 모듈인 스텁(Stup)을 개발하여 테스트 진행
    장점 장애 위치 파악이 쉬움

    중요 모듈은 먼저 테스트 실행
    단점 많은 스텁이 필요함

    하위 모듈의 불충분한 테스트
    • 상향식 통합 테스트(Bottom Up)
      • 최하위 레벨의 모듈브터 위쪽 방향으로 제어의 경로를 따라 통합하면서 테스트 진행
      • 하위 모듈을 클러스터(Cluster)로 결합하면서 위쪽 방향으로 진행
      • 아직 개발되지 않은 상위 모듈은 더미 모듈인 드라이버(Driver)를 개발하여 테스트 진행
      • 하위 수준의 모듈을 클러스터로 결함 -> 드라이버 작성 -> 클러스터 검사 -> 드라이버 제거후 상위로 결합
    장점 장애 위치 파악 쉬움

    모든 모듈 개발을 위한 시간 낭비가 불필요
    단점 중요 모듈들이 마지막에 테스트될 가능성이 높음
    • 빅뱅 테스트
      • 모든 구성요소들을 한번에 통합하여 테스트
      • 소규모 시스템에 편리한 테스트 방식
    장점 ● 단시간에 테스트를 할 수 있다 
    단점 장애가 일어난 위치를 파악하기 어렵다

    모든 모듈들이 설계된 후에 시작할 수 있기 때문에, 테스트 시간이 적어진다
    • 백본 테스트
      • 샌드위치 테스트
      • 상향식과 하향식의 장점을 이용하는 방식
      • 드라이버/스텁을 필요에 따라 만들어사용
      • 대규모 프로젝트에 사용
      • 비용이 많이 들어감

    3) 통합테스트 수행 순서

    • 통합 테스트 계획서를 검토
    • 통합 테스트를 수행할 테스트 환경을 준비
    • 통합 테스트 케이스 및 시나리오를 검토
    • 통합 모듈 및 인터페이스가 요구사항을 충족하는지 테스트 실행
    • 통합 테스트 결과를 기록
Designed by Tistory.