테스트 커버리지 100% 달성을 위한 Qodo Cover 활용 방법 

min Read

현대 소프트웨어 개발의 세계는 날로 발전하고 있으며, 그에 따라 소프트웨어의 품질을 보장하기 위한 다양한 도구와 방법론이 등장하고 있습니다. 특히 AI 기술이 개발 프로세스에 본격적으로 도입되면서 코드 작성 방식이 급격히 변화하고 있습니다.

최근 Google은 자사의 새로운 코드의 25%가 AI에 의해 생성되었다고 발표했으며, Microsoft 또한 GitHub Copilot을 통해 개발자들의 코드 작성 생산성을 크게 향상시키고 있다고 밝혔습니다. 이러한 변화는 AI가 개발 프로세스에서 점점 더 중요한 역할을 하고 있음을 시사하며, 기업들이 AI 기반 코딩을 적극적으로 도입하는 계기가 되고 있습니다.

그러나 이와 동시에 AI가 생성하는 코드의 품질과 유지 관리성을 보장하는 것이 중요한 과제로 떠오르면서, 단위 테스트(Unit Testing)와 회귀 테스트(Regression Testing)와 같은 자동화된 검증 프로세스의 필요성이 더욱 강조되고 있습니다.

이러한 맥락에서 Qodo Cover 는 테스트 커버리지를 자동으로 생성하는 혁신적인 도구로 주목 받고 있습니다. Qodo Cover는 단순히 테스트 커버리지를 제공하는 것을 넘어 ChatGPT를 활용한 협업 기능을 통해 코드의 지속 가능성을 높이는 데 기여합니다. 또한 빠른 변화와 복잡한 요구 사항이 공존하는 현대 개발 환경에서 개발자들이 더욱 효율적으로 작업할 수 있도록 돕고, 소프트웨어의 품질을 보장하는 데 중요한 역할을 합니다.

이번 글에서는 Git 리포지토리 관리와 문제 관리 등이 가능한 올인원 DevOps 플랫폼 GitOn에서 Node.js의 테스트 커버리지 도구인 Jest를 이용하여 테스트 커버리지를 평가하고, 그 평가된 내용을 바탕으로 Qodo Cover를 활용하여 테스트 커버리지를 향상시킬 수 있는 테스트 코드를 생성하는 방법에 대해 알아보겠습니다.

GitOn 저장소에서 소스코드를 평가하기

TypeScript_demo_project라는 저장소에 저장된 코드를 Jest를 활용하여 Giton에서 테스트 커버리지를 측정해보도록 하겠습니다. 이 과정은 코드의 품질을 평가하고, 잠재적인 버그를 사전에 발견하는 데 중요한 역할을 합니다. Jest는 JavaScript 및 TypeScript 프로젝트에서 널리 사용되는 테스트 프레임워크로, 간편한 설정과 강력한 기능을 제공합니다.

테스트 커버리지를 측정하는 것은 코드의 각 부분이 얼마나 잘 테스트되고 있는지를 파악하는 데 유용합니다. 이를 통해 개발자는 테스트가 부족한 영역을 식별하고, 코드의 안정성을 높이기 위한 추가 테스트를 작성할 수 있습니다.

우선 Giton 저장소에서 .onedev-buildspec.yml 파일을 생성해줍니다.
생성된 .onedev-buildspec.yml을 Giton에서 들어가게 되면 다음과 같은 화면이 뜨게됩니다.

Add New 를 눌러 Jobs을 생성 해주고, 실행에 필요한 내용을 입력합니다.

Qodo cover
Qodo cover

이렇게 작성된 .onedev-buildspec.yml 파일을 저장하고 실행하면 다음과 같은 Code coverage 결과를 얻을 수 있습니다.

Qodo cover

다음 GitOn에서 Jest를 통해 측정한 coverage를 확인하면, coverage가 현저히 낮은 것을 확인할 수 있습니다. coverage를 올리기 위해 추가적인 테스트 케이스를 작성하고 코드의 복잡성을 줄이기 위해 리팩토링을 진행하여 경계 조건과 예외 처리에 대한 테스트를 강화할 필요가 있습니다.

이러한 coverage 를 개선하는 방법으로 Qodo cover를 사용할 수 있습니다.

Qodo Cover 사용

설치한 Qodo Cover 는 다음 명령어를 사용하여 이용할 수 있습니다.

Qodo cover

 명령어를 실행하면 아래와 같이 Qodo Cover 가 작동하게 됩니다.

Qodo cover

Qodo Cover 는 OpenAI의 ChatGPT 모델을 사용하기 때문에, 프로젝트의 코드 커버리지를 빠르게 높일 수 있습니다.

위 이미지는 Qodo cover 를 통하여 코드 커버리지를 향상시킨 모습입니다.
커버리지를 향상시키기 전 모습의 경우 27%에 불과하던 Branches 커버리지가 38%로 향상된 모습을 확인할 수 있습니다. 해당 데모의 경우 Qodo cover를 1회 실행하였으며, 더 많이 Qodo cover를 사용한다면 지속해서 커버리지를 높일 수 있습니다.

이번 글에서는 Qodo cover 를 활용한 코드 커버리지 개선에 대해 살펴보았습니다. 앞으로도 AI와 DevOps 기술이 발전함에 따라, 소프트웨어 개발 프로세스는 더욱 정교해지고 자동화될 것입니다. 이러한 변화 속에서 테스트 자동화와 품질 관리에 대한 지속적인 관심과 도구 활용 능력을 갖추는 것은 개발 경쟁력을 확보하는 핵심 요소가 될 것입니다. Qodo Cover 를 비롯한 최첨단 개발 도구들이 이러한 변화를 주도하며, 소프트웨어 개발의 미래를 더욱 견고하고 효율적으로 만들어갈 것으로 기대합니다.

Get more insights into Qodo

코드 품질을 보장하는 생성형 AI 솔루션 Qodo를 경험해보세요!

Subscribe to
SLEXN NEWSLETTER

개인정보 수집 및 이용

뉴스레터 발송을 위한 최소한의 개인정보를 수집하고 이용합니다. 수집된 정보는 발송 외 다른 목적으로 이용되지 않으며, 서비스가 종료되거나 구독을 해할 경우 즉시 파기됩니다.

SOLUTION

Tags

Category

Most Commented Posts