맨위로가기

인수 검사

"오늘의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 테스트는 두 가지 이상의 대안을 비교하여 더 나은 성과를 판단하는 방법으로, 웹사이트, 애플리케이션 등 다양한 분야에서 사용자 인터페이스 등을 테스트하며 통계적 가설 검정을 기반으로 한다.
인수 검사
개요
유형소프트웨어 테스트
목적소프트웨어가 요구 사항을 충족하는지 확인
관련 항목소프트웨어 개발
소프트웨어 공학
상세 정보
설명소프트웨어가 사용자의 요구 사항 및 비즈니스 프로세스를 충족하는지 확인하는 공식 테스트
목표시스템이 수락 기준을 충족하는지 확인하고 사용자가 시스템을 수락할지 여부를 결정
역할사용자, 고객 또는 기타 승인된 엔터티

2. 인수 테스트의 과정

인수 테스트는 체계적인 절차를 따르며, 여러 단계로 구성된다.[7] 각 테스트는 테스트 케이스라고 불리며, 테스트 목표를 달성하기 위해 미리 정의된 일련의 테스트 활동을 수행한다. 여기에는 올바른 구현, 오류 식별, 품질 검증 등이 포함된다.[7] 인수 테스트는 모든 테스트 케이스가 한 번의 테스트 반복 내에 실행되지 않을 수 있으므로, 여러 번 수행될 수 있다.[9]

인수 테스트의 일반적인 과정은 다음과 같다.

단계설명
테스트 케이스 실행미리 결정된 데이터를 사용하여 테스트 케이스를 실행한다.
결과 기록실제 결과를 기록한다.
결과 비교실제 결과와 예상 결과를 비교한다.
최종 결과 결정테스트 결과를 결정한다.


2. 1. 테스트 케이스 설계

UAT(사용자 인수 테스트) 및 OAT(운영 인수 테스트) 테스트 케이스는 비즈니스 고객, 비즈니스 분석가, 테스터, 개발자가 협력하여 도출하는 것이 이상적이다. 이러한 테스트는 비즈니스 로직 테스트와 운영 환경 조건을 모두 포함해야 한다. 비즈니스 고객(제품 소유자)은 이러한 테스트의 주요 이해 관계자이다. 테스트 조건이 수용 기준을 성공적으로 달성하면 이해 관계자는 개발이 올바른 방향으로 진행되고 있음을 확신할 수 있다.[8][29]

  • 사용자 인수 테스트(UAT) 기준: 애자일 소프트웨어 개발에서 비즈니스 고객이 주로 생성하며, 비즈니스 도메인 언어로 표현된다. 이는 스프린트/반복 중에 '실행된' 사용자 스토리의 완전성을 확인하기 위한 상위 수준 테스트이다.
  • 운영 인수 테스트(OAT) 기준: (애자일, 반복 또는 순차적 개발 사용 여부에 관계없이) 기능 요구 사항 및 비기능 요구 사항 측면에서 정의된다. 기능적 안정성, 이식성 및 신뢰성의 주요 품질 속성을 다룬다.


테스트 케이스는 미리 결정된 데이터를 사용하여 실행되며, 실제 결과는 기록되고 예상 결과와 비교된다. 이를 통해 테스트 결과가 결정된다.

2. 2. 테스트 환경 구축

테스트 환경은 일반적으로 예상되는 실제 운영 환경과 동일하거나 최대한 가깝게 설계된다. 여기에는 소프트웨어 테스트를 실행하기 위해 사용되는 모든 기능, 하드웨어, 소프트웨어, 펌웨어, 절차 및/또는 문서가 포함된다.[7]

2. 3. 테스트 실행 및 결과 분석

인수 테스트 모음은 미리 정의된 인수 테스트 절차를 사용하여 실행되며, 테스터는 사용할 데이터, 따라야 할 단계별 프로세스 및 실행 후 예상 결과를 지시받는다. 실제 결과는 예상 결과와 비교하기 위해 보존된다.[9] 실제 결과가 각 테스트 케이스에 대한 예상 결과와 일치하면 해당 테스트 케이스는 통과한 것으로 간주한다.

통과하지 못한 테스트 케이스의 수가 프로젝트의 사전 결정된 임계값을 초과하지 않으면 테스트 모음이 통과한 것으로 간주한다. 만약 초과한다면, 시스템은 스폰서와 제조사 간에 이전에 합의된 조건에 따라 거부되거나 승인될 수 있다.

