최적화된 테스트 솔루션, K-TOPIA: 테스트의 새로운 지평을 여는 솔루션
테스트 최적화 솔루션이란?
테스트 최적화 솔루션은 왜 필요할까요?
테스트 최적화 솔루션은 소프트웨어의 기능, 성능, 안정성 및 보안을 테스트하는 다양한 단위 케이스를 수집합니다. 수집된 단위 케이스들을 조합하여 고객의 요구 사항을 충족하고 안정적으로 수행될 수 있는 테스트 시나리오를 작성하고 관리합니다.
대규모 개발자들이 협업하는 복잡한 소프트웨어 개발 환경에서, 개인 또는 특정 개발 그룹이 작성하고 관리하던 테스트 시나리오를 중앙에서 관리함으로, 다양한 개발 참여자(고객, PM, QA 등)의 피드백을 반영할 수 있습니다. 이를 통해 테스트 케이스와 시나리오에 대한 신뢰성을 높일 수 있으며, 다양한 업무에 최적화된 테스트 케이스를 도출하고 효율적으로 관리할 수 있습니다.
테스트 솔루션을 도입하면 어떤 효과를 얻을 수 있을까요?
첫째, 품질 보증. 검증된 테스트 케이스는 소프트웨어의 품질을 보증합니다.
최적화된 테스트 케이스 및 시나리오를 통해 오류를 발견하고 이를 개선함으로써 고객에게 더 나은 품질의 제품을 제공할 수 있습니다.
둘째, 개발생산성 향상.
테스트 케이스와 시나리오가 중앙(온라인) 관리 및 공유됨으로 사용자는 등록된 테스트 케이스/시나리오를 재 사용하여 시간과 비용을 절약할 수 있습니다.
셋째, 테스트 추적성 용이.
테스트 케이스, 시나리오, 결과를 체계적으로 문서화하고 수집 및 관리함으로 향후 유지보수 및 회귀 테스트 시 이전 테스트 정보를 쉽게 참고할 수 있습니다.
K-TOPIA는 고객개발1팀에서 고안하고 개발한 자동화 테스트 솔루션입니다.
그럼 지금부터 K-TOPIA는 어떤 특장점이 있는지 소개해드리겠습니다.
K-TOPIA로 만드는 테스트 유토피아 : Test Optimization Platform + UTOPIA
변경된 소스를 탐지하여 테스트 케이스를 자동 생성해주고,
라이브 서비스 환경의 로그 데이터를 수집하여 서비스 검증까지 해주는 기능을 제공해준다면 어떨까요?
K-TOPIA는 다음과 같은 기능을 제공합니다.
소스 정적 분석 전문가 K-Tracker
K-Tracker는 자체 개발된 소스 정적 분석 Tool 로 소스 정적분석이 필요한 소스 저장소와 연동하여 변경이 일어난 소스를 감지하여 테스트케이스를 자동으로 생성하고 소스의 이력, 볼륨의 변화량 내부적인 기준에 따른 분위, 영향도를 측정하여 리포팅 해주는 기능입니다.
KT 무선 전산 시스템에 적용 되어있으며, 변경된 소스에 대한 테스트가 3일 이상 이뤄지지 않을 경우 대상자에게 메일이 발송되는 기능까지 갖춰 개발자가 놓칠 수 있는 단위 테스트를 할 수 있도록 지원해주고 있습니다.
라이브 서비스 로그 기반의 테스트 검증
LAMP 등 다양한 형태의 트랜잭션 로그 수집 서비스와 연계하여 별도의 테스트 데이터를 직접 작성할 필요 없이, 개발자가 놓칠 수 있는 데이터 유형의 테스트를 라이브 서비스 로그 기반으로 테스트를 진행하고 요청, 결과값을 비교하여 성공 실패 여부를 확인할 수 있습니다.
KT 유선 차세대 프로젝트에 선 적용된 기능으로, 단위 테스트 케이스 별 일 평균 500~1000회 테스트 수행되고 있습니다. 이로 인해, 개발자가 건건이 테스트하지 않고도 단위 기능들이 검증되고 리포팅(Reporting)됩니다.
API 연동 기능
SOAP, HTTP(REST) 다양한 프로토콜을 지원하며, API의 전문을 관리하고 API의 예상 결과 값의 전문 구조를 등록하여 구조 검사까지 가능합니다. 단 건 테스트 외 API 연동 테스트 케이스들을 시나리오로 구성하여 연계 처리가 가능하고 예약 등록하여 반복 수행이 가능합니다.
K-TOPIA 도입 후, 프로젝트 관리의 혁신: 데이터로 본 성과
K-TOPIA는 22년 3월 오픈 후 KT 다양한 시스템에서 사용하고 있습니다.
현재 K-TOPIA는 KTDS 2개의 본부에서 사용 중이며, 적용된 시스템은 약 190여개로 다양한 SI, SM 사업에 적용되고 있습니다.
수집된 테스트케이스는 134,040개, 테스트 시나리오는 31,295개로 테스트케이스 유형별 현황은 아래 표와 같습니다
유형 | 개수 | 비고 |
단순 실행형 | 132,023 | |
Application 실행형 | 580 | |
API 연동형 | 1,005 | |
단순 데이터 변경형 | 184 | |
RPA 실행형 | 253 |
이 중 가장 많이 재활용된 테스트 케이스 상위 5개의 재사용 횟수는 2,160회, 2,043회, 1,615회, 1,442회, 1,316회로 시스템과 사용자의 숙련도가 높아짐에 따라 더 높은 생산성을 보여주고 있습니다
월간 평균 1,295개의 테스트가 계획되며1,741번(동일 테스트 계획의 다중 수행이 포함)의 수행이 이뤄지고 있는 K-TOPIA는 개발 / 운영팀의 테스트 협업의 도구가 되고, 품질 담당자에게 품질 관리의 지표 자료로 활용되고 있습니다.
K-TOPIA 2.0: 대외 사업 확장의 발판을 위한 고도화
24년도는 대외 시장성을 확보할 수 있는 솔루션을 목표로 K-TOPIA 2.0 고도화 프로젝트를 진행하고 있습니다. 주요 내용은 아래와 같습니다.
다양한 테스트 Suite 들과의 연계 기능 확보
- 자체 개발된 강력한 정적 분석 툴인 K-Tracker외에도
SI프로젝트의 경우 고객사가 원하는 정적 분석 솔루션(SonarQube 등)와 이슈 관리 도구(Jira 등)와 Plug In 형태로 연계하는 기능을 개발 하고 있습니다.
Dashboard 기능 강화
- 현재 K-TOPIA는 2개(SI 형, SM형)의 고정된 형태로 Dashboard가 제공되고 있습니다. 향후, 다양한 테스트 Suite 연계 정보와 내부 테스트 정보를 여러 관점에서 분석할 수 있도록 위젯 기반의 대시보드를 개발하고 있습니다.
SaaS, 설치형 다양한 형태로 시장성 확보
- K-TOPIA는 SaaS 방식으로 제공되며, KT Cloud 사내망에 다중 테넌트 아키텍쳐(Multi-Tenant Architecture)로 구축되어 있습니다. 고객 요구사항에 따라 테넌트 분리가 필요 할 경우 데이터베이스를 분리하고 신규 인스턴스의 구동 설정을 변경하여 서비스를 제공하고 있습니다.
- 데이터베이스 분리 시 현재 K-TOPIA 용도 DB에서 논리 데이터베이스를 분리하는 방식과 실제 DB 장비 물리적 분리하는 방식 두가지 방식 모두 구축되어 있으며, 고객의 요구사항에 따라 메타 데이터를 구성 후 백업 하여 K-TOPIA를 다양한 형태로 제공하고 있습니다.
- 향후, SaaS 방식 뿐만 아니라 고객사가 개인정보 혹은 사내정보 보안을 위해 설치형(폐쇄형)으로 서비스를 제공할 수 있도록 다양한 솔루션 환경 구성 계획 안까지 마련하고 있습니다
마지막으로, K-TOPIA를 대외적으로도 사용할 수 있도록 AWS 클라우드에 구축을 진행하고 있습니다. 대외 시장에서도 멋지게 활약할 더욱 향상된 모습으로 만나실 수 있기를 기대해 주시기 바랍니다.