SlideShare a Scribd company logo
Copyright	©	DeNA	Co.,Ltd.	All	Rights	Reserved.	Copyright	©	DeNA	Co.,Ltd.	All	Rights	Reserved.	
Methods	to	Sustain	
Long	Term	Opera5ons	of	
E2E	Automated	Tests	
Selenium	Commi<er	Day	2017	
July	1st	2017		
SWET	Group	
Toshiya	Komoda	
(@toshiya_komoda)
Copyright	©	DeNA	Co.,Ltd.	All	Rights	Reserved.	
Bio	
■  Toshiya	Komoda	
⁃  Server	side	engineer	
⁃  Test	Engineer	
■  developed		game	pla?orms,	using	automated	tests	
■  currently	working	in	SWET	group	
⁃  SWET	-	SoFware	Engineer	in	Test	
⁃  dedicated	team	for	test	engineering
Copyright	©	DeNA	Co.,Ltd.	All	Rights	Reserved.	
mobage	game	plaMorm	
■  Mainly	a	browser	game	pla?orms	
⁃  tens	of	millions	users	play	games	on	the	pla?orm	
■  A	variety	of	services	for	3rd	party	developers	
⁃  OpenID	Connect	
⁃  payment	service	
⁃  Community	service	
•  friend,	chat	
⁃  and	more
Copyright	©	DeNA	Co.,Ltd.	All	Rights	Reserved.	
History	of	mobage	game	plaMorms	
■  Business	trend	shiFs	to	
⁃  browser		to	naNve		
⁃  pla?orm	to	game	publisher	
■  SNll	
⁃  a	lot	of	users	play	games	on	our	pla?orms	
⁃  the	profit	is	huge	
■  Our	goal	
⁃  maintain	high	availability	and	strict	backward	compaNbility	
⁃  with	minimum	maintenance	cost	
automated	E2E	test	suites	has	been	key	to	achieve	this	goal
Copyright	©	DeNA	Co.,Ltd.	All	Rights	Reserved.	
Some	sta5cs	
■  5		
⁃  years	operaNons	
■  22	
⁃  test	suites	
⁃  grouped	based	on	the	funcNonality	
■  700	
⁃ browser	test	cases	
■ 	60000	
⁃ web	API	test	cases	
■ 	enable	developers	to	release	server	codes	without	manual	QA	
⁃ reduce	lead	5me	
⁃ reduce	QA	Cost
Copyright	©	DeNA	Co.,Ltd.	All	Rights	Reserved.	
Life	cycle	of	test	suites	
■  Development	Phase	
⁃  build	E2E	tests	as	QA	for	service	development	
■  Healthy	Phase	
⁃  all	test	suites	are	stable	enough	
■  Broken	Phase	
⁃  environmental	changes,	test	data	corrupNon		
⁃  increase	of	the	raNo	of	unstable	tests…	
■  Dead	Phase	
⁃  no	one	can	pass	the	E2E	tests	
⁃  QA	cost	and	lead	time	increase	a	lot
Copyright	©	DeNA	Co.,Ltd.	All	Rights	Reserved.	
Life	cycle	of	test	suites	
■  Development	Phase	
⁃  build	E2E	tests	as	QA	for	service	development	
■  Healthy	Phase	
⁃  all	test	suites	are	stable	enough	
■  Broken	Phase	
⁃  environmental	changes,	test	data	corrupNon		
⁃  increase	of	the	raNo	of	unstable	tests…	
■  Dead	Phase	
⁃  no	one	can	pass	the	E2E	tests	
⁃  QA	cost	and	lead	time	increase	a	lot	
Gain > maintenance cost
Copyright	©	DeNA	Co.,Ltd.	All	Rights	Reserved.	
Methods to keep
tests healthy
Copyright	©	DeNA	Co.,Ltd.	All	Rights	Reserved.	
1.	Periodic	execu5on	of	all	test	suites	
■ 	Goal		
⁃ improve	stability	of	test	suites		
⁃ minimize	cost	to	fix	broken	tests		
■ 	execute	all	test	suites	in	all	environments	
■ 	we	executes	tests	once	in	a	day	
■ 	test	stability		is	required	
■ 	find	broken	tests	as	much	as	possible
Copyright	©	DeNA	Co.,Ltd.	All	Rights	Reserved.	
2.	Define	clear	process	to	exclude	test	cases	
■  Goal	
⁃ Control		cost	and	coverage	trade-off	
■  	Allow	to	exclude	and	reNre	test	cases	
⁃ highly	flaky	test	cases	
⁃ broken	test	cases	that	are	hard	to	fix	
■ 	Example	process	
⁃ idenNfy	the	reason	of	the	test	failure	
•  off	course,	if	there	is	a	bug	in	producNon	service,	fix	it.	
⁃ if	the	reason	is	not	a	bug	in	producNon	service	
⁃ make	JIRA	Nckets	and	exclude	the	test	cases
Copyright	©	DeNA	Co.,Ltd.	All	Rights	Reserved.	
3.	Improve	test	debuggability	
■  Goal	
⁃  minimize	test	maintenance	cost		
⁃  maximize	the	number	of	engineers	who	can	see	tests	
■  Test		language		
⁃  should	be	familiar	language	to	service	developers	
■  Test	Infrastructure	should	provide	
⁃  performance		
⁃  retry	mechanism	
⁃  precise	debug	log
Copyright	©	DeNA	Co.,Ltd.	All	Rights	Reserved.	
3.	Improve	test	debuggability	
■  Live	preview	and	video	records	for	UI	tests	
■  zalenium	
⁃  h]ps://github.com/zalaxndo/zalenium	
⁃  developed	by	zaland	
⁃  A	selenium	grid	extension
Copyright	©	DeNA	Co.,Ltd.	All	Rights	Reserved.	
4.	Make	tests	loosely	coupled	with	SUT	(system	under	test)	
■  Goal	
⁃  make	tests	hard	to	break	
⁃  make	tests	robust	to	changes	of	SUT	
■  Web	API	tests	are	relaNvely	easy	to	maintain.	Why	?		
⁃  clear	interface	between	tests	and	SUT	
■  UI	tests	are	not.	Why	?	
⁃  hard-coded	page	link	informaNon		
⁃  hard-coded	DOM	id	or	other	a]ributes	values	
■  Can	we	make	UI	tests	loosely	coupled	with	SUT	as	API	tests	?	
⁃  2	ongoing	projects	will	be	shown
Copyright	©	DeNA	Co.,Ltd.	All	Rights	Reserved.	
4.a	Visual	regression	tes5ng	with	site	crawler	
■  Goal		
⁃  remove	hard-coded	link	informaNon	from	UI	test	codes	
■  use	crawler	techniques	in	regression	tests	
⁃  detect	links	in	web	pages	automaNcally	
⁃  take	screenshots	of	all	pages	in	the	site	
2-up swipe
Copyright	©	DeNA	Co.,Ltd.	All	Rights	Reserved.	
4.b	Input	topic	iden5fica5on	with	machine	learning	
■  Goal	
⁃  remove	hard-coded	DOM	a]ributes	values	from	UI	test	codes	
■  use	natural	language	processing	technique	to	handle	input	forms	
⁃  based	on	a	research	paper	
「Using	SemanNc	Similarity	for	Input	Topic	IdenNficaNon	in	Crawling-based	Web	ApplicaNon	TesNng」,	
Jun-Wei	Lin,	Farn	Wang	
•  h]ps://arxiv.org/abs/1608.06549	
■  our	prototype	shows	promising	results	
⁃  can	esNmate	80%	of	input	forms			
⁃  experiments	for	login	and	user	register	forms	
■  can	be	used	with	the	previous	site	crawler
Copyright	©	DeNA	Co.,Ltd.	All	Rights	Reserved.	
Summary:	
Methods	to	Sustain	Long	Term	Opera5ons	of	E2E	Automated	Tests			
1.  Periodic	execuNon	of	all	test	suites	
2.  Define	clear	process	to	exclude	test	cases	
3.  Improve	test	debuggability	
4.  make	tests	loosely	coupled	with	SUT	(system	under	test)

