알라딘

헤더배너
상품평점 help

분류

이름:로이 오셔로브 (Roy Osherove)

최근작
2024년 12월 <단위 테스트의 기술>

로이 오셔로브(Roy Osherove)

초기 ALT.NET 커뮤니티를 이끌었던 멤버 중 한 명으로, 이전에는 Typemock에서 수석 아키텍트로 근무했다. 그는 전 세계를 누비며 단위 테스트와 TDD에 대해 컨설팅하고 교육하며, 5whys.com을 통해 팀의 리더가 더 나은 리더십을 발휘할 수 있도록 교육하고 있다. X에서는 @RoyOsherove로 활동하고 있으며, ArtOfUnitTesting.com에서는 단위 테스트와 관련한 다양한 영상을 제공하고 있다. 강연 및 교육은 Osherove.com에서 신청할 수 있다.  

대표작
모두보기
저자의 말

<단위 테스트의 기술> - 2024년 12월  더보기

내가 경험한 프로젝트 중에서 실패로 끝난 것에는 단위 테스트를 운영하던 프로젝트도 있었다. 적어도 나는 그렇게 알고 있다. 그 당시 빌링(billing) 애플리케이션을 개발하는 개발 팀을 이끌고 있었고, 내 주도하에 완전한 TDD 방식으로 개발을 진행하고 있었다. 즉, 먼저 테스트를 작성하고 코드를 작성했다. 그다음 테스트가 실패하는 것을 확인하고 테스트를 통과시키고 리팩터링을 한 후에 이 과정을 다시 처음부터 반복했다. 프로젝트 초반 몇 달은 정말 좋았다. 모든 것이 순조로웠고, 단위 테스트로 코드가 제대로 작동함을 확인할 수 있었다. 하지만 시간이 지나면서 요구 사항이 바뀌었고, 새로운 요구 사항에 맞게 코드를 변경해야 했다. 그때마다 테스트가 깨졌고, 수정이 필요했다. 코드 자체는 여전히 잘 작동했지만, 기존에 작성한 테스트가 너무 취약해서 작은 코드 변화만으로도 테스트가 쉽게 깨졌다. 코드를 바꾸는 일이 점점 부담스러웠고, 클래스나 메서드를 수정할 때마다 관련된 단위 테스트를 전부 고쳐야 했다. 시간이 지나자 상황은 더 악화되었다. 테스트를 작성했던 기존 멤버들이 떠나면서 일부 테스트는 유지 보수조차 불가능했다. 남아 있는 사람 중 누구도 테스트 코드가 무엇을 검증하는지 알지 못했다. 단위 테스트 메서드 이름도 불명확했고, 각 테스트가 서로 의존하는 문제도 있었다. 프로젝트를 시작한 지 채 6개월도 되지 않아 대부분의 테스트를 버릴 수밖에 없었다. 결국 프로젝트는 당시 작성한 테스트가 득보다 실이 많아지면서 큰 실패로 끝나고 말았다. 테스트를 유지하고 이해하는 데 드는 시간이 오히려 더 많이 소요되어 결국 테스트 운영을 멈추었다. 이후 다른 프로젝트로 옮겨 단위 테스트를 더 잘 작성하게 되면서 디버깅과 통합에 걸리는 시간을 크게 줄일 수 있었고 좋은 성과도 거두었다. 그렇게 내 첫 시도가 실패로 돌아간 이후로 단위 테스트의 모범 사례들을 정리하여 다음 프로젝트에 적용해 왔다. 그리고 프로젝트를 진행할 때마다 새로운 모범 사례를 조금씩 더 찾아가고 있다. 이 책은 단위 테스트를 작성하는 방법과 이를 어떻게 유지 보수하고 읽기 쉽고 신뢰할 수 있게 만들 수 있는지를 다룬다. 어떤 언어를 사용하든 어떤 개발 환경에서 일하든 간에 이 책이 모두 도움이 될 것이다. 책은 단위 테스트 작성의 기본부터 상호 작용 테스트의 기초, 현장에서 단위 테스트를 작성하고 관리하며 유지하는 모범 사례까지 소개한다.

가나다별 l l l l l l l l l l l l l l 기타
국내문학상수상자
국내어린이문학상수상자
해외문학상수상자
해외어린이문학상수상자