검색 상세

마이크로서비스 아키텍처 통합 및 배포를 위한 유효성 검사 기법

Software Validation Scheme for Continuous Integration and Deployment of MicroService Architecture

초록/요약

A system with the microservice architecture consists of several units, which result in many management points for deployment. In addition, sophisticated automated integration and distribution systems are required for rapid response to changes and additions to domain requirements, which are important objectives for applying the microservice architecture. For this purpose, a continuous integration and deployment DevOps methodology has been proposed. Continuous integration and deployment method continuously integrates codes that are developed concurrently on different teams, validates with automated testing, and deploys validated services into the production environment. As a result, the reliability of automated testing leads to the reliability of the entire system. Mike Cohn's automated testing pyramid model is widely accepted in the industry for automated testing. The automated testing pyramid consists of three tiers: Unit test, Service test, and End-to-End(UI) test. Each test has different scope and purpose. In this paper, I will propose a method to perform the acceptance test according to user stories as well as the unit test, the integration test, and the End-to-End(UI) test of the automated testing pyramid to improve the reliability of automated testing. This proposal includes a technique to reduce the End-to-End(UI) testing and enhance the acceptance testing for the final stage verification of the system when a rapid development and deployment for requirements is required in a system with the microservice architecture.

more

초록/요약

마이크로서비스 아키텍처를 적용한 시스템은 여러 개의 유닛으로 구성되고 이로 인하여 배포를 위한 많은 관리 포인트 들이 발생하게 된다. 뿐만 아니라 마이크로서비스 아키텍처를 적용하는 중요한 목적인 도메인 요구사항의 변경 및 추가에 대한 빠른 대응을 위하여 정교한 자동화된 통합과 배포 시스템이 반드시 요구된다. 이를 위하여 지속적인 통합 및 배포 DevOps 방법론이 제시되었다. 지속적인 통합 및 배포 방법은 서로 다른 팀에서 동시에 개발되는 코드를 지속적으로 통합하고, 자동화된 테스트를 통해 검증하고, 검증된 서비스를 실제 프로덕션 환경으로 배포 한다. 그 결과로 자동화된 테스트의 신뢰도가 전체 시스템의 신뢰도로 이어진다. 자동화된 테스트를 위하여 마이크 콘의 테스팅 피라미드 모델이 업계에서 널리 받아 드려져 있다. 자동화된 테스팅 피라미드는 Unit test, Service test, End-to-End(UI) Test 세개의 계층으로 구성되어 있으며, 각각의 테스트는 서로 다른 범위와 목적을 갖는다. 본 논문에서는 자동화된 테스팅의 신뢰도 향상을 위하여 자동화 테스팅 피라미드의 유닛 테스트, 통합 테스트, End-to-End(UI) 테스트 뿐만 아니라 사용자 스토리에 따라 Acceptance 테스트를 수행하는 방법을 제안한다. 본 제안에서는 마이크로서비스 아키텍처를 적용한 시스템에서 요구사항의 빠른 개발과 배포가 필요한 경우에 대하여 시스템의 최종단계 검증을 위하여 End-to-End(UI) 테스트를 축소하고, Acceptance 테스트를 강화 하는 기법을 포함한다.

more

목차

제1장 서론 1
제2장 연구배경 및 관련 연구 4
제1절 마이크로서비스 아키텍처 4
제2절 DevOps 8
제3절 지속적인 통합 및 배포 10
제4절 마이크로서비스 아키텍처를 위한 테스팅 전략 12
제3장 마이크로서비스 아키텍처와 Acceptance 테스트 16
제1절 마이크로서비스 아키텍처에서 End to End 테스트의 어려움 16
제2절 자동화된 Acceptance 테스트 17
제3절 마이크로서비스 아키텍처 시스템의 테스팅 전략 제안 21
제4장 사례연구 26
제1절 서비스 구성 26
제2절 지속적인 통합 및 배포를 위한 DevOps 구성 36
제3절 테스트 구성 40
제5장 결론 및 향후 연구 44
제6장 참고문헌 46

more