제4장. 지속적 테스트
이 작품은 AI를 사용하여 번역되었습니다. 여러분의 피드백과 의견을 환영합니다: translation-feedback@oreilly.com
제가 관찰한 흔한 안티패턴 중 하나는, 조직이 자동화 테스트를 중요하게 여겨 전담 자동화 테스터 몇 명을 고용해 놓았음에도 불구하고, 자동화 테스트가 테스터들의 로컬 컴퓨터에만 존재하는 경우입니다. 종종 테스트는 테스터가 원할 때나 릴리스 기간에만 실행되기도 합니다. 이는 자동화 테스트의 본래 목적을 저해하며, 피드백 주기를 상당히 지연시킵니다. 자동화 테스트는 팀 전체가 점진적으로 변경을 가해 나갈 때 지속적으로 빠른 피드백을 받을 수 있도록 하기 위한 것이며, 이 장에서는 이를 실현하는 방법을 설명합니다.
지속적 테스트 (CT)란 점진적인 변경이 있을 때마다 수동 및 자동화 테스트 방법을 모두 사용하여 애플리케이션 품질을 검증하고, 변경 사항으로 인해 의도된 품질 결과에서 편차가 발생할 경우 팀에 알리는 프로세스입니다. 예를 들어, 새로운 기능의 성능 수치가 예상보다 훨씬 낮을 경우, CT 프로세스는 즉시 팀에 알리고 성능 테스트를 실패로 처리합니다. 이를 통해 팀은 문제가 아직 비교적 작고 관리 가능한 단계일 때 가능한 한 빨리 문제를 해결할 기회를 얻게 됩니다. 이러한 지속적인 피드백 루프가 없다면, 이러한 문제들은 오랫동안 발견되지 않은 채 시간이 지남에 따라 코드의 더 깊은 수준으로 파급되어 해결하기 훨씬 더 어려워질 수 있습니다.
CT 프로세스는 모든 변경 사항에 대해 자동화된 테스트를 수행하기 위해 지속적 통합 (CI) 관행에 크게 의존합니다. CI와 CT를 함께 도입하면 팀은 지속적 배포 (CD) 를 수행할 수 있습니다. CI, CT, CD를 활용하는 팀은 리드 타임, 배포 빈도, 평균 복구 시간, 변경 실패율이라는 네 가지 핵심 지표에서 우수한 성과를 보이는 경향이 있습니다. 이 장의 마지막 부분에서 살펴볼 이 지표들은 팀의 전달 관행 품질에 대한 통찰력을 제공하며, DORA 기준에 따라 팀을 엘리트 팀으로 인정받을 수 있게 해줍니다.
이 장에서는 팀을 위한 CT 프로세스를 구축하는 데 필요한 기술을 익힐 수 있습니다. CI/CT/CD 프로세스와 다양한 품질 차원에서 다중 피드백 루프를 달성하기 위한 전략에 대해 배우게 됩니다. 또한 안내에 따라 CI 서버를 설정하고, 자동화 테스트를 통합하며, AI 워크플로를 CI 파이프라인에 통합하는 실습도 진행하게 됩니다.
기본 구성 요소
지속적 테스트 역량의 기초로서, 이 섹션에서는 CI/CT/CD와 관련된 용어 및 전반적인 프로세스를 소개합니다. 또한 프로세스를 성공적으로 수행하기 위해 팀 내에 철저히 정착시켜야 할 기본 원칙과 에티켓에 대해서도 배우게 될 것입니다. CI에 대한 소개부터 시작해 보겠습니다.
지속적 통합(CI) 소개
마틴 파울러(Martin Fowler)는 『리팩토링: 기존 코드 설계 개선(Refactoring: Improving the Design of Existing Code) 』 제2판(Addison-Wesley, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access