Global QA & Testing 관련 기술 동향 분석
Updated:
이번 글은 Capgemini, Sogeti 및 Micro Focus에서 매년 공동 발간하는 보고서인 “World Quality Report 2018-19” 내용을 기반으로, QA 및 Testing 관련 기술동향을 정리하였습니다. 전체 자료가 필요하신 경우 아래의 원문을 참고하시기 바랍니다.
Source: https://www.capgemini.com/service/world-quality-report-2018-19/
Introduction
World Quality Report는 32개국 총 10개 영역의 다양한 비즈니스 부문에 대해, 1,700명의 경영진을 대상으로 진행한 설문에 기반하여 작성되었습니다.
이번 보고서는 QA 및 Testing 영역의 전반적인 변화에 대해 다루고 있으며, 기존 ‘Supporting Function’으로 인식되던 것에서, 이제는 ‘비즈니스 성과 및 고객 만족’에 핵심 역할을 담당하는 방향으로 이동하고 있다는 점을 보여주고 있습니다. 이러한 변화에 따라 ‘Quality at Speed’ Paradigm의 중요성이 함께 부각되고 있으며, 이것은 QA 및 Testing 관련 기술방향을 결정하는 핵심요소가 되고 있습니다.
업계의 주요 트렌드로는 Agile 및 DevOps의 성장, Digital Transformation의 확산, TCoE(Test Centers of Excellence)에서 TEC(Test Excellence Center)로의 조직구조 전환, 여전히 낮은 Automation 수준에 따른 혁신 제약 등으로 나타났습니다.
또한, 단 1%를 제외하고는 모든 조직이 DevOps Practice를 적용하고 있음이 이번 보고서에서 확인되었습니다. 조직들은 더이상 DevOps로의 전환 여부에 초점을 맞추고 있지 않으며, DevOps 적용방안을 더욱더 정교화하고, 지속적으로 개선하기 위해 고민하고 있습니다. 자동화에 기반한 CI(Continuous Integration), Deployment Pipelines, 협업 가속화 및 빠른 피드백 체계의 구축과 함께, 상용환경에서의 안정성, 신뢰성 및 보안성 등을 확보하고자 하는 노력들이 확인되고 있습니다.
마지막으로, IoT(사물인터넷), Blockchain, AI(인공지능), 및 Machine Learning(ML)과 같은 떠오르는 트렌드들이 미래의 QA 및 Testing 역할을 혁신적으로 전환시킬 것으로 예측되고 있습니다.
Executive Summary
1,700명의 CIO 및 기술전문가를 대상으로 한 설문 결과에서, QA(Quality Assurance) 및 Testing의 역할이 단순히 결함을 찾는 것에서, ‘an enabler of customer satisfaction and business outcomes’로 변화되고 있음을 확인하였습니다.
‘QA 및 Testing 활동이 고객만족에 기여해야 한다’는 목적으로의 변화는, 최근 몇년간 눈에 띄게 증가한 현상입니다. 이것은 고객중심 비즈니스의 디지털화에 따른 Agile, DevOps 및 Cloud의 도입 증가에 따라, QA에 대한 목적과 기대치가 함께 변화하고 있음을 잘 보여주고 있습니다.
Agile, DevOps and TCOEs
Agile 및 DevOps의 적용은 “Quality at Speed” 관점에서 추진되고 있으며, 설문대상의 99%가 DevOps를 적어도 일부 프로젝트에는 적용하고 있다고 응답했습니다. 이러한 적용방향은 품질비용까지도 ‘Speed’에 초점을 맞출 것을 요구하고 있습니다.
현실적으로는, 많은 조직들이 자체적인 규정, 문화 및 비즈니스 요구사항 등에 최적화된 ‘Hybrid Frameworks’을 개발하기 위해, Agile을 커스터마이징하여 Waterfall에 결합하여 사용하고 있는 추세가 확인되었습니다.
한편, Agile 및 DevOps로의 전환은 QA 및 Testing 조직이 분산되는 결과를 가져오고 있습니다. QA 역할이 개별 프로젝트 팀으로 위임되면서, 개별 Project 또는 Scrum 팀원간의 Skill 및 개인 선호도에 따라 품질수준의 격차가 발생하고 있습니다. 전사 차원의 최신기술, Best Practice, Test Scenario 재사용 등에 기반한 기술역량 강화가 어려워지면서, 개별팀마다 ‘바퀴를 재발명’하고 있는 수준의 비효율성이 지속적으로 발생하고 있습니다.
이러한 문제점을 개선하기 위해, ‘The Community of Quality Practice’ 또는 ‘TEC(Test Excellence Center)’로 잘 알려진 ‘A Thin Layer of Centralization’ 형태의 전사지원체계를 강화하고 있으며, Project팀이 유연하고 자율적인 팀 운영을 유지하면서도 Best Practice 기반 전문역량 및 자원을 효과적으로 활용 할 수 있도록, 전사 차원의 지원을 최적화하는 구조로 변화하고 있습니다.
Automation
QA 및 Test Activity의 자동화는 지금까지 약 15년이상 진행되어왔습니다. 최근 몇년간은 Test 자동화의 영역이 ‘Test Execution’에서 Model-based Testing Tool에 기반한 ‘Test Case Generation’으로 확장되었습니다.
자동화의 목적 또한 단순히 테스트 시간 단축보다는, Test Case 적용 커버리지 확대 및 효과적인 사용에 대해 많은 관심을 보이고 있습니다. 이러한 추세는 다시한번 “Quality at Speed”와 관련이 있습니다.
그러나, Test Activity의 자동화 수준은 여전히 매우 낮은 편(between 14~18% for different activities) 입니다. 설문 응답자의 61%가 QA 및 Testing 프로세스를 자동화하는데 어려움을 겪고 있다고 답했으며, 그 이유로는 매번 배포시마다 너무 많은 Application의 변경이 일어나고 있다는 점을 들고 있습니다. 이것은, 강력하면서도 실제 적용가능한 테스트 자동화 솔루션을 구축하는데 어려움을 겪고 있다는 점을 보여주고 있습니다. 한편, 기업들의 46%는 숙련되고 경험많은 테스트 자동화 전문역량 및 자원 모두 부족하다는 점을 추가적인 원인으로 지목하고 있습니다.
Cost
Test Activity의 비용 및 효과에 관해서는 두가지로 갈라지는 트렌드를 보여주고 있습니다.
첫번째로, 기존 Core IT 및 Legacy System을 대상으로 하는 Waterfall 기반 테스트 접근에 있어서는, Automation과 Outsourcing의 확대로 인해 확실한 비용절감이 확인되고 있습니다.
두번째로, Digital Transformation 트렌드에 따른 Cloud 및 Agile/DevOps의 적용에 있어서는, QA 및 Testing의 자동화와 분석업무 추진을 위한 새로운 인프라 구축, 자동화 도구 도입, Workflow 재구성 등을 위한 지출의 흐름이 확인되었습니다.
2015년에는 전체 IT예산의 35%를 QA 및 Testing에서 사용하였으며, 2016년에는 31%를 사용하였습니다. 2017~18년에는 동일하게 26%를 사용하여 지출이 점차 하향 안정화되고 있음이 확인되고 있습니다. 한편, 테스트 환경의 가상화, 테스트 자동화 및 테스트 수행 전반에 걸친 분석업무 등을 위한 또다른 투자의 흐름이 예상되고 있습니다.
Current Trends in Quality Assurance & Testing
Test Automation
설문 응답자의 29%는 “Reducing Overall Application Cycle Times”를 QA 및 Testing의 중요한 목적으로 답변했습니다. IT와 비즈니스가 점차 긴밀한 결합을 보여주고 있는 현재의 추세에서, QA영역의 경우 “Quality at Speed”의 개념에 대한 관심이 증가하고 있으며, 이것은 사람의 개입이 최소화된 환경에서 비용 절감, 품질향상, 시장 적기출시를 제공하겠다는 약속과도 연관되어 있습니다. 위에 나열된 모든 목표를 달성하기위한 방법은 바로 자동화에 있습니다.
자동화의 적용을 이끄는 두가지 요소는 다음과 같습니다. 첫번째로, Agile 및 DevOps의 적용수준이 ‘Tipping Point’(응답자의 99%가 최소한 비즈니스의 일부분에는 DevOps를 적용중에 있다고 답변함)에 도달했다는 점입니다. 두번째로, 자동화가 없는 DevOps는 Agile의 이점을 최대한 활용할 수 없다는 점입니다. 이러한 두가지 요인들로 인해 자동화의 중요성은 점차 확대되어 가고 있습니다.
현재의 조직들은 ‘Test Lifecycle’기반 자동화를 추진하고 있으며, 이것은 테스트 활동 전반에 걸친 조립라인과 같은 형태로 구현하는 것을 의미합니다. 사유 소프트웨어(Proprietary Software), 오픈소스, 상용 자동화도구 등이 복합적으로 구성된 시스템간의 Orchestration을 통해 테스트 자동화가 완성됩니다.
한편, 조직이 새로운 IT 패러다임을 처리하는 역량이 점차 성숙해감에 따라, 자동화로부터 얻는 이점 또한 증가하고 있습니다.(cf. 비용 절감, 시장 적기출시 지원, 결함탐지 수준 개선, Risk 분석 커버리지 확대 등) 이것은 QA 및 Testing의 핵심 목표인 “시스템 오픈전 결함 적기 제거”뿐 아니라, “비즈니스 성장 및 성과의 기여”와도 완전히 일치하는 결과로 확인됩니다.
The Quality Assurance Organization
Digitalization의 가속화에 따른 Agile 및 DevOps의 적용이 최근 몇년간 증가하고 있습니다. 이러한 프레임워크의 변화에 의해 대부분의 회사들은 중앙에 집중되어 있던 테스트 기능을 Project Level로 분산하여 운영하고 있으며, 기존 TCoE(Test Center of Excellence) 형태의 조직구조에서도 점차 멀어지고 있습니다.
하지만, 이러한 트렌드는 일정하지 않으며 지역 및 사업부문별 성숙도 수준에 따라 다양한 형태를 보이고 있습니다. 설문조사에 따르면, 전세계 조직들은 Agile을 다양한 방법으로 커스터마이징하고 있으며, 조직의 needs와 역량에 최적화하기 위해 기존 Waterfall과도 결합하고 있습니다.
조직 내의 규정, 문화 및 비즈니스 요구사항 등과 관련된 많은 시나리오들이 순수한 Agile Framework에서는 잘 작동되지 않는 경우가 종종 발생했기 때문에, 이러한 유형의 Hybrid 접근방식이 만들어지고 있습니다. 그 결과, 많은 조직들이 Agile 및 DevOps는 일부 프로세스(ex. customer-facing, front-end applications)에서만 적용하고, 나머지 프로세스(ex. backend processes based on older, legacy systems)는 여전히 Waterfall 적용을 고수하고 있는 현상이 확인되고 있습니다.
많은 조직들에서 Agile이라 부르고 있는 것이, 실제로는 Agile Framework와 Waterfall간의 결합을 말하고 있습니다. 이러한 유형의 Hybrid Model은 IT시스템에 중요한 Legacy Components를 포함하고 있는 대부분의 회사에서 채택되고 있으며, 작업 복잡도가 높음에 따라 테스트 수행에 소요되는 공수와 기간 또한 급격히 증가하게 됩니다.
한편, 개발 및 테스팅의 성숙도가 높은 지역의 회사들에서는 Waterfall에서 Agile 및 DevOps로 전환하는 증가세가 확연히 드러나고 있습니다. 이 지역들은 특징적으로 CT(Continuous Testing)의 도입 규모가 큰 것으로 나타났으며, 테스트와 AI/ML 기술 등을 결합한 흥미있는 초기 도입사례들을 함께 보여주고 있습니다.
4~5년전만 해도, TCoE(Test Centers of Excellence)가 크게 유행하였습니다. Test Outsourcing 전문기업들은 거대한 규모의 경제를 기반으로 표준화된 자동화 도구, 테스트 환경 및 프로세스를 각 기업에 제공했습니다. 그러나, TCoE에 대한 열광은 최근 2년동안 급격히 막을 내렸습니다. Agile 및 DevOps의 증가와 속도 및 유연성에 대한 중요성이 강조되면서, 대부분의 조직들에서 테스트의 책임은 개별 Project에서 담당하게 되었습니다.
일부 조직에서는 여전히 중앙화된 형태의 ‘A Community of Practice’나 ‘TEC(Test Excellence Center)’의 구조를 유지하고 있습니다. 현재 ‘전사 QA조직이 담당하고 역할’에 대한 설문조사에 따르면, Test Automation(21%), SDET(SW Development Engineer in Test)(20%), Non-Functional(Performance) Testing(19%), Business Domain-based Tester(19%), Specialized Technology Tester(18%) 등으로 나타났습니다.
한편, 공공부문에서는 TCoE가 새로운 형태로 돌아오고 있는 트렌드를 보이고 있습니다. 새롭게 진화된 모습의 TCoE는 전사조직과 Project 조직이 역할을 분담하는 Hybrid 형태를 보이고 있습니다. 전사조직에서 전담하고 있는 역할은 성능, 보안, 그리고 통합테스트 영역입니다.
요약하면, 현재 우리는 Agile, DevOps 그리고 TCoE가 혼재되어 있는 현실을 보고 있습니다. TCoE와 관련한 현상은 작년부터 확인되고 있으며, 많은 조직들이 전사조직이 테스트를 전담 수행하는 체계로부터 점차 벗어나고 있습니다. 이러한 트렌드는 Agile 및 DevOps Practice가 성숙할수록 증가할 것으로 예상됩니다.
마지막으로, 우리는 DevOps의 도입에 따라 Cloud, 자동화, AI기반 분석기법 등의 적용이 QA 및 Testing 영역에서 점차 확대되고 있는 현상을 확인하고 있습니다. 테스트에서 요구되는 전문기술 역량은 지난 몇년간 급격한 변화를 가져오고 있으며, 신기술에 대한 테스트 needs는 계속해서 증가할 것으로 보고 있습니다.
참고 1. “Agile Organization of the QA and Test Function”
이전의 테스트 조직운영 트렌드는 ‘TCoE(Test Center of Excellence)’라고 불리는 Test Factory에서, 모든 End-to-End 테스트 수행에 대한 책임을 가지고 전담 운영하는 구조였습니다.
2017년 조사결과부터는, Agile 및 DevOps Model에 기반하여, 테스팅 영역이 ‘Central Team’에서 ‘Decentralized Unit’으로 이동하고 있음이 확인되고 있습니다. 이에 따라 많은 조직들이 기존 TCoE보다 민첩한 구조인 TEC(Test Excellence Center)로 전환을 수행하고 있습니다. 이를 통해, 기존과 같이 실제 테스트 수행을 전담 지원하는 것 보다는, 전문 역량을 제공하고 수행 가능한 환경을 제공해 주는데 초점을 맞추고 있습니다.
미래의 테스트 조직은 효율성과 재사용성을 갖추고 있는 ‘Flexibility’와 ‘Agility’가 결합된 구조로 운영될 것 입니다. 이를 위해, TEC는 전사차원의 PoC기반 신기술 도입, 자동화도구 및 테스트 플랫폼의 선정 및 관리, 테스트 전문가 및 전문역량의 지원을 담당하고, IT팀별로 분산 운영되는 Test Center는 다양한 비즈니스 영역별 특성에 맞게 직접 테스트를 수행하는 구조로 전환될 것입니다.
TEC는 통합된 가이드와 일관된 기술역량체계를 제공함으로써, Core Legacy System과 Agile 기반 Digital Application이 혼재된 현재의 환경에서 표준화된 QA 및 Testing 역량을 지원하게 됩니다.
Source: World Quality Report 2017-18
참고 2. TCoE(Test Center of Excellence) 서비스 구조 예시
TCoE(Test Center of Excellence)는 전체 조직을 대상으로 최적화된 지원을 제공하기 위해 테스트 프로세스, 인력, 자동화 도구를 Shared Service 형태로 제공하는 중앙 집중식 조직구조입니다. TCoE는 품질 향상, Time to Market 단축 및 소유비용 절감 측면에서 조직에 많은 이점을 제공하고 있습니다.
- Improved efficiency(효율성 향상)
- Optimizes people and tool utilization(인력 및 도구활용 최적화)
- Reduces testing costs(테스트 비용 절감)
Source: https://www.miraclesoft.com