DevBlackCat
정보처리기사: 통합 테스트 완전 정복! 본문
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
'정보처리기사 > 소프트웨어 개발' 카테고리의 다른 글
정보처리기사 : 인터페이스 설계 완전 정복!! (0) | 2024.11.13 |
---|---|
정보처리기사 :알고리즘 과 소스코드 분석도구 완전 정복!! (0) | 2024.11.13 |
정보처리기사: 소프트웨어 테스트 , 테스트 커버리지 (2) 완전 정복!! (0) | 2024.11.04 |
정보처리기사: 소프트웨어 테스트, 테스트 오라클 (1) 완전 정복!! (1) | 2024.11.01 |
정보처리기사: 버전 관리 와 백업과 복구와 빌드 자동화 완전 정복!! (1) | 2024.11.01 |