소프트웨어 테스트 수준

소프트웨어 테스트에는 여러 수준이 있습니다. 크게 기능 테스트와 비기능 테스트라는 두 범주로도 나뉩니다. 두 범주는 다음 장에서 자세히 살펴봅니다.

소프트웨어 테스트 수준 개요

테스트의 네 가지 수준은 다음과 같습니다.

  • 단위 테스트
  • 통합 테스트
  • 시스템 테스트
  • 인수 테스트

Overview of Software Testing LevelsUnit TestTest an IndividualComponentIntegration TestTest ComponentGroupsSystem TestTest the IntegratedSystemAcceptance TestTest the FinalSystem
전체 크기 도표 열기

소프트웨어 테스트 수준 개요

단위 테스트

단위는 소스 코드에서 독립적으로 테스트할 수 있는 가장 작은 부분입니다. 단위 테스트는 첫 번째 테스트 수준이며, 일반적으로 소프트웨어 테스터보다 개발자나 같은 팀의 구성원이 수행합니다. 여러 단위를 통합하기 전에 단위 테스트를 완료해야 합니다. 명확한 단위 테스트 계획과 테스트 케이스가 필수입니다.

개별 단위가 올바르게 작동한다는 사실을 확인하면 안심하고 통합 단계로 넘어갈 수 있습니다. 처음에는 개발과 테스트를 병행하는 과정이 느리게 느껴질 수 있습니다. 결함을 발견할 때마다 코드를 수정해야 하기 때문입니다. 시간이 지나면 코드 품질이 좋아지고 결함은 줄어듭니다. 이렇게 기반을 다져 두면 이후 개발이 빨라져 시간을 절약할 수 있습니다.

Unit Testing FlowWrite or ModifyYour CodeCreate UnitTest CasesCompile and ExecuteTestsCollect TestResultsEncountereda Failure?YesNoTestsPass
전체 크기 도표 열기

단위 테스트

효과적인 단위 테스트는 비용도 줄입니다. 일반적으로 개발 후반에 결함을 고치는 비용은 초기에 고치는 비용보다 훨씬 높습니다.

단위 테스트는 작은 구성 요소를 대상으로 합니다. 따라서 해당 테스트 케이스와 데이터만으로는 애플리케이션 전체의 기능과 정보 흐름에 관한 모든 시나리오를 확인할 수 없습니다. 여러 단위를 하나의 큰 구성 요소로 합친 뒤에야 테스트할 수 있는 시나리오도 있습니다.

통합 테스트

단위 테스트가 끝나면 통합 테스트를 통해 두 개 이상의 단위가 어떻게 상호 작용하고 여러 시나리오에서 어떤 결과를 내는지 확인합니다. 소프트웨어 테스트 엔지니어가 이 작업을 수행합니다.

통합 테스트는 기능, 요구 사항, 성능 관련 결함을 찾아냅니다. 단위 테스트가 각 구성 요소의 개별 동작을 확인한다면, 통합 테스트는 이들이 예상대로 함께 작동하는지 확인합니다. 주요 접근 방식은 다음과 같습니다.

  1. 빅뱅
  2. 하향식 통합
  3. 상향식 통합
빅뱅 통합 테스트에서는 모든 모듈을 결합해 전체 시스템을 완성한 뒤, 통합된 시스템을 테스트해 결함을 찾습니다.

Integration Testing ApproachesIntegration TestingTop DownIntegration TestingBottom UpIntegration Testing
전체 크기 도표 열기

통합 테스트

하향식 통합은 최상위 모듈부터 시작해 하위 모듈을 하나씩 추가하고 테스트합니다. 상향식 통합은 그 순서를 뒤집습니다. 최하위 모듈을 먼저 테스트하고 상위 모듈을 단계적으로 추가합니다. 상향식 테스트로 시작한 뒤 하향식 테스트를 수행하는 순서도 일반적입니다.

Top Down and Bottom Up Integration12345678Level OneLevel TwoLevel ThreeLevel FourBottom UpTop Down
전체 크기 도표 열기

하향식 및 상향식 통합 테스트

하향식 테스트에서는 아직 이용할 수 없거나 완성되지 않은 하위 모듈 또는 하위 프로그램을 스텁으로 대체합니다. 상향식 테스트에서는 필요한 상위 프로그램을 아직 이용할 수 없을 때 드라이버가 호출 프로그램의 역할을 합니다.

시스템 테스트

통합이 성공하면 시스템 테스트를 통해 모든 구성 요소가 함께 작동하는 전체 시스템을 검사합니다. 성능, 기능 및 기술 명세, 조직의 품질 표준을 확인합니다. 숙련된 테스트 팀이 실제 배포 환경과 최대한 비슷한 환경에서 수행해야 합니다.