성공적인 테스트 실행의 예상 결과는 다음과 같다:

  • 테스트 케이스는 미리 결정된 데이터를 사용하여 실행된다.
  • 실제 결과가 기록된다.
  • 실제 결과와 예상 결과가 비교된다.
  • 테스트 결과가 결정된다.


목표는 개발된 제품이 기능적 요구 사항 및 비기능적 요구 사항을 모두 충족한다는 확신을 제공하는 것이다. 인수 테스트를 수행하는 목적은 완료되고 인수 기준이 충족되면 스폰서가 정의된 요구 사항(비즈니스와 제품 제공자/개발자 간에 이전에 합의됨)을 충족하는 것으로 제품 개발/개선에 서명할 것으로 예상되기 때문이다.

3. 인수 테스트의 유형

인수 테스트는 여러 유형으로 나눌 수 있으며, 각각 특정한 목적과 범위를 가진다. 일반적인 인수 검사의 유형은 다음과 같다.


  • 사용자 인수 검사(UAT): 제품이나 시스템이 대상 사이트로 이동하기 전에 공급업체가 수행하는 공장 인수 검사(FAT)를 포함할 수 있다. 이후 사용자가 해당 사이트에서 사이트 인수 검사(SAT)를 수행할 수 있다.[21] (상세 내용)
  • 운영 인수 검사(OAT): 운영 준비 검사라고도 하며, 시스템이 사용 및 유지 관리될 수 있도록 프로세스와 절차가 제대로 갖춰져 있는지 확인한다.[22] 백업 시설 점검, 재해 복구 절차, 최종 사용자 교육, 유지 관리 절차, 보안 절차 등이 포함될 수 있다.[22] (상세 내용)
  • 계약 및 규정 인수 검사: 계약 인수 검사는 시스템이 계약에 문서화된 인수 기준에 따라 테스트되는 것을 말한다. 규정 인수 검사는 시스템이 정부, 법률 및 안전 표준을 충족하는지 확인하기 위해 테스트된다.[23] (상세 내용)
  • 공장 인수 검사(FAT): 제품이 개발된 사이트에서 공급업체 조직의 직원이 수행하는 인수 검사이다. 일반적으로 하드웨어와 소프트웨어를 포함하여 구성 요소 또는 시스템이 요구 사항을 충족하는지 확인한다.[24] (상세 내용)
  • 알파 및 베타 테스트: 알파 테스트는 개발자 사이트에서 진행되며 외부 고객에게 출시되기 전에 내부 직원이 운영 시스템을 테스트하는 과정이다. 베타 테스트는 고객 사이트에서 진행되며, 자체 위치에서 시스템을 사용하고 피드백을 제공하는 고객 그룹이 시스템을 다른 고객에게 출시하기 전에 수행하는 테스트이다. 후자는 종종 "현장 테스트"라고 불린다.[25] (상세 내용)

3. 1. 사용자 인수 테스트 (UAT)

사용자 인수 테스트(UAT)는 솔루션이 사용자를 위해 작동하는지 확인하는 과정이다.[10] 이는 시스템 테스트(소프트웨어가 충돌하지 않고 문서화된 요구 사항을 충족하는지 확인)와는 달리, 솔루션이 사용자를 위해 작동하는지, 즉 사용자가 솔루션을 수락하는지를 확인하는 것이다. 소프트웨어 공급업체는 이를 "베타 테스트"라고 부르기도 한다.[10]

이 테스트는 의도된 최종 사용자 또는 해당 분야 전문가(SME)가 수행해야 하며, 가급적 테스트 중인 솔루션의 소유자 또는 고객이 수행하는 것이 좋다. 이들은 시험 또는 검토 후 진행 여부를 확인하기 위한 요약본을 제공한다.[10] 소프트웨어 개발 프로세스에서 UAT는 프로젝트의 마지막 단계 중 하나로, 종종 클라이언트 또는 고객이 새로운 시스템을 수락하기 전에 수행된다. 시스템 사용자는 실제 시나리오에서 발생할 수 있는 테스트를 수행한다.[11]

테스터에게 제공되는 자료는 최종 사용자가 갖게 될 자료와 유사해야 한다. 테스터는 대표하는 사용자가 수행할 가장 일반적이거나 어려운 세 가지 작업과 같은 실제 시나리오를 제시받아야 한다.[12]

UAT는 유료 고객 또는 특정 대규모 고객을 대신하여 실제 환경을 시뮬레이션하여 필요한 비즈니스 기능과 시스템의 적절한 기능을 최종적으로 확인하는 역할을 한다. 소프트웨어가 정상적인 사용 중 필요한 대로 문제없이 작동하면, 프로덕션 환경에서도 동일한 수준의 안정성을 추론할 수 있다.[13]

