IT Solutions

100% 실거래 자동 검증으로 S/W 테스팅의 패러다임을 바꾸다!

2020. 8. 17. 09:30

전통적으로 IT 프로젝트에서의 테스트 수행 방식은 비즈니스 흐름에 따라 시나리오•케이스를 작성하고, 시나리오•케이스별 입력 조건에 따라 출력 값이 바른지 모두 수작업으로 정의하고 수행하는 방식이었습니다. 이를 위해 테스트를 수행하기 위한 데이터도 함께 준비해야 했습니다.


그 동안 IT 프로젝트에서는 많은 인원을 투입해 수작업으로 몇 차례의 반복 테스트를 거친 후 시스템을 오픈해왔습니다. 제한된 프로젝트의 기간과 자원의 제약으로 인해 실제 상황에서 발생하는 모든 유형의 케이스를 ‘테스트 시나리오•케이스’화 하는 것은 현실적으로 불가능했습니다. 시스템에 잠재된 결함까지 완벽하게 제거 후 오픈 했다고 보기 어려웠었죠.


시스템을 오픈(Go-Live)한 후 예상하지 못한 오류 또는 예외적인 상황이 발생해 장애로 이어지는 경우를 종종 보아 왔기 때문입니다.


그렇다면, 수많은 인원을 투입해 반복 테스트를 거쳐 오픈했음에도 불구하고 왜 그런 상황이 발생하는 것일까요? 얼마나 많은 테스트를 한 후 오픈해야 시스템이 완벽하다고 볼 수 있을까요? 구축한 시스템이 오픈 후에도 문제없이 동작할 것임을 어떻게 확신할 수 있을까요?



LG CNS는 기존의 수작업 테스트 방식의 한계를 극복하기 위해 이러한 근본적인 질문으로부터 출발해 새로운 관점의 테스트 방식을 오랫동안 고민해왔습니다. 그 결과 2019년 12월, 실거래 자동 검증 솔루션 퍼펙트윈(PerfecTwin)을 출시했습니다.


 테스트 방식에 대한 Paradigm Shift


  • 기존 운영 시스템(AS-IS)에서 수행되는 업무 기능이 새롭게 구축한 시스템(TO-BE)에서 문제없이 실행되는 지를 바로 검증할 방법은 없을까? (First New Approach)

  • AS-IS 시스템의 기능과 성능이 TO-BE 시스템과 유사하거나 동일한 환경에서 안정적으로 수행되는지를 확인할 방법은 무엇일까? (Second New Approach)


PerfecTwin은 이처럼 ‘현재 개발하고 있는 TO-BE 시스템이 AS-IS 시스템과 동일하게, 문제없이 수행될 것인지를 오픈(Go-live) 전에 어떻게 효과적으로 검증할 것인가?’라는 화두에서 착안한 솔루션입니다.


PerfecTwin은 LG CNS의 수년간의 대형 프로젝트 이행 노하우를 집대성한 제품입니다. 기존 시스템에서 실제 발생하는 대량의 거래 데이터를 실시간 또는 일괄 처리 방식으로 새 시스템에서 자동으로 테스트해 ‘실거래 자동 검증 솔루션’이라고도 합니다.



2017년 말 개발된 후 현재까지 10여 개의 프로젝트에 적용해 오픈 성공에 기여하고 있는 실거래 자동 검증 솔루션은 2019년 12월 PerfecTwin 솔루션으로 출시되었습니다.


● 적용 사업


IT 프로젝트는 SI, SM, 클라우드 전환, 인프라 교체 등 사업의 유형에 따라 크게 4가지로 구분할 수 있습니다. IT 사업의 유형은 다양하지만, 이들에게는 공통점이 있습니다. 모두 기존 운영(AS-IS) 시스템에서 제공하는 업무 기능의 대부분이 TO-BE 시스템에서도 유지된다는 사실입니다. 가장 변화가 많은 차세대 SI 프로젝트도 약 70% 이상의 기존 업무 기능이 그대로 유지됩니다.


LG CNS는 PerfecTwin을 통해 테스트에 대한 새로운 접근 방식으로 IT 프로젝트에 도전장을 내밀었습니다. PerfecTwin을 적용해 시스템을 오픈 후 안정화하는 방식이 아니라, 잠재 결함까지 완벽히 제거하고 안정화한 후 오픈할 수 있습니다.


 PerfecTwin 작동 원리


PerfecTwin은 크게 7개의 모듈로 구성되어 작동됩니다.


l PerfecTwin의 7개의 핵심 모듈


  • 가장 먼저 Capture 모듈이 운영 시스템에서 발생하는 거래의 네트워크 패킷 또는 로그를 캡처하고, 사용자 또는 대외 기관에서 발생한 요청 / 응답 메시지를 하나의 거래로 생성합니다.

  • AS-IS의 거래 메시지 구조는 TO-BE 시스템 구축 시 변경될 수가 있는데, 이러면 신 / 구 시스템 간의 변환 규칙은 Rule Manager 모듈을 통해 사전에 정의합니다. 그러나, 기능 변경이 없는 클라우드 전환 또는 인프라 교체 등의 사업은 변환 규칙 정의가 불필요합니다.

  • 그 후 Recorder / Replayer 모듈이 Capture 모듈에서 생성한 요청 / 응답 메시지를 저장해 사용자 거래는 Modifier 모듈에 전송하고, 대외 기관 거래는 Simulator 모듈에 전송합니다.

  • Modifier 모듈과 Simulator 모듈은 Rule Manager에 미리 정의해둔 변환 규칙에 따라 TO-BE 시스템의 구조에 맞게 변환해 TO-BE 시스템을 호출하고, TO-BE 시스템에서 응답된 결과를 AS-IS 시스템의 응답 결과와 비교 검증합니다.

  • Modifier 모듈은 사용자 채널에서 발생한 거래를, Simulator 모듈은 대외 채널에서 발생한 거래를 각각 처리합니다.

  • 결과적으로 AS-IS 시스템과 TO-BE 시스템의 요청 대비 응답 결과가 동일하면 ‘성공’, 동일하지 않으면 ‘실패’로 판정하며, 웹 화면인 Analyzer 모듈에서 즉각적으로 확인할 수 있습니다.

  • 이를 통해 실패로 판정된, 문제가 있는 업무와 서비스가 무엇인지 바로 확인할 수 있고, 개발자들에게 구체적인 결함 정보를 제공하여 빠르게 결함을 조치하도록 하며, 따라서 검증률 및 성공률을 가시적으로 확인할 수 있습니다.


글 l LG CNS 퍼펙트윈 사업팀


* 해당 콘텐츠는 저작권법에 의해 보호받는 저작물로 LG CNS 블로그에 저작권이 있습니다.

* 해당 콘텐츠는 사전 동의없이 2차 가공 및 영리적인 이용을 금하고 있습니다.



Posted by IT로 만드는 새로운 미래를 열어갑니다 LG CNS

댓글을 달아 주세요

위로