GTest 4

CI 입문 ㅡ Jenkins로 C++ 빌드·유닛 테스트 자동화 따라하기

들어가며최근 빌드 환경 구성이 잦아지면서 적지 않은 스트레스를 겪고 있다. 현재 진행 중인 프로젝트는 VirtualBox로 각자 빌드 환경을 구성하고,PowerShell 스크립트를 이용해 Windows, Linux, Embedded Linux 빌드를 각각 수행한다. 오래전부터 많이 사용해 온 방식이고, 간단하다는 장점도 있지만환경이 늘어날수록 관리 부담이 커지는 한계도 느끼게 됐다. 더 나은 방법이 없을까 고민하던 중,예전부터 막연히 갖고 있던 빌드 자동화와 Unit Test 자동화에 대한 욕심이 생겼다. 이 글은 Jenkins를 이용한 자동화 환경을 직접 구성해 보기 위해 정리한 기록이다.gtest + MinGW + Jenkins 조합으로 최소 단위의 자동화를 실험해 보았다.Jenkins 선택 이유여러..

개발 2026.01.21

Qt IPC 성능 비교 실험기 ㅡ QSharedMemory, QLocalSocket, QTcpSocket, QRemoteObject

들어가며Qt Framework를 사용하는 개발자라면, Qt에서 공식 제공하는 IPC를 활용해 개발하고 싶을 것이다. 프로토콜이나 아키텍처를 설계할 때 IPC 선정은 매우 중요한 요소이고,그중에서도 전송 속도는 항상 주요한 판단 기준이 된다. Qt Framework를 사용하며 IPC별 속도가 궁금해졌고,직접 테스트 환경을 구성해 IPC별 성능 비교를 진행해 보았다. 이 글에서는 다음 네 가지 IPC의 성능을 비교한다.QSharedMemoryQLocalSocketQTcpSocketQRemoteObject테스트 환경 및 방법테스트는 Windows PC의 Local 환경에서 진행했다.Qt로 서버를 구현하고, googletest(gtest) 기반의 유닛 테스트를 통해 성능을 측정했다. 테스트 시나리오데이터 전송 ..

Qt 2026.01.19

googletest(gtest) 설치부터 빌드까지: C++11 개발 환경 구성기

지난 글에서 gtest로 유닛테스트에 관한 글을 작성했다. 업무하면서 googletest를 설치하고 가볍게 따라할 수 있도록 gtest를 설치하는 방법을 기록해 보자.gtest(googletest) 다운로드googletest의 설치는 git 을 이용해 아주 쉽게 할 수 있다. 다만, 나는 업무에서 C++ 11버전을 사용하는데 gtest 최신 버전은 이를 지원하지 않는다. 따라서 구버전의 gtest가 필요하다.Windows PC에 git 을 설치하고 cmd에서 버전 명령을 통해 실행되는지 확인하자.git --version git이 잘 실행된다면 온라인에 등록된 googletest git 저장소 에서 clone 명령어를 통해 다운로드 받을 수 있다.gtest는 설치 후 별다른 설정 없이 컴파일러를 이용해 빌..

개발 2025.11.25

C++ 프로젝트에 유닛 테스트(gtest)를 도입하며 얻은 경험과 교훈

들어가며올해 개인 목표중 하나였던 Unit Test 학습에 대해 달성했다.○ Unit Test 역량 강화 ☑ "테스트 주도 개발" 학습. ☑ Qt Coco 세미나 참석. ☑ 현재 개발중인 프로젝트에 부분 도입제일 먼저 "테스트 주도 개발"을 교재로 학습하면서 유닛 테스트에 대한 개념을 잡고 간단한 기능을 구현하며 연습했다.테스트 툴은 제일 유명하고 다루기 관리가 쉬운 google의 gtest를 선정했다. 유닛테스트에 대해 부정적인 느낌으로 학습을 시작했지만, 장단점을 알고 Qt 세미나에 참석해 Coco 코드 커버리지 툴까지 접한 후에는 생각이 많이 달라졌다. 현재 프로젝트에 적용하며 "코드안정성 상승"과 "개발속도 상승" 이라는 두마리 토끼를 잡았으며 앞으로도 계속 사용할 생각이다.TDD에서는 극..

개발 2025.11.24