일반적으로 클라이언트 또는 최종 사용자가 수행하는 사용자 테스트는 철자 오류와 같은 간단한 미용 문제나 치명적인 결함, 예를 들어 소프트웨어 충돌을 식별하는 데 중점을 두지 않는다. 이러한 문제들은 테스터와 개발자가 이전 단위 테스트, 통합 테스트, 시스템 테스트 단계에서 식별하고 수정한다.

UAT는 테스트 시나리오에 따라 실행되어야 한다.[14][15] 테스트 시나리오는 일반적으로 "플레이어" 또는 "사용자" 여정을 나타낸다는 점에서 시스템 또는 기능 테스트 케이스와 다르다. 테스트 시나리오의 광범위한 특성은 기술적 또는 시스템별 세부 사항에 집중하지 않고 여정에 집중하여 "클릭별" 테스트 단계를 벗어나 사용자의 행동 변화를 허용한다. 테스트 시나리오는 행위자(플레이어/고객/운영자) 또는 시스템(백오피스, 프런트 엔드)이 변경되는 논리적인 "날"로 세분화될 수 있다.[16]

UAT 및 OAT 테스트 케이스는 이상적으로 비즈니스 고객, 비즈니스 분석가, 테스터 및 개발자와의 협력을 통해 도출된다. 이러한 테스트에는 비즈니스 로직 테스트와 운영 환경 조건이 모두 포함되어야 한다. 비즈니스 고객 (제품 소유자)은 이러한 테스트의 주요 이해 관계자이다. 테스트 조건이 수용 기준을 성공적으로 달성함에 따라 이해 관계자는 개발이 올바른 방향으로 진행되고 있음을 확신할 수 있다.[8]

애자일 소프트웨어 개발에서 사용자 인수 테스트(UAT) 기준은 일반적으로 비즈니스 고객에 의해 생성되며 비즈니스 도메인 언어로 표현된다. 이는 스프린트/반복 중에 '실행된' 사용자 스토리 또는 사용자 이야기의 완전성을 확인하기 위한 상위 수준 테스트이다.

업계에서 일반적인 UAT는 공장 인수 테스트(FAT)이다. 이 테스트는 장비 설치 전에 수행된다. 대부분의 경우 테스터는 장비가 사양을 충족하는지 확인할 뿐만 아니라 기능도 완전히 작동하는지 확인한다. FAT는 일반적으로 완전성 검사, 계약 요구 사항에 대한 검증, 기능 증명(시뮬레이션 또는 기존 기능 테스트) 및 최종 검사를 포함한다.[17]

이러한 테스트의 결과는 고객이 시스템이 프로덕션 환경에서 어떻게 작동할지에 대한 신뢰를 준다. 시스템 인수에 대한 법적 또는 계약상의 요구 사항이 있을 수도 있다.

3. 2. 운영 인수 테스트 (OAT)

운영 인수 테스트(OAT)는 품질 관리 시스템의 일부로 제품, 서비스 또는 시스템의 운영 준비 상태(출시 전)를 확인하기 위해 수행된다. 주로 소프트웨어 개발소프트웨어 유지보수 프로젝트에서 사용되는 일반적인 유형의 비기능적 소프트웨어 테스팅이다. 이러한 유형의 테스팅은 지원될 시스템의 운영 준비 상태 및/또는 프로덕션 환경의 일부가 되는 데 중점을 둔다.[18]

운영 인수 테스트(OAT) 기준은 기능 요구 사항 및 비기능 요구 사항 측면에서 정의된다. 기능적 안정성, 이식성 및 신뢰성의 주요 품질 속성을 다룬다.

운영 준비 테스트라고도 하며, 시스템이 사용 및 유지 관리될 수 있도록 프로세스와 절차가 제대로 갖춰져 있는지 확인하기 위해 시스템에 수행되는 검사를 말한다. 여기에는 다음이 포함될 수 있다.[22]

  • 백업 시설에 대한 점검
  • 재해 복구 절차
  • 최종 사용자를 위한 교육
  • 유지 관리 절차
  • 보안 절차

3. 3. 계약 및 규정 인수 테스트

계약 인수 검사는 시스템이 계약에 명시된 인수 기준을 충족하는지 확인하는 검사이다. 규정 인수 검사는 시스템이 정부, 법률 및 안전 표준을 준수하는지 확인하는 검사이다.[23]

