맨위로가기

통합 시험

"오늘의AI위키"는 AI 기술로 일관성 있고 체계적인 최신 지식을 제공하는 혁신 플랫폼입니다.
"오늘의AI위키"의 AI를 통해 더욱 풍부하고 폭넓은 지식 경험을 누리세요.

1. 개요

통합 시험은 주요 설계 항목들이 기능, 성능, 안정성 요구사항을 제대로 구현하는지 검증하는 것을 목적으로 한다. 빅뱅, 혼합형(샌드위치), 위험-가장 어려운 것, 하향식 및 상향식 방식 등 다양한 접근 방식이 존재하며, 협업 통합, 백본 통합, 계층 통합 등의 통합 패턴도 활용된다. 샌드위치 시험은 하향식과 상향식 시험을 결합한 방식이다.

더 읽어볼만한 페이지

  • 하드웨어 테스트 - JTAG
    JTAG는 집적 회로의 테스트와 디버깅을 위해 개발된 IEEE 1149.1 표준 인터페이스로, 칩 내부 조사, 제어, 임베디드 시스템 디버깅, 펌웨어 프로그래밍 등에 활용된다.
  • 하드웨어 테스트 - 환경 스트레스 스크리닝
    환경 스트레스 스크리닝(ESS)은 제품의 작동 수명 동안 겪을 물리적 환경 조건을 인위적으로 조성하여 제품 신뢰성을 사전에 검증하고 초기 불량률을 감소시켜 품질을 향상시키는 시험 과정이다.
  • 소프트웨어 테스트 - 보안 취약점
    보안 취약점은 시스템의 설계, 구현, 운영, 관리상 결함이나 약점으로, 위협에 의해 악용되어 시스템 보안 정책을 위반할 수 있는 요소이며, ISO 27005, IETF RFC 4949, NIST SP 800-30, ENISA 등 다양한 기관에서 정의하고 있다.
  • 소프트웨어 테스트 - A/B 테스트
    A/B 테스트는 두 가지 이상의 대안을 비교하여 더 나은 성과를 판단하는 방법으로, 웹사이트, 애플리케이션 등 다양한 분야에서 사용자 인터페이스 등을 테스트하며 통계적 가설 검정을 기반으로 한다.
통합 시험
개요
정의소프트웨어 테스트의 한 종류로, 개별적으로 테스트된 소프트웨어 모듈들을 결합하여 전체 시스템으로 통합하는 과정에서 발생하는 결함 및 상호 작용을 검증하는 테스트 기법이다.
목표모듈 간의 인터페이스, 데이터 흐름, 제어 흐름 등 통합 과정에서 발생하는 문제점을 발견하고 해결하여 전체 시스템의 안정성과 신뢰성을 확보하는 것이다.
주요 검증 사항모듈 간의 인터페이스 호환성
데이터 전달의 정확성
제어 흐름의 적절성
예상치 못한 상호 작용
통합 방법
빅뱅 통합모든 모듈을 한 번에 통합하여 테스트하는 방식이다. 초기 단계에서 많은 결함을 발견할 수 있지만, 결함의 원인을 찾기 어렵고 수정에 많은 비용이 소모될 수 있다.
상향식 통합하위 모듈부터 점진적으로 통합하여 테스트하는 방식이다. 하위 모듈의 안정성을 확보한 후 상위 모듈을 통합하므로, 결함의 원인을 찾기 쉽고 수정이 용이하다.
하향식 통합상위 모듈부터 점진적으로 통합하여 테스트하는 방식이다. 상위 모듈의 요구사항을 충족하는지 검증하는 데 유용하며, 초기 단계에서 시스템의 전체적인 구조를 파악할 수 있다.
샌드위치 통합상향식 통합과 하향식 통합을 병행하는 방식이다. 시스템의 핵심 모듈을 먼저 통합하여 테스트하고, 나머지 모듈들을 점진적으로 통합한다.
테스트 단계
단위 테스트각 모듈을 개별적으로 테스트하여 기능의 정확성을 검증한다.
통합 테스트단위 테스트를 완료한 모듈들을 결합하여 인터페이스와 상호 작용을 테스트한다.
시스템 테스트전체 시스템을 테스트하여 요구사항을 충족하는지 검증한다.
인수 테스트최종 사용자가 시스템을 테스트하여 사용성을 평가한다.
관련 용어
스텁 (Stub)하위 모듈의 기능을 임시로 대체하는 가짜 모듈이다. 하향식 통합 테스트에서 사용된다.
드라이버 (Driver)상위 모듈의 기능을 임시로 대체하는 가짜 모듈이다. 상향식 통합 테스트에서 사용된다.
테스트 케이스테스트의 목적, 입력 값, 실행 조건, 예상 결과 등을 정의한 문서이다.
테스트 스위트관련된 테스트 케이스들의 모음이다.
회귀 테스트기존 기능의 변경으로 인해 새로운 결함이 발생하지 않았는지 확인하는 테스트이다.
자동화
자동화 도구JUnit
Selenium
TestComplete
참고 자료

