전체 글25 테스트 자동화 고민 요즘 QA로 일하면서 가장 자주 드는 생각은 이거다.“내가 지금 하고 있는 일이, 앞으로도 의미가 있을까?”최근 LLM을 활용해 API 테스트 자동화를 만들고 있다. API 명세를 기반으로 룰셋을 정리하고 테스트 코드를 생성하게 했는데, 솔직히 놀랐다. 생각보다 훨씬 빠르게, 그리고 꽤 괜찮은 수준의 테스트 코드가 나온다. 물론 예외적이거나 맥락을 깊게 이해해야 하는 케이스까지는 아직 부족하지만, 최소한 명세 기반의 정상 동작 테스트만 놓고 보면 사람보다 빠르고 일관적이다.이 경험과 맞물려 또 하나 체감되는 변화가 있다. 요즘 개발자들이 테스트 코드를 정말 많이 작성한다. unit test는 기본이고, integration test까지 프로젝트 안에서 적극적으로 관리한다. 테스트 작성의 진입 장벽이 낮아.. 2025. 12. 23. Cucumber : 자연어 기반 테스트 자동화 최근 몇개월동안 Cucumber를 이용해 테스트 자동화를 구축하고 있습니다. Cucumber는 BDD(Behavior Driven Development, 행위 주도 개발) 방식을 지원하는 오픈소스 테스트 자동화 프레임워크입니다. 특히나 Cucumber는 자연어로 시나리오를 정의할 수 있어 테스트 시나리오를 자연어로 작성할 수 있어 QA Engineer 외 기획, 디자인, 개발팀과 같이 타 부서와 시나리오를 작성하고 함께 공유할 수 있습니다. Cucumber는 꽤나 오래된 프레임워크로 저도 2018년도 즈음 사용해본 프레임워크입니다. 허나 당시 저는 QA Engineer들만 속해있는 부서에 있어 Cucumber를 통해 타 부서와 소통할 일이 없었고 테스트 자동화를 자연어로 개발하는 것이 많은 리소스를 사용.. 2025. 7. 13. Next.js에서의 상태관리 webapp을 개발하다보면 상태관리가 필요한 순간들이 있습니다. 각 컴포넌트에서의 상태 동기화라던지 상위로 상태 정보를 보내줘야하는 상황들을 직면합니다. 이번 블로그에서는 이러한 상황에서 어떻게 상태를 관리하는지에 대해 알아봅니다. Next.js에서 상태 관리는 여러 컴포넌트가 공유해야 하는 데이터(예: 로그인 상태, 장바구니 정보)를 효율적으로 관리하기 위해 필요합니다. 문제는 같은 데이터를 여러 곳에서 사용할 때 발생하는 "데이터 동기화 문제"와 "복잡한 컴포넌트 구조"입니다.예를 들어 사용자 프로필 정보를 헤더, 사이드바, 메인 콘텐츠에서 모두 보여줘야 한다면, 각 컴포넌트에 일일이 데이터를 전달하는 건 비효율적입니다. 이때 Context API나 Redux 같은 도구를 사용하면 중앙 저장소를 만들.. 2025. 2. 10. Next.js에서 다국어 지원 다국어를 지원하는 서비스에서 언어별로 화면을 만드는 것은 불필요한 반복이 생기는 업무이며 관리 또한 어려워집니다. Next.js에서는 다국어를 손쉽게 지원할 수 있는 라이브러리를 지원하며 추가로 이를 동적으로 수정/반영할 수 있습니다.오늘은 다국어 지원과 언어별로 동적으로 반영할 수 있는 Crowdin 툴이 사용되는 방법까지 알아보겠습니다. Next.js에서 다국어 지원을 하는 경우 I18n이라는 명칭을 사용하고 있습니다. I18n은 'Internationalization'의 줄임말로, 첫 글자 'I'와 마지막 글자 'n' 사이에 18개의 글자가 있다는 의미입니다. 이는 긴 단어를 간단하게 표현하는 방법으로, 개발자들 사이에서 널리 사용되는 관행입니다. 국제화의 주요 목표는 다음과 같습니다:다국어 지원.. 2025. 2. 3. Next.js의 렌더링 방식 비교 (SSR, SSG, CSR) 오늘은 web에서 페이지를 렌더링 하는 방식을 비교해보며 어떤 특징이 있는지 알아보겠습니다. 사용자 입장에 각각 어떤 장점이 있는지 QA Engineer의 관점는 어떤점을 확인해야하는지 알아보겠습니다. 1. 각 렌더링 방식의 개념SSR (Server-Side Rendering)SSR은 서버에서 페이지의 HTML을 생성하여 클라이언트에 전송하는 방식입니다. 사용자가 페이지를 요청할 때마다 서버에서 HTML을 동적으로 생성하여 보냅니다3. Next.js에서는 getServerSideProps 함수를 사용하여 SSR을 구현합니다.SSG (Static Site Generation)SSG는 빌드 시점에 페이지의 HTML을 미리 생성하여 저장해두는 방식입니다. 사용자 요청 시 미리 생성된 HTML을 제공하므로 매우.. 2025. 1. 27. Next.js 라우팅 시스템 라우팅 시스템이란?라우팅 시스템은 웹 애플리케이션에서 URL 경로와 해당 경로에 표시될 콘텐츠를 연결하는 메커니즘입니다. 사용자가 특정 URL로 이동할 때 적절한 페이지나 컴포넌트를 렌더링하는 역할을 합니다.NextJS의 라우팅 시스템NextJS는 파일 시스템 기반 라우팅을 사용합니다. 이는 프로젝트의 파일 구조가 곧 애플리케이션의 라우트 구조가 되는 방식입니다NextJS의 파일 기반 라우팅은 웹 애플리케이션의 라우트 구조를 직관적이고 효율적으로 관리할 수 있게 해주는 시스템입니다. 이 시스템의 주요 특징과 작동 방식을 살펴보겠습니다. 파일 기반 라우팅의 기본 개념파일 기반 라우팅은 프로젝트의 파일 구조가 곧 애플리케이션의 URL 구조와 직접적으로 연결되는 방식입니다. 이는 'convention over.. 2024. 12. 23. 이전 1 2 3 4 5 다음