프런트엔드 개발자를 위한 테스트 가이드 (셀레늄, 사이프러스, 퍼피티어, 플레이라이트 오픈소스 테스트 자동화 프레임워크 교과서)

프런트엔드 개발자를 위한 테스트 가이드 (셀레늄, 사이프러스, 퍼피티어, 플레이라이트 오픈소스 테스트 자동화 프레임워크 교과서)

$28.22
Description
웹 애플리케이션을 테스트하는 것은 프런트엔드 개발자에게 결코 쉬운 일이 아니다. 다만, 테스트 자동화 프레임워크의 기능을 적극 활용한다면 그 수고를 최소한으로 줄일 수 있다. 다행히도 웹 애플리케이션이 복잡해지면서 테스트 자동화도 함께 발전하고 있다. 이 책은 셀레늄, 사이프러스, 퍼피티어, 플레이라이트 같은 강력한 프레임워크를 소개하고, 해당 프레임워크의 테스트 커버리지 기능을 활용하기 위한 가이드 역할을 한다. 현재 시장을 주도하고 있는 4개 주요 오픈소스 테스트 자동화 프레임워크의 고유한 기능과 그 장단점을 살펴보고, 앱의 변경에도 중단되지 않는 테스트를 생성하도록 각 프레임워크를 설정하는 방법을 알아보자.
저자

에란킨스브루너

(EranKinsbruner)
퍼포스소프트웨어의수석디렉터.DevOps.com이선정한2021년데브옵스에반젤리스트중한명이기도하다.썬마이크로시스템즈,뉴스타,텍사스인스트루먼트,제너럴일렉트릭등에서수년간개발및테스트업무를담당했으며,소프트웨어개발및테스트커뮤니티에도활발하게참여하고있다.저서로는《TheDigitalQualityHandbook(디지털품질핸드북)》,《ContinuousTestingforDevOpsProfessionals(DevOps전문가를위한지속적테스트)》,《AcceleratingSoftwareQuality(소프트웨어품질가속화)》가있다.

목차

지은이·옮긴이소개xi
기술감수자소개xii
옮긴이머리말xiii
베타리더후기xiv
추천사xvi
이책에대하여xvii

PARTI프런트엔드웹테스트소개
CHAPTER1특정브라우저에종속되지않는테스트방법론3
1.1웹개발환경3
1.2웹애플리케이션의유형이해하기5
__1.2.1전통적웹애플리케이션5
__1.2.2반응형웹애플리케이션6
__1.2.3프로그레시브웹애플리케이션8
1.3웹애플리케이션을위한테스트유형10
__1.3.1웹애플리케이션의기능성테스트10
__1.3.2웹애플리케이션의비기능성테스트11
1.4앱개발과테스트를위한헤드및헤드리스브라우저이해하기13
__1.4.1헤드브라우저와헤드리스브라우저선택하기13
__1.4.2헤드리스브라우저테스트프레임워크16
1.5요약19

CHAPTER2프런트엔드웹개발자가직면하는도전과제21
2.1웹개발시직면하는도전과제22
__2.1.1품질vs속도23
2.2웹개발자들의대상플랫폼선택문제24
2.3웹애플리케이션개발시비기능성문제29
__2.3.1성능문제29
__2.3.2접근성문제30
2.4웹애플리케이션의규정문제31
2.5요약34

CHAPTER3대표적인테스트자동화프레임워크35
3.1웹테스트시장의개요36
3.2셀레늄프레임워크시작하기38
__3.2.1셀레늄웹드라이브설치하기39
__3.2.2셀레늄그리드실행하기42
3.3사이프러스프레임워크시작하기45
__3.3.1사이프러스의주요기능47
3.4구글퍼피티어프레임워크시작하기50
3.5마이크로소프트플레이라이트프레임워크시작하기53
3.6요약55

CHAPTER4테스트담당자와유형별테스트자동화프레임워크의선택57
4.1필요한환경및코드58
4.2웹테스트담당자의개요58
4.3테스트자동화프레임워크선택시고려해야할요소및사례60
__4.3.1커뮤니티기반60
__4.3.2테스트확장성61
__4.3.3툴스택연동및플러그인61
__4.3.4사용및도입의용이성61
__4.3.5재사용성및유지관리62
__4.3.6보고서,테스트분석,지능형62
4.4테스트자동화평가매트릭스63
4.5요약66

CHAPTER5주요프런트엔드웹개발프레임워크의소개67
5.1필요한환경및코드68
5.2주요웹개발프레임워크의소개68
5.3웹개발프레임워크의선택가이드라인69
__5.3.1리액트70
__5.3.2AngularJS74
__5.3.3Vue.js76
__5.3.4Ember.js78
__5.3.5스벨트80
5.4요약81

PARTII웹애플리케이션개발자를위한지속적인테스트전략
CHAPTER6웹애플리케이션을위한개발테스트전략과핵심고려사항85
6.1웹애플리케이션테스트계획과전략시핵심고려사항85
__6.1.1대상사용자알기87
__6.1.2테스트계획수립하기87
__6.1.3툴스택및환경준비하기88
__6.1.4품질기준및목표정하기88
__6.1.5일정88
__6.1.6실행,감시,측정,문서화88
6.2지속적인테스트전략의성공여부측정89
6.3사례:실제웹애플리케이션의테스트전략91
6.4요약93