2. 목적

통합 시험의 목적은 주요 설계 항목들이 기능, 성능, 안정성 요구사항을 잘 구현하고 있는지를 검증하는 것이다. "설계 항목들" 즉 통합된 모듈 그룹들은 노출되어 있는 인터페이스에 정상적인 입력 데이터나 비정상적인 오류 입력 데이터를 넣어보는 블랙박스 검사 기법으로 테스트된다.

3. 접근 방식

통합 시험의 몇 가지 유형으로는 빅뱅, 혼합형(샌드위치), 위험-가장 어려운 것, 하향식 및 상향식 방식이 있다.[3] 다른 통합 패턴[3]으로는 협업 통합, 백본 통합, 계층 통합, 클라이언트-서버 통합, 분산 서비스 통합 및 고주파수 통합이 있다.

빅뱅 시험에서는 개발된 대부분의 모듈을 결합하여 완전한 소프트웨어 시스템 또는 시스템의 주요 부분을 형성한 다음 통합 시험에 사용한다.[3][6] 이 방법은 통합 시험 프로세스에서 시간을 절약하는 데 매우 효과적이다.[3][6] 그러나 테스트 케이스와 그 결과가 제대로 기록되지 않으면 전체 통합 프로세스가 더 복잡해지고 시험 팀이 통합 시험의 목표를 달성하는 데 방해가 될 수 있다.[3][6]

상향식 시험에서는 가장 낮은 수준의 구성 요소를 먼저 테스트한 다음 더 높은 수준의 구성 요소 테스트를 용이하게 하는 데 사용한다. 이 프로세스는 계층 구조의 맨 위에 있는 구성 요소가 테스트될 때까지 반복된다.[3] 모든 하위 또는 하위 수준 모듈, 프로시저 또는 기능이 통합된 다음 테스트된다. 하위 수준 통합 모듈의 통합 시험 후 다음 수준의 모듈이 형성되어 통합 시험에 사용할 수 있다. 이 접근 방식은 동일한 개발 수준의 모든 또는 대부분의 모듈이 준비된 경우에만 유용하다. 이 방법은 또한 개발된 소프트웨어의 수준을 결정하는 데 도움이 되며 백분율 형태로 시험 진행 상황을 보고하기 쉽게 해준다.[3]

하향식 시험에서는 가장 상위 통합 모듈을 먼저 시험하고 관련 모듈이 끝날 때까지 모듈의 분기를 단계별로 시험한다.[3]

샌드위치 시험은 하향식 시험과 상향식 시험을 결합한다.[3] 이러한 종류의 시험의 한계는, 설계 항목의 실행 확인 외에, 지정된 통합 시험에 명시되지 않은 조건은 일반적으로 시험되지 않는다는 것이다.[3]

3. 1. 빅뱅 (Big Bang) 방식

