장바구니 담기 close

장바구니에 상품을 담았습니다.

Selenium 웹드라이버 테스트 자동화

Selenium 웹드라이버 테스트 자동화

  • 언메시 건데차
  • |
  • 에이콘출판
  • |
  • 2014-02-28 출간
  • |
  • 479페이지
  • |
  • 222 X 279 X 29 mm
  • |
  • ISBN 9788960775305
판매가

40,000원

즉시할인가

36,000

배송비

무료배송

(제주/도서산간 배송 추가비용:3,000원)

수량
+ -
총주문금액
36,000

※ 스프링제본 상품은 반품/교환/환불이 불가능하므로 신중하게 선택하여 주시기 바랍니다.

출판사서평

★ 요약 ★

이 책은 구글이 선택한 웹 애플리케이션 UI 자동화 테스팅 도구인 셀레늄(Selenium) 웹드라이버를 사용해 웹 애플리케이션 테스트 프레임워크를 구축하는 내용을 다룬다. 셀레늄 API를 배우고 나면 애플리케이션의 성능 측정이나 모바일 기기에서 동작하는 웹 애플리케이션 테스트, 젠킨스 같은 도구를 활용해 테스트의 효율을 높이는 방법까지 현실 세계에서 부딪치는 다양한 도전 과제의 해답을 얻을 수 있다.

★ 이 책에서 다루는 내용 ★

■ 위치 지정자에 대한 이해와 다양한 위치 지정자 메소드로 신뢰성 높은 테스트 코드를 만드는 방법
■ 셀레늄 웹드라이버 API를 사용하는 테스트 코드 작성
■ 페이지 팩토리 패턴으로 강건하고 유지 보수 용이한 테스트 프레임워크 구축
■ 데이터 주도 테스트와 셀레늄 API를 확장해 수행하는 사용자 정의 테스트
■ 셀레늄 웹드라이버와 함께 JBehave, SpecFlow, FitNesses 같은 ATDD/BDD 도구를 사용하는 방법
■ 아이폰, 아이패드, 안드로이드 기기와 시뮬레이터에서 수행하는 모바일 웹 애플리케이션 테스트
■ 테스트 커버리지를 높이면서 실행 시간을 단축하는 셀레늄 그리드의 설정 방법

★ 이 책의 대상 독자 ★

이 책의 대상 독자는 품질보증 관리자나 테스트 전문가, 테스트 매니저는 물론, 셀레늄과 자바를 사용해 웹 애플리케이션 테스트를 경험한 개발자까지 다양하다. C#, 파이썬, 루비 사용자를 위한 예제도 준비돼 있다.

★ 이 책의 구성 ★

1장, ‘엘리먼트 위치 지정’에서는 셀레늄 웹드라이버에서 제공하는 방법으로 웹 페이지에서 엘리먼트 위치를 지정하는 내용을 다룬다. 셀레늄 웹드라이버는 XPath와 CSS, DOM 같은 다양한 위치 지정자(locator) 중 최선의 방법을 제공해 엘리먼트 위치를 지정한다. 물론 사용자 정의 위치 지정자도 만들어 사용할 수 있다. 1장의 예제는 셀레늄 웹드라이버 위치 지정자 API와 친숙해지는 데 도움을 준다.

2장, ‘셀레늄 API 사용’에서는 셀레늄 API를 사용해 테스트 코드를 만드는 방법을 설명한다. 셀레늄 API를 살펴본 다음에는 복잡한 마우스 움직임이나 키보드 입력 같은 사용자 상호작용을 그대로 재현하면서 웹 애플리케이션의 다양한 UI 엘리먼트를 다룰 수 있다.

3장, ‘테스트 흐름 제어’에서는 셀레늄 웹드라이버 API를 사용해 신뢰성 있는 테스트 자동화 프레임워크 구축 방법을 다룬다. 훌륭한 테스트 자동화 프레임워크는 강건함과 신뢰성, 회복성, 예외 처리 능력을 포함한다. 3장의 예제는 명시적 대기 시간과 묵시적 대기 시간으로 동기화를 이루고, 여러 개의 윈도우를 다루거나 테스트 중에 나타나는 팝업 창과 알림 창에 대처하는 방법을 설명한다.

4장, ‘데이터 주도 테스팅’에서는 테스트 자동화 방법론 중 하나인 데이터 주도 테스트를 소개한다. 셀레늄 웹드라이버는 데이터 주도 테스트를 지원하는 빌트인 기능은 없지만, 셀레늄 웹드라이버 API를 확장해 데이터 주도 테스트를 수행할 수 있다. 4장은 JUnit/아파치 POI와 JDBC를 사용한 테스트 예제를 다룬다.

5장, ‘페이지 객체 모델 사용’에서는 셀레늄 웹드라이버 테스트를 구축할 때 가장 많이 사용하는 모델 패턴을 다룬다. 5장의 내용은 페이지 객체 모델을 사용해 테스트 프레임워크를 만드는 데 많은 도움을 준다.

