본문 바로가기

블로그

LG CNS 기술블로그 DX Lounge에서 최신 IT 소식을 만나보세요!

솔루션

IT시스템 오픈 전 실제처럼 테스트하려면? ‘PerfecTwin(퍼펙트윈)’이 답!

2023.02.10

새로운 IT 시스템을 오픈하기 전에 모든 오류를 완벽하게 잡는 방법은 없을까? 대다수의 IT 시스템 개발 프로젝트는 테스트 시나리오 및 케이스(테스트 실행을 위한 활동을 구체적으로 기술한 문서)를 기반으로 수작업 테스트를 반복해 어느정도 개발 품질이 확보되면 시스템을 개통해왔습니다. 이런 테스트 방식은 비용이 많이 들고, 사전에 식별하지 못한 결함들로 개통 직후 심각한 장애를 일으킬 가능성이 있다는 문제를 안고 있습니다.

그렇다면 시스템 개통 전에 잠재 결함을 모두 파악해 제거할 수 있는 방법은 없을까요? DX전문기업 LG CNS는 이를 가능하게 하는 새로운 테스트 접근 방식, ‘PerfecTwin(퍼펙트윈)’을 개발했습니다. PerfecTwin은 높은 완성도를 뜻하는 ‘Perfect’와 실제 데이터를 똑같이 적용한다는 의미의 ‘Twin’을 결합한 단어인데요. 현행 시스템에서 처리되는 실제 트랜잭션(Transaction, 처리되는 특정한 업무, 특정한 거래, 또 그 결과 얻어지는 데이터 기록)을 신규 시스템에서 자동 재현하고 테스트해, 기존의 테스트 방식을 극복하고 잠재 결함을 사전에 제거할 수 있게 도와주는 실거래 자동 검증 솔루션입니다.

사전에 결함을 잡는 새로운 테스트 방식, “PerfecTwin”

IT 프로젝트는 주로 SI(System Integration, 기업이 필요로 하는 정보시스템의 기획부터 개발, 구축, 운영까지 모든 서비스를 제공하는 일), SM(System Management, 회사 시스템이 문제 없이 작동하도록 시스템을 운영하고 유지 보수하는 일), 클라우드 마이그레이션(Cloud Migration, 서로 다른 클라우드 간 애플리케이션 및 데이터를 이전하는 과정), 인프라 고도화 4가지 유형으로 분류됩니다.

[그림1]은 각 IT 프로젝트 유형별로 기존 시스템 기능이 신규 시스템에서 그대로 유지되거나 변경되는 비율을 보여줍니다. 신규 시스템은 기능 측면에서 기존 서비스를 유지하거나 부분적으로 개선하는 경우가 대부분입니다. 따라서, 신규 시스템을 테스트할 때는 기존 시스템의 핵심 서비스가 올바르게 수행되는지 검증하는 것이 가장 중요합니다.

[그림1] IT 프로젝트 유형별 기존 서비스 유지 비중

PerfecTwin은 실제 거래를 실시간 또는 배치(Batch, 외부로부터 입력되는 일련의 데이터를 모았다가 일정한 시간이 되면 한 곳에 모아, 미리 정해진 작업 순서에 따라 차례대로 처리하는 시스템) 방식으로 자동 재현하고, 신규 시스템과 현행 시스템의 응답 메시지를 비교해 수행 결과를 자동으로 판정합니다. 또한, 대량의 실제 시나리오와 케이스, 실제 데이터를 자동으로 테스트에 활용해, 데이터가 불충분했던 기존 테스트 방식의 한계를 극복합니다.

영화표 예매 시스템을 예시로 들어 보겠습니다. 현행 영화표 예매 시스템에서 표를 구매하면, 신규 시스템에서 해당 거래를 재현하고, 각각의 응답 메시지를 자동으로 비교해 신규 시스템의 기능과 성능에 문제가 없는지 판단합니다. 마치 개통한 것과 동일한 환경에서 신규 시스템을 사전 검증해 잠재 결함을 제거하고, 신규 시스템의 품질을 보장하는 것이죠.

PerfecTwin을 구성하는 7가지 모듈

PerfecTwin은 Capture(캡처), Recorder(기록), Replayer(재현), Modifier(단말채널), Simulator(대외채널), Analyzer(분석), Rule Manager(변환규칙) 등 7개의 모듈(Module, 독립적인 하나의 소프트웨어 혹은 하드웨어 요소)로 구성됩니다.