3. 4. 공장 인수 테스트 (FAT)

공장 인수 테스트(FAT)는 주로 하드웨어나 제조 시스템에서 수행되는 테스트이다. 시스템이 개발된 환경에서 요구 사항을 충족하는지 확인한다.[24] 일반적으로 공급업체에서 수행하며, 시스템 인도 전에 이루어진다.[24] Factory Acceptance Test영어의 약자인 FAT라고도 불린다.

3. 5. 알파 및 베타 테스트

알파 테스트는 개발자 사이트에서 진행되며, 외부 고객에게 출시되기 전에 내부 직원이 운영 시스템을 테스트하는 과정이다.[25] 베타 테스트는 고객 사이트에서 진행되며, 시스템을 다른 고객에게 출시하기 전에 고객 그룹이 자체 위치에서 시스템을 사용하고 피드백을 제공하는 테스트이다. 베타 테스트는 '현장 테스트'라고도 불린다.[25]

이 두 테스트는 모두 사용자 피드백을 수집하고 시스템의 문제점을 발견하는 데 목적이 있다. 특히 진보 진영에서는 사용자 참여를 중요하게 생각하며, 알파 및 베타 테스트를 통해 사용자 의견을 적극적으로 수렴하는 경향이 있다.

4. 인수 테스트 프레임워크

인수 테스트를 자동화하고 효율적으로 수행하기 위한 다양한 프레임워크가 존재한다. 이러한 프레임워크들은 테스트 작성, 실행, 결과 보고 등 인수 테스트의 전 과정을 지원하여 개발 프로세스를 가속화하고 소프트웨어 품질을 향상하는 데 기여한다.

4. 1. 주요 프레임워크


  • 콩코디언, 예시 기반 명세 (SbE) 프레임워크
  • * Concordion.NET, .NET에서의 인수 테스트
  • 큐컴버, 행동 주도 개발 (BDD) 인수 테스트 프레임워크
  • * Capybara, Ruby 웹 애플리케이션용 인수 테스트 프레임워크
  • * Behat, PHP용 BDD 인수 프레임워크
  • * Lettuce, Python용 BDD 인수 프레임워크
  • Cypress
  • 자동화된 인수 테스트를 위한 Fabasoft app.test
  • 통합 테스트 프레임워크 (Fit)
  • * FitNesse, Fit의 포크
  • 게이지 (소프트웨어), Thoughtworks의 테스트 자동화 프레임워크
  • iMacros
  • 내장된 서버 기반의 기능적 웹 테스트 기능을 갖춘 ItsNat Java Ajax 웹 프레임워크.
  • 데스크톱 및 웹 애플리케이션의 기능 테스트, 회귀 테스트, GUI 테스트, 데이터 중심 및 코드 없는 테스트를 위한 Maveryx 테스트 자동화 프레임워크.
  • 모카, 자바스크립트와 Node.js를 기반으로 하는 인기 있는 웹 인수 테스트 프레임워크
  • Playwright (소프트웨어)
  • Ranorex
  • 로봇 프레임워크
  • 셀레늄
  • 예시 기반 명세 (Specs2)
  • Watir

5. 인수 기준

프로젝트 관리 협회에 따르면, '''인수 기준'''은 "인수 가능 항목이 충족되기 전에 충족되어야 하는 조건 집합"이다.[7] 시스템의 특정 구성 요소에 대한 인수 기준에서 발견된 요구 사항은 대개 매우 상세하다.[7]


  • 사용자 인수 테스트(UAT) 기준 ( 애자일 소프트웨어 개발에서)은 일반적으로 비즈니스 고객이 만들며 비즈니스 도메인 언어로 표현된다. 이는 스프린트/반복 중에 '실행된' 사용자 이야기 또는 사용자 이야기의 완전성을 확인하기 위한 상위 수준 테스트이다.
  • 운영 인수 테스트(OAT) 기준 (애자일, 반복 또는 순차적 개발 사용 여부에 관계없이)은 기능 요구 사항 및 비기능 요구 사항 측면에서 정의된다. 기능적 안정성, 이식성 및 신뢰성의 주요 품질 속성을 다룬다.

참조