System Testing through the Software Development Life CycleTestingStrategyUnitTestingIntegrationTestingSystemTestingUser AcceptanceTestingCompletion ofTestingTesting RequirementSoftwareDevelopmentLife CycleTest DependentSoftwareDevelopmentSoftwareChange ControlSoftware IsReady forImplementation
전체 크기 도표 열기

시스템 테스트

시스템 테스트는 전적으로 블랙박스 테스트입니다. 애플리케이션의 동작과 설계, 최종 사용자의 기대를 포함해 사용자 관점에서 시스템이 요구 사항을 충족하는지 확인합니다. 애플리케이션 아키텍처와 고객의 비즈니스 요구 사항을 모두 검증하고 적합성을 확인합니다.

인수 테스트

단위 테스트, 통합 테스트, 시스템 테스트가 끝나면 인수 테스트에서 미리 정한 시나리오와 테스트 케이스로 품질과 정확성을 평가합니다. 품질 보증 팀은 외관과 내부 동작을 비롯한 여러 관점에서 시스템을 검토합니다. 고객의 인수 결정은 법률 및 계약 요건에도 좌우되므로 이 단계는 중요합니다. 인수 테스트에는 다음과 같은 유형이 있습니다.

  1. 사용자 인수 테스트. 실제 사용자가 소프트웨어를 인수하기 전에 자신의 사업장이나 개발 조직에서 직접 테스트합니다.
  2. 운영 인수 테스트. 시스템을 사용하고 유지 관리하는 데 필요한 프로세스와 절차를 갖췄는지 확인합니다.
  3. 계약 및 규제 인수 테스트. 계약 요건과 적용되는 정부 기준, 법적 기준, 안전 기준을 준수하는지 확인합니다.
  4. 알파 테스트. 전체 시스템을 테스트할 수 있는 개발 막바지에 제품 전반의 품질을 확인하고 베타 테스트를 준비합니다. 테스트 엔지니어와 다른 팀 구성원이 고객의 관점에서 품질과 기술적 측면을 검토합니다. 상당한 시간이 걸릴 수 있습니다.
  5. 베타 테스트. 알파 테스트가 끝나면 실제 사용자가 실제 환경에서 제품을 사용해 품질 개선에 기여하고 제품이 요구 사항을 충족하는지 확인합니다. 출시 며칠 또는 몇 주 전에 진행하며, 며칠 동안 이어질 수 있습니다. 이 단계에서는 결함을 발견할 가능성이 상대적으로 낮으므로 알파 테스트보다 짧을 수 있습니다.

User Acceptance Testing Process01PlanUAT02Identify TestingScenarios03ExecuteTests04Verify DefectsAfter Fixing05ReportResults06End ofUAT
전체 크기 도표 열기

인수 테스트



무료 온라인 교육을 통해 소프트웨어 테스트 인증 시험에 합격할 수 있음을 보장합니다!

  1. 01

    온라인 등록

    공인 인증을 선택하고 등록을 완료하세요.

  2. 02

    접속 코드 받기

    개인 시험 접속 코드가 이메일로 즉시 발송됩니다.

  3. 03

    준비하고 시험 응시하기

    무료 교육으로 학습하고 온라인에서 객관식 50문항에 답하세요.

  4. 04

    평생 유효한 인증 취득

    전 세계에서 유효한 인증서와 검증 가능한 디지털 배지를 받으세요.

Accredited Software Test Manager Certification™ 인증서 견본
인증 신청하기

무료 프리미엄 온라인 교육

Software Testing Revealed 제2판을 준비했습니다.

모든 주요 산업 분야에서 활동하는 저명한 기업 및 팀 리더, 소프트웨어 테스트 코치, 멘토, 전문가 및 권위자와 함께 교육을 만들었습니다. International Software Test Institute™를 방문하는 누구나 이용할 수 있습니다. 다음 두 항목에서 자료를 확인할 수 있습니다. 무료 소프트웨어 테스트 도서 및 무료 프리미엄 소프트웨어 테스트 교육 두 항목 모두 상단 메뉴에 있습니다.

이 자료는 저작권으로 보호되는 International Software Test Institute™의 지식재산입니다. 저희의 전문 지식을 공유하면 소프트웨어 테스트 전문가를 돕고 이 분야의 발전에 기여할 수 있기에 모두에게 무료로 공개합니다.

인증 시험은 객관식입니다. 온라인 교육으로 시험에 합격하고 소프트웨어 테스트 인증을 받는 데 필요한 지식을 쌓으세요.

무료 프리미엄 온라인 교육을 통해 소프트웨어 테스트 인증 시험에 합격할 수 있음을 보장합니다!