More Related Content

PDF
An introduction to speakeasy
PDF
Introduction to mobile cross platform solutions(Xamarin vs React Native vs Fl...
PDF
JHipster for Spring Boot webinar
PDF
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
PPTX
Android instant app
PDF
DFW JAMF User Group April 1, 2015
PPT
Whats New in Titanium 0.7
PDF
Advanced Techniques for Testing Responsive Apps and Sites -- By Aakrit Prasad
An introduction to speakeasy
Introduction to mobile cross platform solutions(Xamarin vs React Native vs Fl...
JHipster for Spring Boot webinar
Shifting landscape of mobile automation, and the future of Appium - Jonathan ...
Android instant app
DFW JAMF User Group April 1, 2015
Whats New in Titanium 0.7
Advanced Techniques for Testing Responsive Apps and Sites -- By Aakrit Prasad

What's hot (16)

PDF
Vsp certificate
PDF
certificate(2)
PDF
PDF
Google I/O 2015 Android & Tech Announcements
PDF
Google IO 2015 Highlights
PDF
Heroku in Japan
PDF
הסמכת VM
PDF
Vue js & vue cli 3 plugins to boost up the performance of your application
PDF
VMware - VSP 2015
PDF
Google IO 2015
PPTX
SEO with WordPress
PPTX
Google I/O 2016 Key notes
PDF
JavaScript as a First-Class Citizen on iOS 7
PDF
certificate_vsp_5_5
PDF
certificate_VmWare_VSP 2015
PDF
Continuous Profiling for Android Game Performance Optimization
Vsp certificate
certificate(2)
Google I/O 2015 Android & Tech Announcements
Google IO 2015 Highlights
Heroku in Japan
הסמכת VM
Vue js & vue cli 3 plugins to boost up the performance of your application
VMware - VSP 2015
Google IO 2015
SEO with WordPress
Google I/O 2016 Key notes
JavaScript as a First-Class Citizen on iOS 7
certificate_vsp_5_5
certificate_VmWare_VSP 2015
Continuous Profiling for Android Game Performance Optimization
Ad

Similar to selenimu commiter day 2017: Methods to Sustain Long Term Operations of E2E Automated Tests (20)

PPT
My Presentation.ppt
PPTX
Neev Hackathon 2013 - Super Feet
PPT
Delta Engine @ CeBit 2011
PDF
AI AND FUNDAMENTAL GAME TECHNOLOGIESIN FINAL FANTASY XV
PDF
Custom Carrom Game App & Software Solutions
PPTX
Digital Art
PPTX
Dark side of the reflect
PDF
Augmented Reality Application Development_Unit II_Material.pdf
PPTX
Introduction to Phaser.js
PDF
Game Development: A Crash Course
PDF
Using Vivox to connect your players: Text and voice comms – Unite Copenhagen ...
PDF
Windows 8 and MonoGame Presentation at Staffordshire University
PDF
Intro to Open source. Amit Bhayani
PDF
【Primer】WebApp release in 3 hours! Programming from scratch Rails course
PPTX
Ongoing management of your PHP 7 application
PDF
Sybo Tech Kit
PPTX
GameDevelopement.pptx
PPTX
GameDevelopement.pptx
PPTX
Game dev process
PDF
ArshadCVMarch2016
My Presentation.ppt
Neev Hackathon 2013 - Super Feet
Delta Engine @ CeBit 2011
AI AND FUNDAMENTAL GAME TECHNOLOGIESIN FINAL FANTASY XV
Custom Carrom Game App & Software Solutions
Digital Art
Dark side of the reflect
Augmented Reality Application Development_Unit II_Material.pdf
Introduction to Phaser.js
Game Development: A Crash Course
Using Vivox to connect your players: Text and voice comms – Unite Copenhagen ...
Windows 8 and MonoGame Presentation at Staffordshire University
Intro to Open source. Amit Bhayani
【Primer】WebApp release in 3 hours! Programming from scratch Rails course
Ongoing management of your PHP 7 application
Sybo Tech Kit
GameDevelopement.pptx
GameDevelopement.pptx
Game dev process
ArshadCVMarch2016
Ad

More from Toshiya Komoda (7)

PDF
5分で分かるselenium conference berlin 2017
PDF
Introduce Machine Learning into UI Tests
PPTX
CUDA & OpenCL GPUコンピューティングって何?
PDF
Isca13 study
PPTX
Micro12勉強会 20130303
PDF
20130126 sc12-reading
PPTX
2012 1203-researchers-cafe
5分で分かるselenium conference berlin 2017
Introduce Machine Learning into UI Tests
CUDA & OpenCL GPUコンピューティングって何?
Isca13 study
Micro12勉強会 20130303
20130126 sc12-reading
2012 1203-researchers-cafe

Recently uploaded (20)

PPTX
The various Industrial Revolutions .pptx
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
WOOl fibre morphology and structure.pdf for textiles
PDF
NewMind AI Weekly Chronicles – August ’25 Week III
PDF
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
PDF
A comparative study of natural language inference in Swahili using monolingua...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
Web App vs Mobile App What Should You Build First.pdf
PPTX
Tartificialntelligence_presentation.pptx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Enhancing emotion recognition model for a student engagement use case through...
PPTX
observCloud-Native Containerability and monitoring.pptx
PPT
What is a Computer? Input Devices /output devices
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PDF
August Patch Tuesday
PPTX
Modernising the Digital Integration Hub
PPTX
1. Introduction to Computer Programming.pptx
The various Industrial Revolutions .pptx
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Zenith AI: Advanced Artificial Intelligence
WOOl fibre morphology and structure.pdf for textiles
NewMind AI Weekly Chronicles – August ’25 Week III
Microsoft Solutions Partner Drive Digital Transformation with D365.pdf
A comparative study of natural language inference in Swahili using monolingua...
Assigned Numbers - 2025 - Bluetooth® Document
From MVP to Full-Scale Product A Startup’s Software Journey.pdf
A contest of sentiment analysis: k-nearest neighbor versus neural network
Web App vs Mobile App What Should You Build First.pdf
Tartificialntelligence_presentation.pptx
NewMind AI Weekly Chronicles - August'25-Week II
Enhancing emotion recognition model for a student engagement use case through...
observCloud-Native Containerability and monitoring.pptx
What is a Computer? Input Devices /output devices
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
August Patch Tuesday
Modernising the Digital Integration Hub
1. Introduction to Computer Programming.pptx

selenimu commiter day 2017: Methods to Sustain Long Term Operations of E2E Automated Tests