시프트 레프트 테스트

Shift-left testing

시프트 레프트[1] 테스트는 소프트웨어 테스트시스템 테스트에 대한 접근법이며 라이프 사이클 초기에 테스트를 수행합니다(프로젝트 스케줄에서 왼쪽으로 이동).그것은 "조기적이고 자주"[2]라는 격언의 첫 번째 절반이다.그것은 [3][4]2001년 래리 스미스에 의해 만들어졌다.

테스트 지연으로 인한 피해

시프트 레프트 테스트는 테스트 지연으로 인한 다음과 같은 유형의 손상을 방지하는 데 도움이 되기 때문에 중요합니다.

  • 테스트 담당자는 초기 계획에 덜 관여할 수 있으며, 테스트에 할당되는 자원이 부족할 수 있습니다.
  • 요건, 아키텍처 및 설계의 결함은 발견되지 않은 채 구현에 상당한 노력이 낭비되고 있습니다.
  • 디버깅(결함 특정, 현지화, 수정 및 회귀 테스트 포함)은 생산 및 통합되는 소프트웨어가 증가함에 따라 더욱 어려워집니다.
  • 캡슐화화이트 박스 테스트를 방해하여 테스트 [citation needed]중 코드 적용 범위를 줄입니다.
  • 테스트에 의해 발견된 결함을 수정하는 데 걸리는 시간이 줄어들기 때문에 시스템의 향후 증가 또는 버전이 될 때까지 결함이 연기될 가능성이 높아집니다.로 인해 기술 부채의 '물결'이 생겨나 프로젝트가 너무 커지면 가라앉을 수 있습니다.

시프트 좌측 테스트 유형

라이프 사이클 초기에 테스트를 전환하는 방법에는 기본적으로 네 가지가 있습니다(즉, 기존 V-모델에서는 왼쪽으로 이동).이러한 테스트는 기존의 시프트 레프트 테스트,[5] 증분 시프트 레프트 테스트,[6][7] Agile/DevOps 시프트 레프트 테스트 및 모델 기반 시프트 레프트 [8]테스트라고 할 수 있습니다.

기존 시프트 레프트 테스트

다음 그림에서 볼 수 있듯이 기존 시프트-왼쪽은 기존 V 모델의 오른쪽에서 테스트의 강조점을 아래로(따라서 약간 왼쪽으로) 이동합니다.기존의 시프트 좌파는 수용과 시스템 레벨 테스트(녹음 및 재생[9] 툴을 사용한 GUI 테스트 등)를 강조하는 대신 유닛 테스트와 통합 테스트(API 테스트 및 최신 테스트 도구 사용 등)에 중점을 두고 있습니다.기존의 시프트 좌측 테스트로의 이행은 대체로 [by whom?]완료되어 있습니다.

증분 시프트 좌측 테스트

다음 그림과 같이 크고 복잡한 소프트웨어 의존 시스템을 개발하는 많은 프로젝트는 개발 기간을 단축하는 소수의 증분(Vs)으로 분해합니다.빨간색 점선 화살표로 표시된 왼쪽 이동은 단일 대형 폭포형 V 모델의 테스트 유형(회색으로 표시됨) 일부가 더 작은 증분 V 모델에서 해당 테스트 유형의 증분으로 이동하기 때문에 발생합니다.각 증분이 고객과 운용에 대한 제공이기도 한 경우, 증분 시프트 좌측 테스트는 개발 테스트와 운용 테스트를 모두 왼쪽으로 이동합니다.증분 시프트 좌측 테스트는 특히 상당한 양의 하드웨어를 포함하는 대규모 복잡한 시스템을 개발할 때 널리 사용됩니다.전통적인 시프트 레프트와 마찬가지로 증분 시프트 레프트로의 전환도 대체로 완료되었다.

신속한 변화를 위한/DevOps 좌측 테스트

다음 그림에서 볼 수 있듯이, Agile 및 DevOps 프로젝트에는 앞의 두 가지 교대 왼쪽 테스트 예시와 같이 V가 하나 또는 적은 대신 짧은 기간 V(스프린트)가 여러 개 있습니다.이러한 작은 V는 하나 이상의 초기 스프린트를 사용하여 기본 요건과 아키텍처를 차단하거나 테스트 우선 및 테스트 주도 개발(TDD)을 수행하는 경우에도 수정될 수 있다.Shift-left는 이러한 작은 V 중 가장 먼저 오른쪽에 있는 테스트 유형이 대체되는 큰 V의 오른쪽에 있는 해당 테스트 유형의 왼쪽에 있기 때문에 발생합니다.다음 그림은 Agile 및 DevOps의 경우와 거의 동일하지만 Agile 테스트는 일반적으로 개발 테스트로만 제한되며 시스템을 가동한 후 발생하는 운영 테스트는 포함되지 않습니다.현재 Agile/DevOps 시프트 레프트 테스트로 전환하는 것이 일반적이며 현재 진행 중입니다.

모델 기반의 시프트 레프트 테스트

이전 양식은 모두 개발 사이클 초기에 테스트에 집중되어 있습니다.다만, 모두 소프트웨어가 존재하는 후에 테스트를 실시해,[citation needed] 실장의 결함만을 찾아내려고 합니다.

모델 기반 테스트에서는 테스트 요건, 아키텍처 및 설계 모델을 통해 테스트를 Vs의 왼쪽으로 이동합니다.이 전환은 소프트웨어가 Vs의 우측에서 사용 가능하게 될 때까지 오랜 시간(기존 테스트), 중간 시간(증분 테스트) 또는 짧은 시간(Agile/DevOps)을 기다리는 대신 거의 즉시 테스트를 시작합니다.이 추세는 이제 시작이다.

외부 링크

레퍼런스

  1. ^ Donald Firesmith (23 March 2015). "Four Types of Shift Left Testing". Archived from the original on 2015-09-05. Retrieved 27 March 2015.
  2. ^ Microsoft (2012). "Test Early and Often". Retrieved 27 March 2015.
  3. ^ Smith, Larry (September 2001). "Shift-Left Testing". Dr. Dobb's Journal. 26 (9): 56, 62.
  4. ^ "Sep01: Shift-Left Testing". 2014-08-10. Archived from the original on 2014-08-10. Retrieved 2019-09-06.
  5. ^ Velocity Partners (28 January 2014). "Agile Testing - The Agile Test Automation Pyramid". Retrieved 27 March 2015.
  6. ^ Paul Bahrs (6 November 2014). "Shift Left: Approaches and Practices". Retrieved 27 March 2015.
  7. ^ Dibbe Edwards (18 September 2014). "Enabling DevOps Success with Shift Left Continuous Testing". Retrieved 27 March 2015.
  8. ^ Donald Firesmith (11 November 2013). "Using V Models for Testing". Retrieved 27 March 2015.
  9. ^ Microsoft (2013). "Record and Playback Manual Tests". Retrieved 27 March 2015.