본문 바로가기
정보처리기사/10. 애플리케이션 테스트 관리

Chapter 02. 애플리케이션 통합 테스트

by HoPpangg 2021. 9. 28.
SMALL

1. 목 객체 유형 (더스드 스가)

  • 더미 객체 (Dummy)
    • 테스트할 때 객체만 필요하고 해당 객체의 기능까지는 필요하지 않은 경우에 사용
    • 더미 객체의 메서드가 호출되면 정상 동작은 수행하지 않고 예외 수행
  • 테스트 스텁 (Stub)
    • 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구로 더미 객체에의 단순 기능에 특정 상태를 가정해서 특정한 값을 리턴하거나 특정 메시지 출력
  • 테스트 드라이버 (Driver)
    • 테스트 대상 하위 모듈을 호출하고, 파라미터를 전달하고, 모듈 테스트 수행 후의 결과를 도출
  • 테스트 스파이 (Spy)
    • 주로 테스트 대상 클래스와 협력하는 클래스로 가는 출력을 검증하는데 사용
  • 가짜 객체 (Fake)
    • 실제 협력 클래스의 기능을 대체해야 할 경우에 사용
    • 실제 협력 클래스의 기능 중 전체나 일부를 훨씬 단순하게 구현

2. 통합 테스트

  • 애플리케이션 통합 테스트는 소프트웨어 각 모듈 간의 인터페이스 관련 오류 및 결함을 찾아내기 위한 체계적인 테스트 기법
  • 하향식 - 스텁 , 상향식 - 드라이버 (하스 상드)

3. 샌드위치 통합 테스트

  • 샌드위치 통합은 상향식 통합 테스트와 하향식 통합 테스트 방식을 결합한 테스트 방식
  • 하위 프로젝트가 있는 큰 규모의 통합 테스트에서 사용하는 방식
  • 병렬 테스트가 가능하고 시간 절약이 가능
  • 스텁과 드라이버의 필요성이 매우 높은 방식이고, 비용이 많이 소요

4. 테스트 자동화 도구

  • 테스트 도구를 활용하여 반복적인 테스트 작업을 스크립트 형태로 구현함으로써, 테스트 시간 단축과 인력 투입 비용을 최소화하는 한편, 쉽고 효울적인 테스트를 수행할 수 있는 방법

5. 테스트 자동화 도구 유형(정실성통)

  • 정적 분석 도구 (Static Analysis Tools)
    • 정적 분석 도구는 만들어진 애플리케이션을 실행하지 않고 분석하는 도구
  • 테스트 실행 도구 (Test Execution Tools)
    • 테스트를 위해 작성된 스크립트를 실행하고, 작성된 스크립트는 각 스크립트마다 특정 데이터와 테스트 수행 방법을 포함
  • 성능 테스트 도구 (Performance Test Tools)
    • 애플리케이션의 처리량, 응답 시간, 경과 시간, 자원 사용률에 대해 가상의 사용자를 생성하고 테스트를 수행함으로써 성능 목표를 달성하였는지를 확인하는 도구
  • 테스트 통제 도구
    • 테스트 통제 도구에는 테스트 계획 및 관리를 위한 테스트 관리 도구, 테스트 수행에 필요한 데이터와 도구를 관리하는 형상 관리 도구, 테스트에서 발생한 결함에 대해 관리하거나 협업을 지원하기 ㅜ이한 결함 추척/관리 도구 등이 있음

6. 테스트 하네스

  • 애플리케이션 컴포넌트 및 모듈을 테스트하는 환경의 일부분으로, 테스트를 지원하기 위한 코드와 데이터를 말하며, 단위 또는 모듈 테스트에 사용하기 위해 코드 개발자가 작성

7. 테스트 하네스 구성 요소 (드 스슈케 스목)

  • 테스트 드라이버 (Test Driver) : 테스트 대상 하위 모듈을 호출하고, 파라미터를 전달하고, 모듈 테스트 수행 후의 결과를 도출하는 등 상향식 테스트에 필요
  • 테스트 스텁 (Test Stub) : 제어 모듈이 호출하는 타 모듈의 기능을 단순히 수행하는 도구로 하향식 테스트에 필요
  • 테스트 슈트 (Test Suites) : 테스트 대상 컴포넌트나 모듈, 시스템에 사용되는 테스트 케이스의 집합
  • 테스트 케이스 (Test Case) : 입력값, 실행 조건, 기대 결과 등의 집합
  • 테스트 스크립트 (Test Script) : 자동화된 테스트 실행 절차에 대한 명세
  • 목 오브젝트 (Mock Object) : 사용자의 행위를 조건부로 사전에 입력해 두면, 그 상황에 예정된 행위를 수행하는 객체