[그림2] PerfecTwin의 테스트 자동화 개념
  • Capture 모듈은 요청 및 응답 메시지가 포함된 네트워크 패킷(Packet, 네트워크를 통해 전송하기 쉽도록 자른 데이터의 전송 단위) 또는 로그(Log, IT에서 발생되는 모든 정보를 시간에 따라 남겨둔 데이터)를 캡처한 후 트랜잭션 메시지로 생성해 Recorder 모듈로 전송합니다.
  • Recorder 모듈이 저장한 트랜잭션 메시지는 실시간 또는 배치 방식으로 Replayer 모듈이 읽은 후 메시지의 유형(사용자 채널 또는 외부 인터페이스 채널)에 따라 Modifier 또는 Simulator 모듈로 전송합니다.
  • Modifier 또는 Simulator는 신규 시스템으로부터 받은 응답 메시지를 Rule Manager에서 정의한 검증 규칙에 따라 현행 시스템과 비교합니다. 이 때 Rule Manager는 변환 및 검증 규칙을 정의할 때 자동 추천 기능을 제공해 사용자 편의성을 제공해줍니다.
  • Analyzer는 현행 시스템과 비교해 신규 시스템에서 재현된 트랜잭션(거래)의 검증 결과를 보여줍니다. 실패한 트랜잭션의 결함 및 세부 정보를 실시간으로 확인하고, 디버깅(Debugging, 프로그래밍 내 잘못된 부분을 찾아 고치는 것)을 위해 해당 정보를 다운로드할 수 있습니다.

Capture부터 Analyzer까지의 모든 과정은 사람의 개입 없이 모두 자동으로 수행될 수 있고, 일정기간 Capture 및 Recorder한 후 배치 방식으로 이후의 과정을 실행하는 것도 가능합니다.

PerfecTwin이 신규 시스템에서 재현되는 방식

[그림3] 트랜잭션 흐름 재현의 예

PerfecTwin이 현행 시스템의 거래를 신규 시스템에서 어떻게 재현하는지 예시를 통해 알려드리겠습니다. 공연 티켓을 예약할 때, 예약 시스템이 외부 시스템으로부터 사용 가능한 좌석 정보를 받아, 최종적으로 예약번호 100과 좌석번호 3A가 포함된 예약 완료 메시지를 사용자에게 전달하는 상황을 가정해보겠습니다.

PerfecTwin은 먼저 현행 FEP(Front-End Processor, 입력되는 데이터를 컴퓨터 프로세서가 처리하기 전에 미리 처리해 프로세서의 처리 시간을 줄여주는 프로그램 또는 하드웨어) 거래 메시지를 캡처해 시뮬레이터(Simulator, 복잡한 작동 상황 따위를 컴퓨터를 사용해 실제 장면과 같도록 재현하는 장치)에 저장하고, 현행 예약 서비스 사용자의 거래를 캡처 및 재현합니다. 신규 예약 서비스가 개통되기 전이기 때문에 실제 외부 시스템에 요청을 전송할 수는 없지만, 시뮬레이터에 사용 가능한 좌석을 요청하면 현행 FEP 거래 메시지와 동일한 좌석 번호 3A를 반환합니다. 또한 신규 예약 서비스는 현행 예약 번호 100이 아닌, 새롭게 생성된 예약 번호 91을 예약 완료 메시지로 반환하게 됩니다.

만약 사용자가 예약을 취소한다면 현행 시스템의 요청 메시지에는 예약 번호 100이 포함될 것입니다. 그러나 해당 번호는 신규 시스템에서 유효하지 않으므로 PerfecTwin은 예약 번호 100을 신규 시스템의 예약 번호인 91로 자동 변경하는 것입니다.

이번 편에서는 기존 테스트 방식의 한계와, 자동 검증 솔루션 PerfecTwin이 작동하는 방식에 대해 알아보았습니다. 추후 발행될 PerfecTwin 2편에서는 기존 테스트 방식의 한계 극복, 주요 사례를 추가로 소개해드리겠습니다.

●다음 글: 퍼펙트한 사례로 증명하는 PerfecTwin(퍼펙트윈)의 사전검증 능력

100% 실거래 데이터로 자동 검증하는 퍼펙트윈 자세히 보기

글 ㅣ LG CNS PerfecTwin 사업팀 김용식 전문위원

챗봇과 대화를 할 수 있어요