스마트하게 일하기

스마트하게 일하기/테스트 자동화 이야기

테스트 코드(Jest)를 이용한 API 리팩토링 전략

요즘 맡고있는 업무중에 기존 레거시 API 에 대한 리팩토링을 진행하거나 V1 프로젝트의 소스를 V2 로 옮기는 작업을 간간히 진행하게 되었습니다. 아무래도 해당 업무를 오래하지 않았고 오래되고 히스토리를 모르는 API 의 리팩토링을 진행하다보니 매번 Postman 을 통해서 결과값을 비교하는 것은 작업 효율이 그리 좋지는 못했습니다. 실제로 여러 파라미터들의 결과값을 테스트하고 소스코드 수정의 부담감을 줄이면서 테스트 통과라는 심리적 안정을 통해서 안정감 그리고 업무 효율성까지 끌어 올릴 수 있었던 제 방법을 소개합니다. 우선 제가 진행했던 API 리팩토링에서 가장 중요한 포인트는 기존 API 의 호환성을 유지하고 로직의 코드를 정리하거나 타입을 정의 혹은 불필요한 로직을 단순화하는 작업이었습니다. 결..

스마트하게 일하기/테스트 자동화 이야기

내가 테스트 자동화 프로젝트를 만드는 이유 #01

이직과 개인적으로 휴식이 필요해서 한동안 포스팅을 못했네요. 제가 최근에 실무에서 레거시 청산 혹은 UI 수정을 진행하면서 Postman, Katalon Studio, Selenium IDE를 거치면서 최종적으로 업무와 개인적인 일(게임 혹은 크롤링과 같은 개인적으로 관심이 가는 부분)에 사용하기 위해서 테스트 자동화와 크롤링을 조금 더 편하게 할 수 있는 프로젝트를 설계, 구축하고 있습니다. 아직 정리되지 않은 버전이지만 지금 업무를 진행하면서 많은 도움이 되었고 이정도면 블로그에 포스팅할 수 있겠다 싶어서 왜 만들게 되었는지, 그리고 어떻게 만들고 어떻게 활용할 수 있는지를 한 번 포스팅해보려고 합니다. 우선 프로젝트 설명에 앞서서 Postman(API), Katalon Studio(API + UI)..

스마트하게 일하기

코로나 시대에 우리가 일하기로 합의한 방법

21년 하반기에 약 3~4개월 동안 프로젝트를 진행하면서 더 스마트하게 일할 수 있는 방법을 논의했고 생각보다 텍스트 기반으로 업무가 잘 진행되었기에 이번 프로젝트에서 진행한 "우리가 일하기로 합의한 방법"에 대한 공유를 해보려고 합니다. 개요 이 문서는, OOO팀을 대상으로, 코로나-19 환경에서 더 성과를 잘 내기 위한 방법들을 제안하기 위해서 작성되었습니다. 일일 공유 (daily scrum metting) 일일 회의를 매 업무일 오전 10시에 최대 15분 동안 진행하며, 다음과 같은 정보를 공유합니다. 자신의 상태 점수 (최악 1점 ~ 최고 5점)과 이유 어제 한 일들 오늘 할 일들 장애물 (예: 도움이 필요하거나 고민되는 것들) 권고 동료들에게 관련 지라 이슈와 그 산출물(있다면)을 함께 보여줍..

스마트하게 일하기

스마트하게 온보딩 하기

회사에서 신규 입사자를 위해 작성한 프로젝트 온보딩을 위한 문서가 다들 하나씩은 있을 겁니다. 하지만 짧은 주기로 신규 입사자가 들어오는 환경이 아니라면 특정 툴에 대한 버전의 업데이트, OS 업데이트 등 사용하는 환경의 변화로 인해서 온보딩 문서를 통해서 세팅하다 막히는 부분이 생기고 보통 막연하게 모르는 부분은 물어보세요 라고 하지 않나요? 저희도 얼마 전까지는 온보딩의 과정을 특정 인원에게 할당하고 특정 인원이 신규 입사자들의 온보딩을 책임지고 프로젝트를 잘 이해하고 적응할 수 있도록 하나의 업무로 주어졌습니다. 문서는 항상 최신화되기 어렵고 온보딩을 담당하는 인원의 부재 혹은 업무로 인해 신경 쓸 여유가 없다면 그 시간만큼 온보딩에 딜레이가 생기고 온보딩을 담당하는 인원은 부담을, 신규 입사자는 ..

스마트하게 일하기

Jenkins를 이용한 배포 자동화

Jenkins는 무엇인가? 젠킨스(Jenkins)는 소프트웨어 개발 시 지속적 통합(continuous integration) 서비스를 제공하는 툴이다. 다수의 개발자들이 하나의 프로그램을 개발할 때 버전 충돌을 방지하기 위해 각자 작업한 내용을 공유 영역에 있는 Git 등의 저장소에 빈번히 업로드함으로써 지속적 통합이 가능하도록 해 준다. MIT 라이선스를 따른다. 왜 Jenkins를 사용하는가? 저는 개인적으로 CI/CD툴 중에서는 젠킨스를 가장 선호합니다. 주로 젠킨스를 사용하였기에 익숙하고 편한 것도 이유가 될 수 있지만 플러그인을 통해서 확장이 가능하고 스케줄러 등 시스템적으로 필요한 기능들 역시 젠킨스에서 기본 제공을 해주는 덕분에 서버 상태 체크나 혹은 자동 배포 등 여러 방면에서 활용할 수..

heeman
'스마트하게 일하기' 카테고리의 글 목록