8. 테스트 리포팅 (정요품 결실)

  • 테스트 결과 정리
  • 테스트 요약 문서
  • 품질 상태
  • 테스트 결과서
  • 테스트 실행 절차 리뷰 및 평가

9. 결함 관리 프로세스 (계기검수 재추최)

  • 결함 관리 계획
  • 결함 기록
  • 결함 검토
  • 결함 수정
  • 결함 재확인
  • 결함 상태 추적 및 모니터링 활동
  • 최종 결함 분석 및 보고서 작성

10. 결함분석 방법

  • 구체화 (Specification) : 결함의 원인을 찾기 위해 결함을 발생시킨 입력값, 테스트 절차, 테스트 환경을 명확히 파악하는 방법
  • 고립화 (Isolation) : 입력값, 테스트 절차, 테스트 환경 중 어떤 요소가 결함 발생에 영향을 미치는지 분석하는 방법
  • 일반화 (Generalization) : 결함 발생에 영향을 주는 요소를 최대한 일반화 시키는 방법

11. 결함 생명 주기

  • Open - 결함 등록
  • Reviewed - 결함 검토
  • Assigned - 결함 할당
  • Resolved - 결함 수정
  • Verified - 결함 확인
  • Closed - 결함 종료
  • Reopen - 결함 재등록
  • Deferred - 결함 조치 보류

12. 테스트 커버리지

  • 테스트 커버리지는 두어진 테스트 케이스에 의해 수해오디는 소프트웨어의 테스트 범위를 측정하는 테스트 품질 측정 기준
  • 테스트의 정확성과 신뢰성을 향상시키는 역할

13. 결함 분류 (시기지문)

유형 설명 세부 유형
시스템 결함 비정상적인 종료/중단, 응답 시간 지연, 데이터베이스 에러 등 주로 애프리케이션 환경과 데이터베이스 처리에서 발생하는 결함 비정상적인 종료/중단, 응답시간 지연, 데이터베이스 에러
기능 결함 사용자의 요구사항 미반영/불일치, 부정확한 비즈니스 프로세스, 스크립트 에러, 타 시스템 연동 시 오류 등 기획, 설계, 업무 시나리오 단계에서 발생한 결함 요구사항 미반영/불일치, 부정확한 비즈니스 프로세스, 스크립트 에러, 시스템 연동 시 오류
GUI 결함 GUI 결함은 응용 프로그램의 UI 비일관성, 부정확한 커서/메시지, 데이터 타입의 표시 오류 등으로 사용자 화면 설계에서 발생한 결함 응용 프로그램 UI 비일관성, 부정확한 커서/메시지, 데이터 타입의 표시 오류
문서 결함 기획자, 사용자, 개발자 간의 의사소통과 기록이 원활하지 않은 경우에 발생하는 결함 사용자의 온라인/오프라인 메뉴얼의 불일치, 요구사항 분석서와 기능 요구사항의 불일치로 인한 불완전한 상태의 문서의 경우

14. 결함 심각도별 분류 (치주보경단)

  • 치명적(Critical) 결함 : 기능이나 제품의 테스트를 완전히 방해하거나 못하게 하는 결함
  • 주요 (Major) 결함 : 기능이 기대와 많이 다르게 동작하거나 그 기능이 해야 하는 것을 못하는 결함
  • 보통(Normal) 결함 : 제품이나 프로그램이 특정 기준을 충족하지 못하거나 전체에 영향을 주지 않는 일부 기능이 부자연스러운 결함
  • 경미한(Minor) 결함 : 사용자의 불편함을 유발하는 결함
  • 단순(Simple)결함 : 사소한 버그라고 하며, 기능에는 영향이 없지만 수정되어야 하는 결함
728x90
LIST

댓글