의견.png

"테스트"의 두 판 사이의 차이

해시넷
이동: 둘러보기, 검색
2번째 줄: 2번째 줄:
  
 
== 개요 ==
 
== 개요 ==
시스템 테스트란 완벽하게 통합된 소프트웨어 제품을 테스트하는 것이다. 일반적으로 소프트웨어는 더 큰 컴퓨터 기반 시스템의 한 요소일 뿐이다. 궁극적으로 소프트웨어는 다른 소프트웨어/하드웨어 시스템과 인터페이스 된다. 시스템 테스트는 컴퓨터의 전체 시스템을 사용하는 유일한 목적의 인련의 테스트이다.<ref name="testmanager">testmanager, 〈[https://testmanager.tistory.com/189 시스템 테스트란 무엇입니까? 예제를 사용한 유형 및 정의]〉, 《티스토리》, 2018-11-23</ref>
+
테스트란 안정적인 서비스를 위한 안정성 확보, 문제점 및 개선점을 파악한 후 해당사항을 수정하여 성능을 향상, 장애로 인한 데이터 손실, 신뢰도 저하, 추가비용 발생을 미연에 방지, 서버의 최적화를 위해 서버환경 검사를 목표로 한다.<ref name="ihcho">ihcho, 〈[https://testmanager.tistory.com/189 성능테스트]〉, 《개인 블로그》, 2019-12-02</ref>
 +
 
 +
시스템 테스트란 완벽하게 통합된 소프트웨어 제품을 테스트하는 것이다. 일반적으로 소프트웨어는 더 큰 컴퓨터 기반 시스템의 한 요소일 뿐이다. 궁극적으로 소프트웨어는 다른 소프트웨어/하드웨어 시스템과 인터페이스 된다. 시스템 테스트는 컴퓨터의 전체 시스템을 사용하는 유일한 목적의 테스트이다.<ref name="testmanager">testmanager, 〈[https://testmanager.tistory.com/189 시스템 테스트란 무엇입니까? 예제를 사용한 유형 및 정의]〉, 《티스토리》, 2018-11-23</ref>
  
 
== 종류 ==
 
== 종류 ==
 
 
=== 테스팅 범주 ===
 
=== 테스팅 범주 ===
 
* 화이트박스 테스트
 
* 화이트박스 테스트
 
* 블랙박스 테스트
 
* 블랙박스 테스트
  
=== 테스팅 계층구조 ===
+
=== 테스트 목적===
 
테스트의 종류에는 단위 테스트, 통합 테스트, 사용자 인수 테스트가 있다. 거의 모든 기술 프로세스와 마찬가지로 소프트웨어 테스팅은 일을 해야 하는 미리 정해진 순서를 가지고 있다. 다음 마케팅을 준비하기 위해 새로운 소프트웨어를 완전히 테스트하는 단계이다.
 
테스트의 종류에는 단위 테스트, 통합 테스트, 사용자 인수 테스트가 있다. 거의 모든 기술 프로세스와 마찬가지로 소프트웨어 테스팅은 일을 해야 하는 미리 정해진 순서를 가지고 있다. 다음 마케팅을 준비하기 위해 새로운 소프트웨어를 완전히 테스트하는 단계이다.
  
21번째 줄: 22번째 줄:
 
* '''사용자 인수 테스트'''('''UAT''', User Acceptance Test)  
 
* '''사용자 인수 테스트'''('''UAT''', User Acceptance Test)  
 
고객이 개발 결과물을 인수하기 전에 최종 테스트하는 것을 말한다.<ref name="testmanager" />
 
고객이 개발 결과물을 인수하기 전에 최종 테스트하는 것을 말한다.<ref name="testmanager" />
 +
 +
=== 테스트 방법 ===
 +
* '''Loop back 테스트'''
 +
시스템 논리구간 중 특정 지점 이후로 거래가 발생되지 않도록 하는 테스트, 병목 지점을 찾는데 유용하다.
 +
* '''Tier 테스트'''
 +
Tier간의 통신을 재현하여 하위 Tier 이후의 성능을 측정하여 성능 병목 지점을 찾는 테스트이다.
 +
* '''Spike 테스트'''
 +
모든 동시 단말 사용자가 동시에 거래를 발생시키는 테스트, 해당상황의 시스템을 점검한다.
 +
* '''확장성 테스트'''
 +
물리적 시스템 증설 대수와 시스템 향상 비율이 일정하지 않아 실시하는 테스트, 시스템 확장성 보장 여부를 판단한다.
 +
* '''가용성 테스트'''
 +
장시간 거래를 발생시켜 일반 성능테스트에서 발견되지 않는 시스템 결함을 점검한다.<ref name="ihcho" />
  
 
=== 시스템 테스트 ===
 
=== 시스템 테스트 ===

2020년 9월 16일 (수) 10:20 판

테스트(test)란 시스템의 성능을 시험하는 것을 말한다. 단위 테스트, 통합 테스트, 사용자 인수 테스트가 있다. 단위 테스트는 개별 시스템의 기능을 테스트하는 것이고, 통합 테스트는 전체 시스템의 상호 작용을 테스트하는 것이고, 사용자 인수 테스트(UAT)는 수요기관 담당자가 개발 결과물을 인수하기 전에 최종 테스트하는 것을 말한다.

개요

테스트란 안정적인 서비스를 위한 안정성 확보, 문제점 및 개선점을 파악한 후 해당사항을 수정하여 성능을 향상, 장애로 인한 데이터 손실, 신뢰도 저하, 추가비용 발생을 미연에 방지, 서버의 최적화를 위해 서버환경 검사를 목표로 한다.[1]

시스템 테스트란 완벽하게 통합된 소프트웨어 제품을 테스트하는 것이다. 일반적으로 소프트웨어는 더 큰 컴퓨터 기반 시스템의 한 요소일 뿐이다. 궁극적으로 소프트웨어는 다른 소프트웨어/하드웨어 시스템과 인터페이스 된다. 시스템 테스트는 컴퓨터의 전체 시스템을 사용하는 유일한 목적의 테스트이다.[2]

종류

테스팅 범주

  • 화이트박스 테스트
  • 블랙박스 테스트

테스트 목적

테스트의 종류에는 단위 테스트, 통합 테스트, 사용자 인수 테스트가 있다. 거의 모든 기술 프로세스와 마찬가지로 소프트웨어 테스팅은 일을 해야 하는 미리 정해진 순서를 가지고 있다. 다음 마케팅을 준비하기 위해 새로운 소프트웨어를 완전히 테스트하는 단계이다.

  • 단위 테스트

개별 시스템의 기능을 테스트하는 것이다.

  • 통합 테스트

전체 시스템의 상호 작용을 테스트하는 것이다.

  • 사용자 인수 테스트(UAT, User Acceptance Test)

고객이 개발 결과물을 인수하기 전에 최종 테스트하는 것을 말한다.[2]

테스트 방법

  • Loop back 테스트

시스템 논리구간 중 특정 지점 이후로 거래가 발생되지 않도록 하는 테스트, 병목 지점을 찾는데 유용하다.

  • Tier 테스트

Tier간의 통신을 재현하여 하위 Tier 이후의 성능을 측정하여 성능 병목 지점을 찾는 테스트이다.

  • Spike 테스트

모든 동시 단말 사용자가 동시에 거래를 발생시키는 테스트, 해당상황의 시스템을 점검한다.

  • 확장성 테스트

물리적 시스템 증설 대수와 시스템 향상 비율이 일정하지 않아 실시하는 테스트, 시스템 확장성 보장 여부를 판단한다.

  • 가용성 테스트

장시간 거래를 발생시켜 일반 성능테스트에서 발견되지 않는 시스템 결함을 점검한다.[1]

시스템 테스트

50가지가 넘는 유형의 시스템 테스트가 있다. 아래는 대형 소프트웨어 개발 회사가 일반적으로 사용하는 시스템 테스트 유형이다.

  • 사용성 테스트

주로 사용자의 응용 프로그램 사용 용이성, 컨트롤 처리의 유연성 및 시스템의 목표 달성 능력에 중점을 둔다.

  • 부하 테스트

소프트웨어 솔루션이 실제 부하에서 작동할 것임을 알기 위해서는 부하 테스트가 필요하다.

  • 회귀 테스트

회귀 테스트는 개발 과정 동안 변경된 사항이 새로운 버그를 유발하지 않았는지 확인하기 위해 수행된 테스트를 포함한다. 또한 시간이 지남에 따라 새로운 소프트웨어 모듈을 추가할 때 오래된 버그가 나타나지 않도록 한다.

  • 복구 테스트

복구 테스트는 소프트웨어 솔루션이 신뢰할 수 있고 가능한 충돌로부터 성공적으로 회수할 수 있음을 입증하기 위해 수행된다.

  • 마이그레이션 테스트

마이그레이션 테스트는 소프트웨어를 이전 시스템 인프라에서 현재 시스템 인프라로 아무런 문제없이 이동할 수 있는지 확인하기 위해 수행된다.

  • 기능 테스트

기능적 완성도 테스트라고도 하는 기능 테스트에는 가능한 누락된 기능을 생각해 보는 것이 포함된다. 테스터는 기능 테스트 중에 제품이 기능을 향상시킬 수 있는 추가 기능 목록을 만들 수 있다.

  • 하드웨어/소프트웨어 테스트

IBM은 하드웨어/소프트웨어 테스팅을 "HW/SW 테스팅"이라고도 한다. 테스터가 시스템 테스트 중에 하드웨어와 소프트웨어 간의 상호작용에 집중할 때이다.[2]

테스트 유형

50가지가 넘는 다양항 유형의 시스템 테스트가 있다. 테스터가 사용하는 특정 유형은 여러 변수에 따라 다르다.

  • 테스터가 작동하는 대상

테스터가 사용할 시스템 테스트 유형을 결정하는 주요 요인이다. 대기업에서 사용하는 방법은 중소 규모 회사에서 사용하는 방법과 다르다.

  • 테스트에 사용할 수 있는 시간

궁극적으로 50가지 테스트 유형 모두를 사용할 수 있다. 시간은 종종 소프트웨어 프로젝트와 가장 관련있는 유형만 사용하도록 제한한다.

  • 테스터가 사용할 수 있는 리소스

물론 일부 테스터에게는 테스트 유형을 수행하는데 필요한 리소스가 없다. 예를 들어 대규모 소프트웨어 개발 회사에서 근무하는 테스터인 경우 다른 사람이 이용할 수 없는 값 비싼 자동 테스트 소프트웨어가 있을 수 있다.

  • 소프트웨어 테스터의 교육

사용 가능한 소프트웨어 테스팅의 각 유형에 대한 일정한 학습 곡선이 있다. 관련된 소프트웨어 중 일부를 사용하려면 테스터가이를 사용하는 방법을 배워야 한다.

  • 테스트 예산

돈은 중소 기업 및 개별 소프트웨어 개발자뿐 아니라 대기업을 위한 요소가 된다.[2]

각주

  1. 1.0 1.1 ihcho, 〈성능테스트〉, 《개인 블로그》, 2019-12-02
  2. 2.0 2.1 2.2 2.3 testmanager, 〈시스템 테스트란 무엇입니까? 예제를 사용한 유형 및 정의〉, 《티스토리》, 2018-11-23

같이 보기


  의견.png 이 테스트 문서는 프로그래밍에 관한 토막글입니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 이 문서의 내용을 채워주세요.