테스트 프로세스의 핵심구조 - ETVX Model

Updated:

이번 글에서 다룰 주제는, 테스트 프로세스를 구성할 때 사용하게 되는 ETVX 모델에 관련된 내용입니다. 당사의 기능 및 성능 테스트 프로세스가 모두 ETVX 구조를 기반으로 구성되어 있기 때문에, 한번쯤 가볍게(?) 다루고 지나가면 좋을만한 주제로 생각되어, 간단히 내용을 정리해보도록 하겠습니다.

1. ETVX Model을 접하게 된 계기

SK(주) C&C에서는 ‘테스트 프로세스 구축’과 관련하여 2003년~2004년 시점에 Kale Consultants(India based company)라는 회사로부터 컨설턴트 2명을 1년간 초빙하여, 당사의 테스트 프로세스를 최초 정립하고 전사에 적용하는 업무를 함께 수행하였습니다.

Kale

이 과정에서, 테스트 프로세스 정의서, 양식, 템플릿, 가이드, 체크리스트 등을 포함한 30여종의 세부 문서로 구성된 Test Framework이 구축되었습니다. 이러한 테스트 관련 문서들을 전사 적용하는 과정에서, ‘ETVX라는 모델이 프로세스를 문서화하여 구성하는데 사용된다’는 것을 처음 접하게 되었습니다. 아래는, 해당 기간에 초안으로 작성되었던 테스트 전략(Test Strategy) 프로세스 문서의 일부로, Process ETVX Table 관련사례입니다.

Process

이후, Tata TCS에서 작성한 테스트 프로세스를 추가적으로 접할 기회가 있었는데, 여기서는 더 엄격한 수준으로 프로세스 정의서의 단계별 Activity 및 Task가 모두 ETVX로 도식화되어 정리되어 있음을 보고, 좀 더 테스트 프로세스에 대한 이해의 폭이 넓어지는 계기가 되었습니다.

2. ETVX 개요

ETVX 모델은 ‘프로세스를 문서화’하기 위해 도입하는 기법으로, 1980년대 IBM에서 처음 고안되었습니다. ETVX는 각각 E(Entry Criteria), T(Task), V(Validation), X(eXit Criteria)의 단어들의 약자로 구성된 용어입니다.

ETVX

Source: Software Engineering Institute

3. ETVX 요소별 의미

  • E(Entry Criteria)는 선행조건을 의미하며, Task(업무)의 수행을 시작하기 전에 충족되어야 하는 항목들을 의미합니다.
  • T(Task)는 수행되어야 하는 업무들의 집합입니다.
  • V(Validation)는 확인을 의미하며, T(Task)가 올바르게 수행되었는지를 확인하는 프로세스입니다.
  • X(eXit Criteria)는 완료조건을 의미하며, 프로세스가 종료되기 위해 충족되어야 하는 항목들을 의미합니다.

4. ETVX 기반 테스트 프로세스 구성 예시

다음은, ETVX 모델을 기반으로 성능 테스트 프로세스를 구성한 사례입니다. 성능 테스트 프로세스 중 착수 및 계획 단계에서 “성능부하 테스트 계획 수립”이라는 Task를 진행하기 위해, 선행기준(Entry Criteria), 체크 항목(Validation), 완료기준(Exit Criteria)이 각각 정의되어 있고, 구체적인 문서들을 기준으로 사용할 수 있도록 Input 및 Output 산출물에 대한 세부 정보를 제공해주고 있음을 알 수 있습니다.

ETVX

5. 생활 속에서의 예시

‘프로세스를 EXVX Model에 기반하여 구성하면 과연 뭐가 좋을까?’라는 의문이 아직 남아있으실 수도 있겠다 싶어서, 현실생활에서 친숙하게 접할 수 있는 상황에 대한 예시를 하나 들어보고 이번 글을 마무리 짓도록 하겠습니다.

우리나라에서는 전세나 월세로 부동산을 계약할 때 집을 간단히 둘러보고 계약서를 작성하긴 하지만, 구체적으로 집의 Condition에 대한 별도의 세부 Inspection 과정은 생략하고 넘어가는 경우가 많습니다. 이로인한 서로간의 갈등이나 마음고생도 만만치 않은 것이 사실입니다.

세입자 입장에서는 막상 이사들어와서 꼼꼼히 살펴보니, 수도꼭지가 샌다든지, 방문손잡이가 고장났다든지, 장판에 곰팡이가 슬었다든지 하는 사항들을 뒤늦게 알아차리는 경우가 있습니다. 집주인 입장에서도 세입자가 이사 나가고 나서 살펴보니, 마룻바닥이 파손되었다든지, 발코니 구조를 임의로 변경했다든지, 방충망이 훼손되었다든지 하는 사항들을 뒤늦게 발견할 수도 있습니다.

미국에서는 이러한 서로간의 이슈들을 예방하기 위해, 입주 전 “Move-In Inspection” 및 계약기간 만료 전 “Move-Out Inspection”을 단계적으로 수행하는 절차가 생활 속 프로세스로 잘 정착되어 있습니다.(특정 주에서는 법적 요구사항으로 규정하기도 합니다.)

임차인은 입주 전 아래와 같은 체크리스트를 기반으로 거실, 식당, 방, 욕실 등 각 공간들을 순차적으로 둘러보면서, 세부적인 구성요소들(ex. 방문 손잡이, 창문, 방충망, 벽, 팬, 전등, 스위치, 싱크대 등)이 정상 상태인지 하나하나 양식에 체크한 후 임대인과 서로 확인하고 서명하게 됩니다. 계약만료 시점이 다가오면 2~3주 전 시점에 다시한번 상태를 체크해서 입주전후가 동일한 Condition을 유지하고 있는지 재확인하게 되는데, 이때 손상이 발견되는 경우 원래의 상태로 돌려놓기 위한 비용을 임차인이 지불하게 됩니다.

Move-In Checklist

Source: Zillow

집주인 입장에서는 입주전 체크리스트를 기반으로 집의 기존 상태를 문서화할 수 있게 되어, 임대중에 발생한 손상에 대해 임차인이 책임을 지도록 하는데 근거를 확보할 수 있습니다.

임차인 입장에서는, 입주전 ‘기존의 손상’을 문서화하여 계약 만료시 집주인과의 분쟁요인을 사전에 제거할 수 있으며, 입주전 수리가 필요한 항목들에 대해서는 사전에 목록을 작성하여 ‘정상적인 상태’에서 거주할 수 있도록 보장받는 근거가 될 수 있게 됩니다.

정리하면, 우리의 임대차 계약방식에서는 “임대주택을 양호하게 유지한다”는 Task(T)를 수행하기 위한 명확한 사전(E)/사후(X)조건 및 확인(V) 기준이 없는 경우가 많지만(계약서 양식에 항목이 있더라도 중개소에서 ‘양호’로 임의 체크하고 넘어가기도 함), 미국의 경우에는 임대차 계약 및 종료 시점에 각각 Move-In/Move-Out Checklist의 상세 작성을 통해 명확한 ETVX 기준을 가져가고 있습니다. Task가 더이상 애매하지 않고 서로간 명확하게 수행될 수 있도록 프로세스화하는 문화적인 차이를 보여주고 있다는 점을 우리는 눈여겨 볼 필요가 있습니다.

이번 글에서는 ETVX Model이 프로세스 구성에서 어떤 역할을 하고있는지 간단히 살펴보았습니다. 업무뿐만 아니라 일상 생활 속에서도 손쉽게 참고할 수 있는 프로세스에 대한 개념 소개가 되었길 바라면서 이상으로 글을 마칩니다. 감사합니다.^^

[끝]