6장, ‘셀레늄 확장’에서는 셀레늄 웹드라이버 API를 확장하고 테스트 자동화의 범위를 넓힌다. 커스텀 UI 컨트롤과 엘리먼트의 이미지 캡처, 이미지 기반의 테스트 같은 실용적이고 핵심적인 예제로 셀레늄 웹드라이버를 확장해본다.

7장, ‘모바일 브라우저에서 테스트’에서는 애플의 iOS와 안드로이드 플랫폼에서 셀레늄 웹드라이버 API를 사용하는 모바일 웹 애플리케이션 테스트 방법을 소개한다. 7장에서는 모바일 기기를 설정하고 아이폰, 안드로이드 기기와 시뮬레이터를 사용하는 셀레늄 웹드라이버 예제를 다룬다.

8장, ‘클라이언트 성능 테스트’에서는 셀레늄 웹드라이버를 사용해 클라이언트 측 성능 측정 방법을 알아본다. 클라이언트 측 성능은 다양한 방법으로 측정할 수 있는데, 예제에서는 dynaTrace나 HttpWatch 같은 도구와 함께 셀레늄 웹드라이버를 사용하면서 클라이언트 성능을 수집, 측정, 모니터할 수 있다.

9장, ‘HTML5 웹 애플리케이션 테스팅’에서는 HTML5 표준을 사용하는 웹 애플리케이션 테스트 방법을 다룬다. 즉, 비디오와 캔버스 엘리먼트, HTML5의 웹 스토리지 API를 테스트하는 방법 등을 다룬다.

10장, ‘테스트 과정 동영상 녹화’에서는 몬테 미디어 라이브러리, 마이크로소프트 익스프레션 인코더 SDK, 카스트로 같은 도구를 사용해 테스트 과정을 동영상으로 녹화하는 방법을 살펴본다.

11장, ‘행위 주도 개발’에서는 셀레늄 웹드라이버로 구현하는 행위 주도 개발 방법을 알아본다. Cucumber-JVM과 자바에서 사용하는 JBehave, 닷넷용 SpecFolw.NET, 루비용 Capybara가 행위 주도 개발을 실현하는 도구로 등장한다.

부록 A, ‘셀레늄 웹드라이버와 다른 도구의 통합’에서는 이클립스와 인텔리J IDEA에서 셀레늄 웹드라이버를 설정하는 방법이 기술되어 있다. 메이븐이나 앤트 설정 방법이나 젠킨스를 사용하는 지속적인 통합 과정에 테스트를 구현하는 방법도 다룬다. 오토잇(AutoIt)과 시쿨리(Sikuli)를 사용하는 자동화 테스트도 살펴본다.

부록 B, ‘셀레늄 그리드를 사용한 분산 환경 테스트’에서는 분산 환경에서 셀레늄 그리드로 테스트를 수행하는 방법을 설명한다. 노드는 브라우저와 플랫폼의 다양한 조합으로 여러 개를 만들어 추가하는데, 테스트는 TestNG를 사용해 병렬로 수행할 수 있다. TestNG는 테스트 실행 시간을 줄이면서 테스트 커버리지를 높이는 데 유용하다.

★ 저자 서문 ★

이 책은 셀레늄 웹드라이버 API와 여러 가지 도구로 웹 애플리케이션을 테스트하는 고급 기술을 다룬다. 셀레늄 웹드라이버를 통해 데스크톱 웹 애플리케이션과 모바일 웹 브라우저, 분산 환경에서 이뤄지는 테스트를 효과적이고 효율적으로 수행할 수 있다.
데이터 주도 테스팅과 페이지 객체 모델, 객체 맵 같은 디자인 패턴은 테스트 자동화 프레임워크를 신뢰성 있고 유지 보수성 높은 코드로 만든다. Cucumber-JVM과 SpecFlow.NET, Capybara 같은 행위 주도 개발 프레임워크와 셀레늄 웹드라이버를 통합하는 방법도 배우게 된다.
셀레늄 웹드라이버는 필요에 따라 기능을 확장하기도 하는데, 90가지 이상의 예제를 통해 테스트 자동화 프레임워크를 구축하거나 현재 프레임워크를 한층 더 확장하는 방법까지 배울 수 있다.

★ 옮긴이의 말 ★

유닛 테스트의 유용성이나 방법론에 대해서는 이미 널리 알려졌지만, UI 테스트(특히 웹 애플리케이션)에 대한 자동화는 아직 다양한 시도를 반복하고 있다.
브라우저 제작사의 자바스크립트, CSS, HTML에 대한 표준화 노력 덕분에 브라우저 사이의 차이점이 많이 줄어들었다. 하지만 웹 애플리케이션이 성장하는 만큼 브라우저의 미세한 차이가 큰 영향을 미치는 경우가 발생한다. 이 차이를 잡아내기 위해서는 같은 기능에 대한 브라우저별 테스트가 필요하다.
2014년 현재 IE는 버전 11까지 나왔고 크롬이나 파이어폭스의 빠른 버전업 등으로 최신 브라우저가 쉬지 않고 쏟아지는 상황에서, 모든 브라우저에 대해 매번 같은 테스트를 수행하는 일은 그 자체로 많은 부담이 된다.
셀레늄이 처음 알려지기 시작한 2000년대 후반, 셀레늄은 파이어폭스 플러그인으로 사용자 입력을 재현하는 정도에 그쳤지만, 웹드라이버와 결합한 지금은 다양한 브라우저와 프로그래밍 언어, 강력한 API를 지원하며, 예전에 비해 놀랄만한 성장을 보여준다.
오늘날 셀레늄 웹드라이버는 그 어떤 것보다도 가장 나은 웹 UI 테스트 자동화 도구다.
- 김유성