[1] 웹사이트 BPTS - Is Business process testing the best name / description. https://sfia-online.[...] 2023-02-18
[2] 서적 Managing the Testing Process: Practical Tools and Techniques for Managing Hardware and Software Testing https://archive.org/[...] Hoboken, NJ: Wiley 2009-08
[3] 웹사이트 acceptance criteria https://innolution.c[...] Innolution, LLC 2019-06-10
[4] 웹사이트 Standard Glossary of Terms used in Software Testing, Version 3.2: All Terms https://glossary.ist[...] ISTQB 2020-11-23
[5] 웹사이트 User Acceptance Testing (UAT) - Software Testing https://www.geeksfor[...] 2024-05-23
[6] 서적 ISO/IEC/IEEE International Standard - Systems and software engineering ISO/IEC/IEEE
[7] 서적 ISO/IEC/IEEE 29119-1:2013 Software and Systems Engineering - Software Testing - Part 1: Concepts and Definitions http://www.iso.org/i[...] ISO 2014-10-14
[8] 서적 ISO/IEC/IEEE 29119-4:2013 Software and Systems Engineering - Software Testing - Part 4: Test Techniques http://www.iso.org/i[...] ISO 2014-10-14
[9] 서적 ISO/IEC/IEEE 29119-2:2013 Software and Systems Engineering - Software Testing - Part 2: Test Processes http://www.iso.org/i[...] ISO 2014-05-21
[10] 서적 UAT Defined: A Guide to Practical User Acceptance Testing Pearson Education
[11] 서적 User acceptance testing : a step-by-step guide BCS Learning & Development Limited
[12] 웹사이트 2.6: Systems Testing https://eng.libretex[...] 2021-08-02
[13] 서적 Software Testing Concepts And Tools Dreamtech Press
[14] 웹사이트 Get Reliable Usability and Avoid Risk with These Testing Scenarios https://www.panaya.c[...] 2022-04-25
[15] 웹사이트 What is User Acceptance Testing (UAT) - The Full Process Explained https://www.panaya.c[...] 2023-02-18
[16] 간행물 Comparison of rule- and ordinary differential equation-based dynamic model of DARPP-32 signalling network https://peerj.com/ar[...] 2022-12-15
[17] 웹사이트 Factory Acceptance Test (FAT) http://www.tuv.com/e[...] TÜV Rheinland 2012-09-18
[18] 뉴스 What is Acceptance Testing (A Complete Guide) https://www.software[...] 2023-02-18
[19] 웹사이트 Introduction to Acceptance/Customer Tests as Requirements Artifacts http://www.agilemode[...] Agile Modeling 2013-12-09
[20] 웹사이트 Acceptance Tests http://www.extremepr[...] Extremeprogramming.org 2011-09-20
[21] 뉴스 The Difference Between a FAT and a SAT http://www.kneat.com[...] 2016-07-27
[22] 뉴스 Operational Readiness https://commissionin[...] 2023-02-18
[23] 뉴스 Acceptance Testing in Information Technology Contracts {{!}} LegalVision https://legalvision.[...] 2023-02-18
[24] 웹사이트 ISTQB Standard glossary of terms used in Software Testing http://glossar.germa[...] 2019-03-15
[25] 웹사이트 Alpha Testing Vs Beta Testing – Difference Between Them https://www.guru99.c[...] 2023-02-18
[26] 서적 Managing the Testing Process: Practical Tools and Techniques for Managing Hardware and Software Testing https://archive.org/[...] Hoboken, NJ: Wiley 2009-08
[27] 서적 ISO/IEC/IEEE International Standard - Systems and software engineering ISO/IEC/IEEE
[28] 서적 ISO/IEC/IEEE 29119-1-2013 Software and Systems Engineering - Software Testing - Part 1- Concepts and Definitions http://www.iso.org/i[...] ISO 2014-10-14
[29] 서적 ISO/IEC/IEEE DIS 29119-4 Software and Systems Engineering - Software Testing - Part 4- Test Techniques http://www.iso.org/i[...] ISO 2014-10-14
[30] 서적 ISO/IEC/IEEE 29119-2-2013 Software and Systems Engineering - Software Testing - Part 2- Test Processes http://www.iso.org/i[...] ISO 2014-05-21
[31] 서적 ISO/IEC/IEEE 29119-2-2013 Software and Systems Engineering - Software Testing - Part 2- Test Processes http://www.iso.org/i[...] ISO 2014-05-21
[32] 뉴스 The Difference Between a FAT and a SAT http://www.kneat.com[...] 2016-07-27
[33] 웹사이트 ISTQB Standard glossary of terms used in Software Testing http://glossar.germa[...] 2019-03-15
[34] 서적 Management Information Systems 12/E: Managing the Digital Firm P.523 Pearson Education Asia



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

문의하기 : help@durumis.com