빅뱅 시험에서는 개발된 대부분의 모듈을 결합하여 완전한 소프트웨어 시스템 또는 시스템의 주요 부분을 형성한 다음 통합 시험에 사용한다.[3][6] 이 방법은 통합 시험 프로세스에서 시간을 절약하는 데 매우 효과적이다.[3][6] 그러나 테스트 케이스와 그 결과가 제대로 기록되지 않으면 전체 통합 프로세스가 더 복잡해지고 시험 팀이 통합 시험의 목표를 달성하는 데 방해가 될 수 있다.[3][6]

3. 2. 상향식 (Bottom-up) 방식

상향식 시험에서는 가장 낮은 수준의 구성 요소를 먼저 테스트한 다음 더 높은 수준의 구성 요소 테스트를 용이하게 하는 데 사용한다. 이 프로세스는 계층 구조의 맨 위에 있는 구성 요소가 테스트될 때까지 반복된다.[3][6] 모든 하위 또는 하위 수준 모듈, 프로시저 또는 기능이 통합된 다음 테스트된다. 하위 수준 통합 모듈의 통합 시험 후 다음 수준의 모듈이 형성되어 통합 시험에 사용할 수 있다. 이 접근 방식은 동일한 개발 수준의 모든 또는 대부분의 모듈이 준비된 경우에만 유용하다. 이 방법은 또한 개발된 소프트웨어의 수준을 결정하는 데 도움이 되며 백분율 형태로 시험 진행 상황을 보고하기 쉽게 해준다.[3][6]

3. 3. 하향식 (Top-down) 방식

하향식 시험에서는 가장 상위 통합 모듈을 먼저 시험하고 관련 모듈이 끝날 때까지 모듈의 분기를 단계별로 시험한다.[3][6] 최상위 모듈부터 시작하여 하위 모듈로 점차적으로 통합해 가면서 시험하는 방식이다.

3. 4. 샌드위치 (Sandwich) 방식

샌드위치 시험은 하향식 시험과 상향식 시험을 결합한 방식이다.[3][6] 이러한 종류의 시험의 한계는, 설계 항목의 실행 확인 외에, 지정된 통합 시험에 명시되지 않은 조건은 일반적으로 시험되지 않는다는 것이다.[3][6]

3. 5. 기타 통합 패턴

통합 시험에는 협업 통합, 백본 통합, 계층 통합, 클라이언트-서버 통합, 분산 서비스 통합, 고주파수 통합 등 다양한 패턴이 존재한다.[3][6]

4. 한계

참조

[1] 서적 ISO/IEC/IEEE International Standard - Systems and software engineering ISO/IEC/IEEE 24765:2010(E)
[2] 서적 Testing in Software Development https://books.google[...] BCS 2014-10-31
[3] 서적 Testing Object-Oriented Systems: Models, Patterns, and Tools Addison Wesley
[4] 서적 ISO/IEC/IEEE International Standard - Systems and software engineering ISO/IEC/IEEE 24765:2010(E)
[5] 서적 Testing in Software Development https://books.google[...] BCS 2014-10-31
[6] 서적 Testing Object-Oriented Systems: Models, Patterns, and Tools Addison Wesley



본 사이트는 AI가 위키백과와 뉴스 기사,정부 간행물,학술 논문등을 바탕으로 정보를 가공하여 제공하는 백과사전형 서비스입니다.
모든 문서는 AI에 의해 자동 생성되며, CC BY-SA 4.0 라이선스에 따라 이용할 수 있습니다.
하지만, 위키백과나 뉴스 기사 자체에 오류, 부정확한 정보, 또는 가짜 뉴스가 포함될 수 있으며, AI는 이러한 내용을 완벽하게 걸러내지 못할 수 있습니다.
따라서 제공되는 정보에 일부 오류나 편향이 있을 수 있으므로, 중요한 정보는 반드시 다른 출처를 통해 교차 검증하시기 바랍니다.

문의하기 : help@durumis.com