간만에 기술서적 하나 소개드리겠다. 오늘은 에이콘 출판사에서 노드 관련 서적으로 선물해주신 '노드로 하는 웹 앱 테스트 자동화'다. '헤드리스 브라우저와 모카를 활용한'이라는 부제를 보면 알겠지만, 단순한 API 단위 테스트를 넘어서 실제 브라우저를 흉내내어 테스트하는 방법을 설명한다.
테스트를 하려면 테스트 대상 프로그램이 필요한데, 이 책에서는 아주 간단한 애플리케이션(할 일 목록)을 Node.js, CouchDB, Flatiron.js 조합으로 뚝딱 만들어낸다. 그런 다음 좀비와 모카를 사용해 테스트를 수행한다. 헤드리스 브라우저인 좀비를 사용해 사용자가 직접 크롬과 같은 브라우저 없이 자동으로 서버에 요청을 할 수 있으며, BDD를 기반으로 만들어진 테스트 프레임워크인 모카를 사용해 사용자 시나리오에 맞춰 좀비로 요청을 보내고 받은 결과를 비교하는 방법을 사용한다. 단순한 HTTP 요청을 넘어서 동적인 AJAX(드래그 & 드롭)와 라디오 버튼 선택과 같은 동적인 HTML 화면 제어 방법을 설명하고 있으므로(눈치챘겠지만, 브라우저를 시물레이션 할 수 있다!), 기존 REST API 단위 테스트에 익숙한 개발자라면 조금 놀랄지도 모르겠다. 모카는 비동기식과 promise를 지원하므로 AngularJS와 친한 자스민에 비해 기능이 풍부하다는 장점이 있으므로, 유심히 살펴볼 필요가 있다.
이 모든 것이 Node.js를 중심으로 동작하는 자바스크립트로 구축되어 있으므로, 자바스크립트를 사용해 프론트엔드와 백엔드를 모두 개발하는 분들이라면 아주 자연스럽게 다가올 것이다. 책을 구입하기 전에 예제를 한번 봐야하는 독자를 위해 출판사에서 예제 다운로드 링크를 제공하므로 미리 살펴보면 도움이 되겠다.
결론: Node.js 세상에서 테스트와 테스트 자동화가 필요한 분이라면 빠른 시간 내에 읽을 수 있는 책으로 볼 수 있다.
EOB