Insight? Practice!

Road to myself. 자기자신에게로 이르는 길.

[출간] 안드로이드 애플리케이션 테스팅 가이드

번역한 책이 출간되었습니다. 생각보다 얇고 깔끔한 느낌이네요.

폰트도 마음에 들고 잘 나온 것 같습니다. ^^

아래는 베타리딩해준 후배가 멋지게 찍어준 사진.

안드로이드 개발자들에게 도움이 되길 바라며!

소개

안드로이드 구조를 오랫동안 분석하고 프로그램을 작성할 때 많은 주의를 기울인다 해도 실수와 버그는 발생하게 마련이다. 이 책은 여러분이 안드로이드 프로젝트를 개발할 때 접할 수 있는 오류를 줄여주고 개발 생산성도 향상시켜 줄 것이다. 또한 문제를 어렵지 않게 회피함으로써 좀 더 빨리 테스팅 단계로 넘어갈 수 있도록 도와줄 것이다. 『Android Application Testing Guide 한국어판』은 안드로이드 애플리케이션 개발 시 유용하게 쓸 수 있는 각종 실용 기술, 프레임워크, 도구를 망라해 소개하는 유일한 책이다. 애플리케이션 테스트를 어떻게 작성하는지 단계별로 설명하고 품질을 제어하는 다양한 방법도 함께 다룬다.

옮긴이의 말

좋은 코드란 무엇일까요? 간결하고 명확해서 읽기 쉽고 중복이 없어서 수정하기도 쉬운 코드일 것입니다. 하지만 이보다 더 좋은 코드는 코드의 동작과 상태를 검증하는 테스트가 함께 있는 코드입니다.

소프트웨어는 한 번 작성하고 나면 끝이 아닙니다. 버그는 항상 발생하고 요구사항도 계속 변하게 마련이니 유지보수와 새로운 기능 추가는 피할 수 없죠. 결국 코드를 계속 수정할 수 밖에 없습니다. 이 때 코드가 스파게티처럼 뒤엉켜 있으면 코드 수정은 고되고 피곤한 작업이 될 것이며 코드 하나를 수정할 때마다 버그가 만들어지는 상황이 올지도 모릅니다. 이래서는 행복하게 개발할 수 없습니다.

코드 수정이 스트레스로 다가오지 않는다면 개발자는 조금 더 행복하게 개발할 수 있지 않을까요? 지금 수정하고 있는 코드에 대해 든든한 누군가가 옳고 그름 여부를 검증해주고, 기존의 동작을 깨지 않는지도 꼼꼼하게 확인해준다면 한결 편하게 개발할 수 있지 않을까요?

행복한 개발을 위해서는 테스트 코드가 필요합니다. 테스트 코드를 작성하면서 개발하면 코드 수정에 대한 스트레스가 줄어듭니다. 유지보수와 기능추가를 한결 빠르고 안정적으로 편하게 할 수 있죠. 지금 수정하는 코드가 잘 동작하는지 그리고 기존의 기능에 영향을 주지는 않는지 생각지도 못할 만큼 빨리 확인할 수 있습니다. 리팩토링을 할 때도 역시 테스트가 힘을 발휘합니다. 테스트 없이 리팩토링을 한다면 맞게 하고 있는 건지 아닌지를 검증할 방법이 없지 않을까요? 코드 한 줄 리팩토링할 때마다 손으로 동작을 검증할 수는 없는 일입니다. 그렇다고 머리로만 검증하면 분명히 생각하지 못한 버그가 생겨나고요. 결국 테스트 코드 없이는 정확한 리팩토링이 힘들 것입니다. 또 테스트를 작성하면서 개발하다 보면 문제를 작은 보폭으로 나눠서 조금씩 해결하게 될 것이고 자연스럽게 좋은 디자인을 고민하게 될 것입니다.

물론 이를 위해서는 험난한 개발과정 중에 테스트 코드가 계속해서 살아남도록 관심을 갖고 물도 주며 사랑해주는 일이 추가로 필요하긴 합니다. 하지만 두고두고 살아남아서 코드를 든든히 지켜준다는 점을 생각해보면 분명히 가치가 있는 일입니다. 테스트가 탄탄할수록 우리는 코드를 가지고 마음껏 뛰어 놀 수 있으니까요.

테스트를 작성하겠다고 마음먹었다면 이제 어떻게 해야 할까요? 테스트에 대한 기본지식과 실무에 적용해볼 수 있는 구체적인 방법을 알아야 합니다. 기본지식은 각종 테스트 전문 서적을 통해 습득한다 치더라도 실무에 적용할 수 있는 구체적인 방법은 대부분 알기가 어렵습니다. 자기가 일하고 있는 분야에 대해서 경험해보고 삽질을 해봐야지만 얻을 수 있는 암묵지를 찾기가 어렵기 때문입니다. 특히 안드로이드 분야의 테스팅 기법은 더욱 그렇습니다.

이 책은 안드로이드 애플리케이션을 개발할 때 테스트를 적용할 수 있는 실용적인 노하우를 공개한 책입니다. 테스트 주도 개발 방식으로 안드로이드 애플리케이션을 하나 만들어 보고 안드로이드에서 제공하는 테스트 프레임워크를 사용해서 UI 테스트는 물론 성능 테스트까지 다양한 상황에 대한 테스트를 실용적인 예제로 설명합니다. 여기에 지속적인 통합을 위한 자동 빌드와 테스트 자동화를 적용하고 코드 커버리지까지 측정해봅니다.

안드로이드 애플리케이션을 개발하고 있지만 테스트에 익숙하지 않은 분들에게 이 책을 추천합니다. 지속적인 통합에 테스트가 스며들어 만들어내는 효율성도 이 책을 통해 경험해볼 수 있을 것입니다. 게다가 테스트에 대한 지식과 경험을 한번 익혀둔다면 개발자의 내공으로 자리잡아 두고두고 활용할 수 있으리라 생각합니다.

무엇인가를 배우고 익히려면 자주 연습하는 수밖에 없습니다. 소프트웨어 개발자가 무언가를 익히려면 결국 실제 업무에 적용해보는 방법이 가장 빠른 길이라 생각합니다. 그래야지만 자주 연습하고 몸으로 익힐 수 있기 때문입니다. 혼자서 안드로이드 애플리케이션을 개발하는 개인개발자라면 테스트가 든든한 지원군이 되어줄 것입니다. 테스트 작성은 쉽지 않은 일이지만 이 책을 통해 테스트를 작성하면서 개발하는 대한민국 안드로이드 애플리케이션 개발자들이 많아진다면 좋겠습니다. 또한 개발자들의 지식 함양에 조금이라도 도움이 된다면 더 바랄게 없겠네요.

이 책과 더불어 테스트에 대한 깊은 지식을 이야기하는 『테스트 주도 개발: 고품질 쾌속개발을 위한』과 『테스트 주도 개발』, 『xUnit 테스트 패턴: 68가지 단위 테스트 패턴을 통한 테스트 코드 리팩토링 기법』 등 테스트 관련 전문 서적을 읽어보길 강력히 추천합니다.

구입처

Yes24 판매
교보문고 판매
알라딘 판매
인터파크 판매
강컴 판매

Comments