블랙박스 테스트 기법으로 테스트 케이스 설계하기

테스트 코드를 리뷰하다보면 아래와 같은 명세를 마주칠 때가 자주 있습니다. 문자열을 입력하면 적절한 값을 반환해야 한다. 모든 “문자열”을 입력해도 되는 걸까요? “적절한 값”이란 무엇일까요? 만약 “문자열에 숫자를 포함시킬 수 없다.”라는...

GitHub Actions로 간단히 CI 서버 대신하기

이 글은 2019년 12월 17일에 작성하였습니다. 시간이 지남에 따라 문서의 내용이 유효하지 않을 수 있습니다. … 회사에서 CI/CD 도구로 Bamboo를, 코드 저장소로 GitHub를 이용하고 있다. CI 파이프라인을 구축하면서 Bamboo를 GitHub와...

열심히 보다는, 영리하게!

비즈니스 목표를 달성하기 위해서 우리는 어떤 설계 전략을 가져야 할까 고민을 했다. 회사의 사업 전략과 설계 방향이 동떨어져서 회사나 직원이나 모두 피곤해지는 경우를 보았다. 사업 전략을 고려하니 열심히보다는, 영리하게, 해야...

팀을 맡고, 한 달 동안 가장 공을 들인 일

이직을 한 지 한 달이 지났다. 새로운 회사에서 맡은 역할은 프론트엔드 조직의 테크 리드, 팀장 같은 거다. 이전 회사에서도 소규모 그룹을 리드하는 역할을 하고 있었기에, 새로운 직책을 맡는다는 것에 부담을...

오버엔지니어링과 언더엔지니어링의 경계

YAGNI(You Aren’t Gonna Need it)란 약어에는 오버 엔지니어링에 대한 경계심이 담겨 있다. XP(eXtrem Programming)는 설계 결정의 순간을 최대한 미루는 것을 설계 원칙으로 제시한다. 당장에 필요한 것에만 집중함으로써 지금 하지 않아도...