크로스플랫폼이나 멀티브라우저의 지원이 더 이상 웹 서비스에 특별한 가치를 부여하지 않는다. 브라우저 업데이트 같이 빈번하게 일어나는 사용자 환경의 변화 속에서 웹 애플리케이션의 품질 확보는 단순히 인력의 투입만으로 해결할 수 없는 현실과 마주한다.
셀레늄 웹드라이버는 구글 내의 여러 조직에서도 가장 인기 있는 웹 애플리케이션 자동화 프레임워크다. 비교적 오랜 역사를 통해 안정성과 확장성에서 인정받고 있으며, 커뮤니티 또한 매우 활발하다. 현재 담당하는 웹오피스 UI 테스트에서 효과와 위력을 실감하고 도구의 매력에 흠뻑 빠져들었는데, 지속적인 통합에 맞춰 반복적인 테스트로 자신감과 빠른 피드백을 얻을 수 있었다.
테스트 자동화에 이제 막 입문했거나 좌표 기반 자동화 도구의 한계에 부딪친 많은 사람에게 셀레늄 웹드라이버를 강력하게 권한다.
- 최근호

저자소개

저자 언메시 건데차(Unmesh Gundecha)는 소프트웨어 공학 석사학위를 받고 소프트웨어 개발과 테스팅 분야에서 10년의 경험을 쌓았다. 그동안 수행했던 자동화 프로젝트는 오픈소스나 상용 도구를 사용하면서 산업 표준에 맞추거나 인하우스(in-house) 개발, 자동화 프레임워크의 커스터마이징이 주를 이룬다. 현재는 인도의 서부 도시 푸네에 있는 다국적 기업에서 테스트 설계자로 일한다.

도서소개

이 책은 구글이 선택한 웹 애플리케이션 UI 자동화 테스팅 도구인 셀레늄(Selenium) 웹드라이버를 사용해 웹 애플리케이션 테스트 프레임워크를 구축하는 내용을 다룬다. 셀레늄 API를 배우고 나면 애플리케이션의 성능 측정이나 모바일 기기에서 동작하는 웹 애플리케이션 테스트, 젠킨스 같은 도구를 활용해 테스트의 효율을 높이는 방법까지 현실 세계에서 부딪치는 다양한 도전 과제의 해답을 얻을 수 있다.

교환 및 환불안내

도서교환 및 환불
  • ㆍ배송기간은 평일 기준 1~3일 정도 소요됩니다.(스프링 분철은 1일 정도 시간이 더 소요됩니다.)
  • ㆍ상품불량 및 오배송등의 이유로 반품하실 경우, 반품배송비는 무료입니다.
  • ㆍ고객님의 변심에 의한 반품,환불,교환시 택배비는 본인 부담입니다.
  • ㆍ상담원과의 상담없이 교환 및 반품으로 반송된 물품은 책임지지 않습니다.
  • ㆍ이미 발송된 상품의 취소 및 반품, 교환요청시 배송비가 발생할 수 있습니다.
  • ㆍ반품신청시 반송된 상품의 수령후 환불처리됩니다.(카드사 사정에 따라 카드취소는 시일이 3~5일이 소요될 수 있습니다.)
  • ㆍ주문하신 상품의 반품,교환은 상품수령일로 부터 7일이내에 신청하실 수 있습니다.
  • ㆍ상품이 훼손된 경우 반품 및 교환,환불이 불가능합니다.
  • ㆍ반품/교환시 고객님 귀책사유로 인해 수거가 지연될 경우에는 반품이 제한될 수 있습니다.
  • ㆍ스프링제본 상품은 교환 및 환불이 불가능 합니다.
  • ㆍ군부대(사서함) 및 해외배송은 불가능합니다.
  • ㆍ오후 3시 이후 상담원과 통화되지 않은 취소건에 대해서는 고객 반품비용이 발생할 수 있습니다.
반품안내
  • 마이페이지 > 나의상담 > 1 : 1 문의하기 게시판 또는 고객센터 1800-7327
교환/반품주소
  • 경기도 파주시 문발로 211 1층 / (주)북채널 / 전화 : 1800-7327
  • 택배안내 : CJ대한통운(1588-1255)
  • 고객님 변심으로 인한 교환 또는 반품시 왕복 배송비 5,000원을 부담하셔야 하며, 제품 불량 또는 오 배송시에는 전액을 당사에서부담 합니다.