World Quality Report(2022-23) 소개 (2)
이전 글에 이어, Quality & Testing 관련 현재 트랜드 및 주요 내용에 대해 계속 살펴보도록 하겠습니다.(출처: “World Quality Report 2022-23” ) 3. CURRENT TRENDS IN QUALITY ENGINEERING & TESTING 3) Quality Infrastructure Testing and Provisioning 테스트 환경관리(Test Environment Management)는 World Quality Report의 설문조사에서 항상 중요한 영역이었습니다. 용어 참고. 테스트 환경관리(Test Environment Management) 테스트 환경 관리는 각 테스트 환경을 IT PJT, DevTest Community 및 전체 S/W Development Lifecycle에 사용할 수 있도록, 적절한 거버넌스 및 서비스를 통해 테스트 환경*을 이해하고 해당 지식을 적용하는 기능입니다. *IT 및 테스트 환경에는 다음이 포함될 수 있습니다. Development Environments, for development System Testing Environments, for isolated system tests Integration Testing Environments, to check connectivity User Acceptance Test Environment, for business sign-off Performance Testing Environment, for performance tests Source: https://www.testenvironmentmanagement.com/tem-101/ 올해에는 테스트 환경 프로비저닝(Test Environment Provisioning)이 어떻게 적용되고 있는지, 그리고 Non-production환경의 Cloud Provisioning이 어떻게 도약하고 있는지에 대해 분석했습니다. 용어 참고. 프로비저닝(provisioning) 프로비저닝(provisioning)은 사용자의 요구에 맞게 시스템 자원을 할당, 배치, 배포해 두었다가 필요 시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해 두는 것을 말합니다. 서버 자원 프로비저닝, OS 프로비저닝, 소프트웨어 프로비저닝, 스토리지 프로비저닝, 계정 프로비저닝 등이 있습니다. 수동으로 처리하는 수동 프로비저닝과 자동화 툴을 이용해 처리하는 자동 프로비저닝이 있습니다. Source: https://ko.wikipedia.org/wiki/ 용어 참고. Non-production Environment Non-Production Environment란 S/W가 상용 목적으로 사용되지 않고 있는, Development, Staging, Quality Assurance과 같은 환경들을 의미합니다. Source: https://www.lawinsider.com/dictionary/non-production-environment 점점 더 많은 환경과 애플리케이션들이 Cloud로 이동함에 따라, Cloud Testing은 S/W Development Lifecycle에서 더 큰 위치를 차지하고 있습니다. 그래서, 이번 장에서는 Cloud Testing의 현 상태과 적용 수준에 대해 조사했습니다. Test environment provisioning on cloud 점점 더 많은 Workload들이 Cloud로 옮기고 있음에 따라, 조직들이 Non-production환경에 대해 Cloud에서 Provisioning하고 있는 비율이 어느 정도인지 물어봤습니다. 용어 참고. 워크로드(Workload) 클라우드 워크로드란 무엇입니까? 클라우드 워크로드는 클라우드 리소스에서 실행할 수 있는 특정한 애플리케이션, 서비스, 기능 또는 특정한 작업량입니다. 가상 머신, 데이터베이스, 컨테이너, Hadoop 노드 및 애플리케이션이 모두 클라우드 워크로드로 간주됩니다. Source: https://www.dell.com/ko-kr/dt/learn/cloud/cloud-workloads.htm 그 결과는 명백한 진전을 보여주고는 있지만, 아직까지도 전체 조직의 거의 절반 정도는 Non-production환경 중 최대 25% 정도까지만 Cloud에서 Provisioning하고 있는 것으로 나타났습니다. 전체 조직의 나머지 49%는 Non-production환경의 50% 이상을 Cloud에서 보유하고 있습니다. 이러한 Non-production환경의 Cloud 적용은, Cloud환경에서 평균 23%의 Testing이 수행되고 있다고 답변한 지난해 설문조사와 비교하면 긍정적인 추세를 보여주고 있습니다. Non-production Workload를 Cloud로 옮기는 추세가 증가하고 있다는 사실을 알게된 이후, 우리는 Non-production환경을 위한 Cloud Platform전략에 대해서도 살펴봤습니다. 그 결과, 현재 많은 조직들(44%)이 Hybrid(On-premises plus Single Cloud Provider) 환경 전략을 사용하고 있었습니다. 조직들 중 약 38%는 Multi-cloud전략을 수립하고 있습니다. 또한, 응답자의 평균 30%가 테스트 환경을 Multi-premise(on-premises plus multi-cloud provider)모델로 전환하는 것에 대해 심각하게 고민하기 시작했습니다. 이 데이터는 Non-production환경을 Cloud로 전환하는 작업이 아직 완료되지 않았음을 보여주고 있습니다. 이러한 Non-production환경에 대한 Multi-cloud 및 Multi-premise전략은 재해 복구, 보안 및 비용 효율성에 긍정적인 영향을 미치기 때문에, 적용이 점차 증가할 것으로 예상하고 있습니다. Automation of test environment provisioning Non-production환경을 Cloud로 옮길 때 가장 큰 이점은, Cloud Solution을 통한 테스트 환경 Provisioning 자동화가 훨씬 쉬워진다는 것입니다. 우리는 테스트 환경 Provisioning 자동화를 위해 조직들이 사용하고 있는 자동화 도구들을 조사했습니다. 그 결과, 사용 가능한 다양한 옵션들이 고르게 분포되어 있었습니다. 응답자의 41%는 오픈소스(Open-source Option)와 함께 상용 자동화 도구(Commercial Off-the-shelf Tooling)를 혼합한 Hybrid Tooling Strategy를 적용하고 있었습니다. Cloud-native Tooling이나 사내개발 자동화 도구(In-house Supplier-Built Tooling)의 경우에도 비슷한 수준의 선호도를 보이고 있다는 점을 확인했습니다. 이번 분석에서 눈에 띄는 한 가지 전략은, 조직들이 모든 계란을 한 바구니에 담을 준비가 되어 있지는 않다는 것입이다. 따라서, 현재는 여러 자동화 도구를 혼합하여 사용하는 전략이 수행되고 있습니다. 이를 통해, 많은 조직들이 자동화 도구를 적용함에 있어 균형 잡힌 접근 방식을 취하고 있음을 알 수 있습니다. 이 분야에는 많은 새로운 자동화 도구들이 적용되고 있기 때문입니다. Cloud and infrastructure testing 조직들이 Cloud에 더 많은 환경들을 구축함에 따라, Cloud Testing의 중요성 또한 점점 더 커질 것으로 예상됩니다. Cloud Testing을 통해 조직들은 Cloud환경 및 애플리케이션의 확장성(Scalability), 성능(Performance), 보안(Security), 신뢰성(Reliability), 재해 복구(Disaster Recovery), 상호 운용성(Interoperability) 및 멀티 테넌시(Multi-tenancy)를 검증합니다. 애플리케이션이 Cloud로 옮겨질 때, 애플리케이션의 기능적 측면과 비기능적(Non-functional) 측면을 테스트하여, 요구하는 전체적인 기능과 성능을 유지하고 있는지에 대해 보장할 수 있어야 합니다. 올해 설문 조사에서는, 조직들이 Development Lifecycle의 일부로서 Cloud 및 Infra Testing을 포함하고 있는지 물어보았습니다. 전체 응답자의 약 96%가 Cloud Testing이 현재 Testing Lifecycle의 일부로 포함되어 있다고 언급했으며, 57%는 대부분의 PJT에서 Cloud Testing을 포함하고 있으며, 39%는 적어도 일부 PJT에서 Cloud Testing을 포함하고 있다고 답변했습니다. 이것은 S/W Development Lifecycle에 Cloud Testing 역량을 포함하는 추세가 상승하고 있음을 보여주는 긍정적인 결과입니다. 이러한 추세를 지속하면서, Cloud Testing 및 Infrastructure Testing을 S/W Development Lifecycle의 필수 단계로 포함할 것을 강력하게 권장합니다. 우리는 향후 몇년간은 Cloud Testing이 받아들여지고 적용이 증가하는 트랜드가 계속될 것으로 보고 있으며, 이전에 비해 Cloud Testing 및 Infrastructure Testing에 참여하는 조직들도 확실히 늘어나고 있습니다. 이는 Cloud 적용이 점차 증가함에 따라, 잠재적인 보안 및 성능 이슈에 대한 관심도 증가하기 때문에, 점점 더 높은 관련성을 가지게 될 것 입니다. Cloud testing strategy Cloud Testing의 중요도가 점차 높아질수록, 조직들이 PJT에 대한 Cloud Testing전략을 수립하는 데 얼마나 성숙되어 있는지 이해하는 것도 중요합니다. 이번 설문조사에서 Cloud Testing전략은 아직 효과적이지 않으며, 성숙될 필요가 있는 것으로 나타났습니다. 응답자의 절반(50%)이 Cloud Testing전략이 약간 효과적(Only Somewhat Effective)이라고 언급한 반면, 37%는 중간정도로 효과적(Moderately Effective)이라고 언급했습니다. 이같은 결과는, 대부분의 조직들이 전반적으로 가지고 있는 Cloud Testing의 개념 및 Cloud Testing관련 자동화 수준이 초기 단계에 머물러있다는 신호입니다. 이러한 관찰을 통해 얻을 수 있는 핵심은, 조직들이 전체적인 Cloud 적용 전략에 부합하는 End-to-end Cloud & Infrastructure Testing전략 수립을 시작하는 것이 시급하다는 것입니다. Automation of cloud testing 또한, 우리는 조직에서 Cloud Testing 자동화를 적용하는 접근방식과 Cloud Testing 자동화에 사용하는 도구의 유형에 대해서도 조사했습니다. 응답자의 약 33%는 Cloud Testing을 위한 자동화 도구 선정에 대해, PJT별 의사결정에 전적으로 따른다(Project-specific Decision)라고 대답했습니다. Open-source를 선호하는 경우도 동일한 비율(33%)로 답변하였으며, 31% 정도가 Cloud기반 자동화 도구(Cloud-native Tooling)를 선호하고 있다고 답변하였습니다. What should organizations focus on? 전반적으로, Test Environment Management에 대한 긍정적인 동향을 확인할 수 있었습니다. 보다 많은 조직들이 테스트 환경을 Cloud(Multi-cloud 또는 Multi-premise Model)로 이동하고 있습니다. 조직들은 테스트 환경 Provisioning 자동화를 위해, Cloud 자동화 도구(Cloud-native Tools), 상용 자동화 도구(Commercial off-the-shelf Tools)또는 사내개발 자동화 도구(In-house Built Tools)에 이르기까지, 자동화 도구들을 혼합하여 사용하고 있습니다. Test Environment Management 및 Provisioning 관련 권장 사항은 다음과 같습니다. 테스트 환경을 위한 Multi-premise(on-premises plus multi-cloud provider) 전략을 신속하게 적용하여, 비용 효율성(Cost Efficiency), 보안성(Security), 중복성(Redundancy) 및 데이터 복구 옵션(Data Recovery Options)을 개선해야 합니다. 테스트 환경 Provisioning을 위한 Hybrid전략으로, 상용 및 오픈 소스 자동화 도구의 최대 활용을 위한 Intelligent Integration(특정 기능 사용자 지정 포함)을 고려할 수 있습니다. Non-production workload환경의 효율적인 설계 및 아키텍처를 통해, Non-production workload를 Cloud로 이동하는 비용-편익(Cost-benefit) 트랜드를 더욱 활용해야 합니다. 4) Test Data Provisioning and Data Validation Test data provisioning strategies 올해는 조직들이 어떤 Test Data Provisioning전략을 사용하고 있는지 조사했습니다. 분명한 결과는 많은 조직(41%)들이 여전히 Test Data Provisioning에 있어, PJT중심의 접근 방식을 사용한다는 것입니다. 조직들의 31%가 전사적 Test Data Provisioning전략을 수립했지만, 효율적으로 구현하는 데 어려움을 겪고 있는 것으로 나타났습니다. 응답자의 20%만이 전사적으로 완벽하게 구현된 Test Data Provisioning전략을 가지고 있다고 답했습니다. 조직들은 현재 속해있는 지역의 규정을 살펴보고 전사적인 Test Data Provisioning전략을 신속하게 수립해야 합니다. 여기에는 보안에 대한 적절한 초점도 포함되어야 합니다. Provisioning of test data into CI/CD pipelines 조직들은 안전한 Test Data에 대해 On Demand Provisioning을 고려하고 있지만, Test Data Pipeline이 CI/CD Pipeline과 통합되는 것은 아직도 먼 이야기입니다. 49%의 조직에서 Test Data Provisioning Process가 자동화되어 있지만, 이러한 자동화는 전체 CI/CD Pipeline 자동화와는 독립적으로 운영되고 있습니다. 42%의 조직에서 Test Data의 Manual Provisioning은, CI/CD Pipeline과 Test Data Provisioning을 통합하는 데 있어 여전히 가장 큰 장벽 중 하나입니다. 응답자의 거의 1/3(31%)은 Test Data를 CI/CD Pipeline에 통합하는 것이 종종 간과되고 있다고 생각합니다. 이 분석을 통해 얻을 수 있는 주요 시사점(Key Takeaway)은, 조직들이 Test Data Provisioning 자동화를 CI/CD Pipeline의 필수 요소로 고려해야 한다는 것입니다. 우리는 Value Stream Management 관련 Tooling이, Test Data Provisioning을 CI/CD Pipeline에 통합하는 데 도움이 될 수 있다고 생각합니다. 이러한 접근 방식은 Cloud기반 Non-production환경에 올바른 Test Data를 구현하는 데도 도움이 될 수 있습니다. Data validation approaches Business의 의사결정을 위한 데이터 사용이 증가함에 따라, 데이터의 정확성과 Quality에 대한 검증이 매우 중요해지고 있습니다. 설문 조사에서 응답자의 46%가 현재 데이터 검증을 매우 중요한 기능으로 보고 있으며, 44%는 이 분야가 앞으로 매우 중요해질 것이라는 데 동의하는 것으로 나타났습니다. 데이터 검증에서 기대되는 Benefit에 대한 질문에서, 응답자의 89%는 강력한 데이터 검증 역량이 시간 및 자원 측면에서 효율성을 향상시킬 뿐만 아니라, Business 의사결정을 개선하는 데 있어 중요한 도움이 될 것이라는 데 동의했습니다. 이와 유사한 수준에서, 88%의 응답자가 강력한 데이터 검증 역량이 고객 만족도 및 통찰력의 정확성에 직접적인 영향을 미치고 있으며, 이 기능이 Business 수익성을 높이는 데 도움이 될 것이라는 데 동의하였습니다. 효과적인 데이터 검증이 Business성과에 매우 중요하다는 확신이 압도적으로 많습니다. What should organizations focus on? Test Data Provisioning에 대한 올해의 설문 조사에서 관찰한 주요 내용은 다음과 같습니다. 언제든지 Test Data에 접근할 수 있도록, Cloud기반 전사 Test Data Management전략을 채택하는 경향이 증가하고 있습니다. 많은 조직들은 여전히 Test Data의 On-premise복사본에 편향된 전략을 적용하고 있습니다. CI/CD Pipeline과 통합된 Test Data Provisioning Process 자동화는 여전히 대부분의 조직에서 성숙될 필요가 있습니다. 5) Quality and Sustainable IT Introduction 지속 가능한 컴퓨팅(Sustainable Computing)을 홍보하기 위해 가장 잘 알려진 프로그램 중 하나는 30년 전(1992년)의 사례입니다. 미국 환경보호청(US Environmental Protection Agency)이 주관한 자발적 참여 프로그램으로, 컴퓨터 기기의 에너지 효율 가시성을 장려하는 Energy Star Labeling Program으로 불렸습니다. Source: https://www.efficiencyvermont.com/products-technologies/electronics/computers-monitors 이후 IT 지속가능성(IT Sustainability)은 탄소 배출에 대한 집중적인 관심에서부터, 보다 광범위한 환경, 사회 및 거버넌스 측면(ESG Framework)까지 부각되었습니다. 지속가능성(Sustainability)은 조직들이 지구와 사회 전반에 어떠한 해도 끼치지 않고 운영을 지속할 수 있는 능력과 연관이 있습니다. 대부분의 조직들은 이러한 임무를 목표와 일정이 명확하게 정의된 실행 단계로 전환해왔습니다. Sustainable Quality Engineering은 지속가능한 IT(Sustainable IT)를 달성하도록 돕는 Quality Engineering입니다. Quality가 높을수록 자원 낭비를 줄이고 효율성을 높일 수 있습니다. 보다 넓은 관점에서 볼 때, Business를 운영하면서 Sustainable Practices에 초점을 맞추고 있는 조직들은, Quality에 집중하지 않을 수 없습니다. “Shifting Quality Left”는 새로운 개념이 아니며, 효율성을 높일 수 있는 유일한 지속 가능한 방법입니다. 간단히 말해서, Quality 없이는 지속가능성(Sustainability)이 없습니다! 이번 장의 목표는 조직들이 어떻게 Quality Framework와 자동화 도구들을 활용하여, Sustainable IT로 나아가기 위한 더 높은 Sustainability을 추진하고 있는지에 대해 보다 자세히 살펴보는 것입니다. The role of quality within sustainable IT is still evolving 조직들이 Sustainable IT 전략의 일환으로 Sustainable Quality Engineering을 활용할 때 얻을 수 있는 Benefit을 순위로 매긴다면, 명확하게 우세한 항목이 있다고 말하기는 어렵습니다. Brand Value와 Loyalty는 Quality Engineering이 기여할 수 있는 가장 큰 Benefit으로 간주되지만, 다른 Benefit에 대해서는 크게 리딩하지 못하고 있습니다. 설문 조사에서도 동일한 관점이 반영되어 있습니다. 82% 이상의 조직들이 Quality Engineering이 Sustainable IT의 사회적(Social)인 측면에 가장 큰 영향을 미칠 것이라고 생각하기 때문입니다. 이는 Sustainable IT에 포함된 Quality Engineering이 Brand Value에 대해 가장 큰 Benefit을 제공하고 있다는 의견과 일치합니다. 72%의 조직만이 Quality가 Sustainable IT의 환경적(Environmental)인 측면에도 기여할 수 있다고 생각합니다. 조직이 환경적으로 지속 가능하려면, 가용자원을 최적화하여 사용하는 방