CHAPTER7주요자바스크립트기반테스트자동화프레임워크의핵심기능95
7.1테스트자동화프레임워크의기능비교95
__7.1.1시각적테스트96
__7.1.2API테스트99
__7.1.3지원하는개발언어101
__7.1.4모바일장치테스트102
__7.1.5성능테스트104
__7.1.6접근성테스트107
__7.1.7네트워크제어테스트와목서비스109
__7.1.8웹요소처리111
__7.1.9CI/CD통합116
7.2테스트자동화프레임워크의재평가116
7.3요약117

CHAPTER8웹애플리케이션의테스트커버리지측정119
8.1코드커버리지및테스트커버리지소개119
__8.1.1테스트커버리지120
__8.1.2코드커버리지121
8.2웹애플리케이션개발자를위한자바스크립트코드커버리지툴122
__8.2.1이스탄불과사이프러스를사용한자바스크립트코드커버리지측정123
8.3테스트커버리지를사용한코드커버리지보완127
8.4요약127

PARTIII프런트엔드자바스크립트테스트자동화프레임워크가이드
CHAPTER9셀레늄프레임워크사용하기131
9.1필요한환경및코드132
9.2셀레늄프레임워크와개별컴포넌트이해하기132
__9.2.1셀레늄웹드라이버132
__9.2.2셀레늄그리드133
__9.2.3셀레늄의고급기능135
__9.2.4셀레늄의다양한테스트방법140
9.3셀레늄프레임워크의미래145
9.4요약146

CHAPTER10사이프러스프레임워크사용하기147
10.1필요한환경및코드148
10.2사이프러스시작하기148
__10.2.1사이프러스GUI148
__10.2.2사이프러스IDE와명령줄실행150
10.3사이프러스고급테스트자동화기능153
__10.3.1사이프러스테스트재시도154
__10.3.2사이프러스의스텁,스파이,클록사용하기155
__10.3.3사이프러스와CI연동하기157
__10.3.4컴포넌트테스트158
__10.3.5사이프러스스튜디오159
__10.3.6사이프러스플러그인162
__10.3.7사이프러스API테스트164
10.4사이프러스프레임워크의미래165
10.5요약166

CHAPTER11플레이라이트프레임워크사용하기169
11.1필요한환경및코드170
11.2플레이라이트시작하기170
11.3플레이라이트고급테스트자동화기능173
__11.3.1플레이라이트검사기174
__11.3.2모바일장치에뮬레이션하기175
__11.3.3플레이라이트테스트애너테이션177
__11.3.4플레이라이트API테스트178
__11.3.5플레이라이트어서션179
__11.3.6플레이라이트네트워크모크180
__11.3.7플레이라이트POM181
__11.3.8플레이라이트테스트보고서181
__11.3.9플레이라이트테스트실행기182
__11.3.10플레이라이트추적뷰어183
__11.3.11플레이라이트고급설정184
__11.3.12플레이라이트와CI연동187
11.4플레이라이트프레임워크의미래188
11.5요약190

CHAPTER12퍼피티어프레임워크사용하기191
12.1필요한환경및코드192
12.2퍼피티어시작하기192
12.3퍼피티어의고급테스트자동화기능196
__12.3.1퍼피티어네임스페이스196
__12.3.2퍼피티어의웹요소사용하기197
__12.3.3퍼피티어부하테스트200
__12.3.4퍼피티어와큐컴버BDD201
__12.3.5퍼피티어접근성테스트202
__12.3.6퍼피티어웹애플리케이션추적204
__12.3.7퍼피티어API테스트204
__12.3.8퍼피티어구글개발자도구205
__12.3.9퍼피티어와CodeceptJS연동206
__12.3.10퍼피티어테스트와CI연동208
12.4퍼피티어프레임워크의미래209
12.5요약211

CHAPTER13로코드테스트자동화로코드기반테스트보완하기213
13.1로코드/코드리스테스트툴의핵심적인기능214
13.2오픈소스코드리스툴의개요216
__13.2.1오픈소스코드리스툴의종류217
13.3웹애플리케이션용주요코드리스테스트툴224
__13.3.1퍼펙토스크립트리스웹의개요224
__13.3.2테스팀코드리스웹툴의개요227
__13.3.3메이블코드리스웹애플리케이션툴개요232
13.4요약237

CHAPTER14마치며239
14.1이책을통해얻을수있는것240
14.2유용한참고문서및북마크241
__14.2.1사이프러스프레임워크관련241
__14.2.2플레이라이트프레임워크관련242
__14.2.3셀레늄프레임워크관련242
__14.2.4퍼피티어프레임워크관련242

찾아보기244

출판사 서평

웹개발기술이끊임없이변하는요즘,프런트엔드개발자가모든웹브라우저나수많은모바일기기에서버그없이완벽하게실행되는웹애플리케이션을개발하기는상당히어려운일이다.게다가정해진배포주기속도를맞추며품질의균형까지맞춰야하는환경에서직접웹화면을모두테스트하는것은현실적으로불가능에가깝다.이때필요한것이테스트자동화다.테스트자동화는전체적인품질을유지하게해주므로소프트웨어개발속도에기여하는핵심요소라고할수있다.

이책은프런트엔드개발자가선택할수있는테스트자동화프레임워크를다룬다.시장을선도하는4개의주요오픈소스프레임워크인셀레늄,사이프러스,퍼피티어,플레이라이트를중심으로현장에서테스트자동화를바로적용할수있을정도로자세히설명한다.각프레임워크의기본적인사용법부터고급테스트자동화기능까지살펴보며,상황에맞는최적의테스트자동화프레임워크를선택하는방법도안내하고있다.이책을통해주요테스트자동화프레임워크를익히고,본인이개발하는애플리케이션에적합한테스트전략을세워개발속도와품질까지모두잡는유능한개발자가되길바란다.