SlideShare a Scribd company logo
 
	
  
	
  
	
  
W5	
  
DevOps	
  &	
  Testing	
  
10/5/16	
  11:30	
  
	
  
	
  
	
  
	
  
	
  
Testing	
  in	
  a	
  Continuous	
  Delivery	
  
Pipeline:	
  Faster,	
  Better,	
  Cheaper	
  
Presented	
  by:	
  	
  
	
  
	
   Gene	
  Gotimer	
   	
  
	
  
Coveros,	
  Inc.	
  
	
  
Brought	
  to	
  you	
  by:	
  	
  
	
  	
  
	
  
	
  
	
  
	
  
350	
  Corporate	
  Way,	
  Suite	
  400,	
  Orange	
  Park,	
  FL	
  32073	
  	
  
888-­‐-­‐-­‐268-­‐-­‐-­‐8770	
  ·∙·∙	
  904-­‐-­‐-­‐278-­‐-­‐-­‐0524	
  -­‐	
  info@techwell.com	
  -­‐	
  http://www.starwest.techwell.com/	
  	
  	
  
	
  
	
  	
  
 
	
  
Gene	
  Gotimer	
  
	
  
	
  
Gene	
  Gotimer	
  is	
  a	
  senior	
  architect	
  at	
  Coveros,	
  Inc.,	
  a	
  software	
  company	
  that	
  uses	
  
agile	
  methods	
  to	
  accelerate	
  the	
  delivery	
  of	
  secure,	
  reliable	
  software.	
  As	
  a	
  consultant,	
  
Gene	
  works	
  with	
  his	
  customers	
  build	
  software	
  better,	
  faster,	
  and	
  more	
  securely	
  by	
  
introducing	
  agile	
  development	
  and	
  DevOps	
  practices.	
  He	
  has	
  many	
  years	
  of	
  
experience	
  in	
  web-­‐based	
  enterprise	
  application	
  design,	
  and	
  extensive	
  experience	
  
establishing	
  and	
  using	
  development	
  ecosystems	
  such	
  as	
  continuous	
  integration,	
  
continuous	
  delivery,	
  DevOps,	
  secure	
  software	
  development,	
  source	
  code	
  control,	
  
build	
  management,	
  release	
  management,	
  issue	
  tracking,	
  project	
  planning	
  and	
  
tracking,	
  and	
  a	
  variety	
  of	
  software	
  assurance	
  tools	
  and	
  supporting	
  processes.	
  Gene	
  
feels	
  strongly	
  the	
  repeatability,	
  quality,	
  and	
  security	
  are	
  all	
  strongly	
  intertwined;	
  
each	
  of	
  them	
  is	
  dependent	
  on	
  the	
  other	
  two,	
  which	
  just	
  makes	
  DevOps	
  that	
  much	
  
more	
  crucial	
  to	
  software	
  development.	
  
9/21/16	
1	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 1	@CoverosGene	
Agility.	Security.	Delivered.	
Gene	Go'mer	
Senior	Architect	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 2	@CoverosGene	
About Coveros
•  Coveros	builds	security-criKcal	applicaKons	using	agile	methods.	
•  Coveros	Services	
•  Agile	transformaKons	
•  Agile	development	and	tesKng	
•  DevOps	and	conKnuous	integraKon	
•  ApplicaKon	security	analysis	
•  Agile	&	Security	training	
•  Government	qualificaKons	
•  DCAA	approved	rates	and	accounKng	
•  TS	facility	clearance	
Areas	of	Exper8se
9/21/16	
2	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 3	@CoverosGene	
Select Clients
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 4	@CoverosGene	
Delivery Pipeline
Process	of	taking	a	code	change		
from	developers	and	geVng	it	deployed		
into	producKon	or	delivered	to	the	customer	
•  Stages	along	the	way	
•  Later	stages	lead	
•  to	higher	confidence	
•  closer	to	producKon
9/21/16	
3	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 5	@CoverosGene	
Delivery Pipeline
Do	we	have	a		
viable	candidate	for	producKon?	
	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 6	@CoverosGene	
Delivery Pipeline
Requirement	
Code	
Check-in	
Unit Tests
Deploy	to	Test	
Functional Tests
Deploy	to	Staging	
Acceptance Tests
Deploy	to	Pre-Prod	
Quality	Gate	
Trigger	
Performance Tests
Security Tests Deploy	to	Prod	
More	expensive	quality	gates	
Rapid	Feedback	
No	surprises
9/21/16	
4	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 7	@CoverosGene	
Goal is to Balance
Early	
Rapid		
Feedback	
No	Late		
Surprises	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 8	@CoverosGene	
Everything Can’t Be First
Do just enough
of each type of testing
early in the pipeline
to determine if
further testing is justified.
9/21/16	
5	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 9	@CoverosGene	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 10	@CoverosGene	
Value Stream
•  List	out	steps	from	developer	to	producKon	
•  That	is	the	delivery	pipeline	
•  whether	manual	or	automated	
•  IdenKfy	Kme	for	each	step	
•  execuKon	Kme	
•  wait	Kme	
•  Helps	show		
•  where	bo_lenecks	are	
•  what	should	be	automated
9/21/16	
6	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 11	@CoverosGene	
Pipeline Stages
•  Not	hard-and-fast	stages	
•  Gradual	change	in	focus		
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 12	@CoverosGene	
Commit	Stage	
Commit Stage
Requirement	
Code	
Check-in	
Unit Tests
Deploy	to	Test	
Functional Tests
Deploy	to	Staging	
Acceptance Tests
Deploy	to	Pre-Prod	
Performance Tests
Security Tests Deploy	to	Prod	
•  Code-focused	
•  Rapid	feedback	
•  10	minutes	maximum	
•  Developers	are	waiKng
9/21/16	
7	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 13	@CoverosGene	
Acceptance	Stage	
Acceptance Stage
Requirement	
Code	
Check-in	
Unit Tests
Deploy	to	Test	
Functional Tests
Deploy	to	Staging	
Acceptance Tests
Deploy	to	Pre-Prod	
Performance Tests
Security Tests Deploy	to	Prod	
•  Quality-focused	
•  Is	this	is	a	viable	candidate	for	producKon?	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 14	@CoverosGene	
End	Game	
End Game
Requirement	
Code	
Check-in	
Unit Tests
Deploy	to	Test	
Functional Tests
Deploy	to	Staging	
Acceptance Tests
Deploy	to	Pre-Prod	
Performance Tests
Security Tests Deploy	to	Prod	
•  Delivery-focused	
•  Steps	that	only	get	done	when		
we	are	releasing	
•  Does	not	begin	unKl	you	are	confident	
there	will	be	no	surprises
9/21/16	
8	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 15	@CoverosGene	
Pipeline Steps
Commit	Stage	
•  Compile	
•  Unit	tests	
•  StaKc	analysis	
Acceptance	Stage	
•  FuncKonal	tests	
•  Regression	tests	
•  Acceptance	tests	
•  System	integraKon	
•  Security	tesKng	
•  Performance	tesKng	
•  Exploratory	tesKng	
•  Usability	tesKng	
End	Game	
•  Security	tesKng	
•  Performance	tesKng	
•  Exploratory	tesKng	
•  Usability	tesKng	
•  Packaging	
•  Printed	documentaKon	
•  Release	announcement	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 16	@CoverosGene	
Pipeline Steps
Commit	Stage	
•  Compile	
•  Unit	tests	
•  StaKc	analysis	
Acceptance	Stage	
•  FuncKonal	tests	
•  Regression	tests	
•  Acceptance	tests	
•  System	integraKon	
•  Some	security	tesKng	
•  Performance	trend	
•  Early	exploratory	
tesKng	
•  Basic	usability	tesKng	
End	Game	
•  Mandated	security	test	
•  Full	load	and	
performance	test	
•  ConKnuing	exploratory	
tesKng	
•  Focus	group	usability	
tesKng	
•  Packaging	
•  Printed	documentaKon	
•  Release	announcement	
Do	just	enough	tes'ng	to	determine	if	further	tes'ng	is	jus'fied.
9/21/16	
9	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 17	@CoverosGene	
Example: Performance TesEng
•  Short	JMeter	test	
•  On	development	system,	no	isolaKon	
•  10	concurrent	users	for	10,000	requests	
•  Track	the	trend	
•  Answers:	“Are	we	geVng	slower	or	faster?”	
•  Full	load	and	performance	test	
•  Dedicated	environment,	no	other	traffic	
•  ProducKon-sized	servers	
•  1,000	concurrent	users	for	4	hours	
•  Answers:	“What	is	the	sustained	capacity	and	throughput?”	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 18	@CoverosGene	
Example: Security TesEng
•  FuncKonal	tests	run	through	
OWASP	ZAP	proxy	
•  During	early	tesKng	
•  Piggy-back	on	exisKng	tesKng	
•  Answers:	“Do	we	have	any	XSS	
vulnerabiliKes?”	
•  OpenVAS	system	scanning	
•  Weekly	in	test	environment	
•  Looks	for	open	network	ports	
•  Looks	for	sonware	with	CVEs	
•  Answers:	“Is	Nessus	likely	to	find	
anything?”	
•  HP	WebInspect	applicaKon	
security	scanning	
•  By	corporate	security	group	
•  Looks	for	black-box	web	
vulnerabiliKes	
•  Answers:	“Do	we	have	any	XSS	
vulnerabiliKes?”	
•  Nessus	system	scanning	
•  By	corporate	security	group	
•  Looks	for	open	network	ports	
•  Looks	for	sonware	with	CVEs	
•  Answers:	“Is	system	compliant?”
9/21/16	
10	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 19	@CoverosGene	
Advantages of Earlier TesEng
•  Quicker	feedback	cycle	
•  Easier	to	fix	problems	
that	are	found	
•  Developer	sKll	has	
context	of	changes	
•  Less	rework	on	
defecKve	product	
•  ProacKve	response,		
not	reacKve	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 20	@CoverosGene	
Code-focused
9/21/16	
11	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 21	@CoverosGene	
TesEng in the Commit Stage
•  Code-focused	
•  Developer-centric	
•  Rapid	feedback	
•  Developer	waits	unKl	complete	
•  10	minutes	maximum	
Types	of	AcKviKes	
•  ConKnuous	integraKon	
•  Compile	
•  Unit	tests	
•  StaKc	analysis	
•  Dependency	analysis	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 22	@CoverosGene	
Unit TesEng
•  Unit	tes'ng	is	not	QA!	
•  Developer	tool	
•  Early	confirmaKon	of	code	behavior	
•  Executable	documentaKon	
•  Fearless	refactoring
9/21/16	
12	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 23	@CoverosGene	
Code Coverage
•  A	tool,	not	a	target	
•  Measures	code	executed	while	unit	tests	running	
•  NOT	amount	of	code	tested	
•  Not	covered	=	not	tested	
•  Covered	=	possibly	tested	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 24	@CoverosGene	
MutaEon TesEng
•  Reruns	unit	tests	against	modified	versions	of	your	code	
•  If	tests	sKll	pass,	code	isn’t	tested	
•  Tests	quality	of	tests	
public	int	foo(int	i)	{	
		i--;	
		return	i;	
}	
public	int	foo(int	i)	{	
		i++;	
		return	i;	
}
9/21/16	
13	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 25	@CoverosGene	
StaEc Analysis
•  Early	detecKon	of	coding	issues	
•  style	issues	
•  duplicate	code	blocks	
•  declared	but	unused	variables	
•  confusing	code	
•  race	condiKons	
•  SQL	injecKon	
•  resource	leaks	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 26	@CoverosGene	
Third-party Components
OWASP	Top	10	2013:	
A9-Using	Components	with	
Known	VulnerabiliKes	
	
Scan	your	third-party	libraries	
	
Update	proacKvely,		
not	reacKvely
9/21/16	
14	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 27	@CoverosGene	
Quality-focused	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 28	@CoverosGene	
TesEng in the Acceptance Stage
•  Quality-focused	
•  Bulk	of	the	pipeline	
•  UnKl	confident	that	you	have	a	
viable	candidate	for	producKon	
Types	of	AcKviKes	
•  FuncKonal	tests	
•  Regression	tests	
•  Acceptance	tests	
•  System	integraKon	
•  Some	security	tesKng	
•  Performance	trend	
•  Early	exploratory	tesKng	
•  Basic	usability	tesKng
9/21/16	
15	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 29	@CoverosGene	
Automated Deployment
•  Repeatable,	reliable	deployments	
•  Test	that	through	pracKce	
•  Same	deploy	process	everywhere	
•  You	will	find	more	reasons	to	deploy	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 30	@CoverosGene	
Smoke TesEng
•  Aner	every	deployment	
•  Must	be	quick	
•  Test	the	deployment,		
not	the	funcKonality	
•  Focus	on		
•  basic	signs	of	life	
•  interfaces	between	systems	
•  configuraKon	seVngs
9/21/16	
16	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 31	@CoverosGene	
Delivery-focused	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 32	@CoverosGene	
TesEng in the End Game
•  Delivery-focused	
•  Steps	that	only	get	done	when		
we	are	releasing	
•  Tests	that	are	too	expensive	to	
do	every	build	
•  Kme	
•  resources	
•  effort	
•  Don’t	start	the	End	Game	unKl	
you	are	confident	you	won’t	be	
surprised	
Types	of	AcKviKes	
•  Non-funcKonal	tests	
•  Mandated	security	tesKng	
•  Full	load	and	performance	test	
•  ConKnuing	exploratory	tesKng	
•  Focus	group	usability	tesKng	
•  Packaging	
•  Printed	documentaKon	
•  Release	announcement
9/21/16	
17	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 33	@CoverosGene	
Non-funcEonal TesEng
•  Availability	tesKng	
•  Accessibility	tesKng	
•  Baseline	tesKng	
•  CompaKbility	tesKng	
•  Compliance	tesKng	
•  ConfiguraKon	tesKng	
•  DocumentaKon	tesKng	
•  Endurance	tesKng	
•  Ergonomics	tesKng	
•  Interoperability	tesKng	
•  InstallaKon	tesKng	
•  InternaKonalizaKon	tesKng	
•  Load	tesKng	
•  LocalizaKon	tesKng	
•  Maintainability	tesKng	
•  OperaKonal	readiness	tesKng	
•  Performance	tesKng	
•  Portability	tesKng	
•  Recovery	tesKng	
•  Reliability	tesKng	
•  Resilience	tesKng	
•  Scalability	tesKng	
•  Security	tesKng	
•  Stability	tesKng	
•  Stress	tesKng	
•  Supportability	tesKng	
•  Testability	tesKng	
•  Usability	tesKng	
•  Volume	tesKng	
Image	by	Andrew	Stellman	via	h_p://www.stellman-greene.com/2010/02/17/nonfuncKonal-requirements-qa/	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 34	@CoverosGene	
Parallel TesEng
•  Conduct	long-running	tests	in	parallel	
•  Upside:	less	elapsed	Kme	
•  Downside:	no	feedback	between	tests	
•  Should	already	be	an	expectaKon		
that	these	tests	will	pass
9/21/16	
18	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 35	@CoverosGene	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 36	@CoverosGene	
Summary
•  Early	rapid	feedback	vs.	no	late	surprises	
•  Do	just	enough	of	each	type	of	tesKng	early	in	the	pipeline	to	
determine	if	further	tesKng	is	jusKfied
9/21/16	
19	
©	COPYRIGHT	2016	COVEROS,	INC.	ALL	RIGHTS	RESERVED.	 37	@CoverosGene	
QuesEons?

Gene	Go'mer	
gene.goKmer@coveros.com	
@CoverosGene

More Related Content

PDF
Testing in an Agile World: The Current State and Future Possibilities
PDF
Scale DevSecOps with your Continuous Integration Pipeline
PDF
Tests Your Pipeline Might Be Missing
PDF
Continuous Testing- A Key Ingredient for Success in Agile & DevOps
PDF
IoT Software Testing Challenges: The IoT World Is Really Different
PPTX
Continuous Integration for Mobile App Testing
PDF
Seven Deadly Saves To Security With Integrations
PDF
How To Introduce Cloud Based Load Testing to Your Jenkins Continuous Delivery...
Testing in an Agile World: The Current State and Future Possibilities
Scale DevSecOps with your Continuous Integration Pipeline
Tests Your Pipeline Might Be Missing
Continuous Testing- A Key Ingredient for Success in Agile & DevOps
IoT Software Testing Challenges: The IoT World Is Really Different
Continuous Integration for Mobile App Testing
Seven Deadly Saves To Security With Integrations
How To Introduce Cloud Based Load Testing to Your Jenkins Continuous Delivery...

What's hot (20)

PDF
Continuous Delivery in a Legacy Shop - One Step at a Time
PDF
Is BDD Worth It? Considerations for Advanced Test Automation
PPT
Agile Load Testing In The Real World
PDF
Addressing the Challenges of Mobile Test Automation
PPTX
Accelerate Web and Mobile Testing for Continuous Integration and Delivery
PPTX
A better faster pipeline for software delivery, even in the government
PPTX
Continuous Testing and New Tools for Automation - Presentation from StarWest ...
PDF
A Better, Faster Pipeline for Software Delivery
PPT
SOASTA Webinar: Process Compression For Mobile App Dev 120612
PDF
The Legend of Software Hollow: Defeating the Headless Horseman of Faulty Appl...
PPTX
Modern Load Testing: Move Your Load Testing from the Past to the Present
PPTX
Continuous Testing
PDF
DevOps Challenges and Version Control
PPTX
Continuous Testing - The Final Frontier
PDF
DevOps Powered by Splunk Hands-On
PPTX
ApexUnit: Open source test framework for apex
PDF
Deliver Flawless Mobile Apps Faster with CI/CD & CT
PPTX
How to Eliminate Escaped Defects With a Proven Test Automation Coverage Strategy
PDF
Best Practices for Shifting Left Performance and Accessibility Testing
PDF
ABC's of Service Virtualization
Continuous Delivery in a Legacy Shop - One Step at a Time
Is BDD Worth It? Considerations for Advanced Test Automation
Agile Load Testing In The Real World
Addressing the Challenges of Mobile Test Automation
Accelerate Web and Mobile Testing for Continuous Integration and Delivery
A better faster pipeline for software delivery, even in the government
Continuous Testing and New Tools for Automation - Presentation from StarWest ...
A Better, Faster Pipeline for Software Delivery
SOASTA Webinar: Process Compression For Mobile App Dev 120612
The Legend of Software Hollow: Defeating the Headless Horseman of Faulty Appl...
Modern Load Testing: Move Your Load Testing from the Past to the Present
Continuous Testing
DevOps Challenges and Version Control
Continuous Testing - The Final Frontier
DevOps Powered by Splunk Hands-On
ApexUnit: Open source test framework for apex
Deliver Flawless Mobile Apps Faster with CI/CD & CT
How to Eliminate Escaped Defects With a Proven Test Automation Coverage Strategy
Best Practices for Shifting Left Performance and Accessibility Testing
ABC's of Service Virtualization
Ad

Similar to Testing in a Continuous Delivery Pipeline: Faster, Better, Cheaper (20)

PPTX
Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper
PPTX
Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper
PDF
Continuous Delivery in a Legacy Shop—One Step at a Time
PDF
Continous Delivery Toronto Presentation
PDF
Using DevOps to Improve Software Quality in the Cloud
PDF
Agile Software Factory - Cloud Expo / DevOps Summit 2014 demo
PDF
Continuous Delivery Distilled
PPTX
Experiences Bringing CD to a DoD Project
PDF
Introducing Continuous Delivery in the Enterprise
PDF
Constant Contact SF's Road to CD
PDF
Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...
PDF
Preparing for Enterprise Continuous Delivery - 5 Critical Steps
PDF
TLC2018 Tanya Kravtsov: 10 Steps to CI, Testing and Delivery
PPTX
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
PDF
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
PDF
From Commit To Production And Beyond
PDF
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
PPTX
How to go from waterfall app dev to secure agile development in 2 weeks
PDF
DOD 2016 - Diogo Oliveira - The OutSystems R&D Continuous Delivery Journey
PDF
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper
Testing in a Continuous Delivery Pipeline - Better, Faster, Cheaper
Continuous Delivery in a Legacy Shop—One Step at a Time
Continous Delivery Toronto Presentation
Using DevOps to Improve Software Quality in the Cloud
Agile Software Factory - Cloud Expo / DevOps Summit 2014 demo
Continuous Delivery Distilled
Experiences Bringing CD to a DoD Project
Introducing Continuous Delivery in the Enterprise
Constant Contact SF's Road to CD
Devoxx Belgium 2019 - Better software, faster: Principles of Continuous Deliv...
Preparing for Enterprise Continuous Delivery - 5 Critical Steps
TLC2018 Tanya Kravtsov: 10 Steps to CI, Testing and Delivery
Introduction to Continuous Delivery (BBWorld/DevCon 2013)
OpenValue Vienna meetup september 2020 - Better software, faster: Principles ...
From Commit To Production And Beyond
[WSO2Con EU 2017] Continuous Integration, Delivery and Deployment: Accelerate...
How to go from waterfall app dev to secure agile development in 2 weeks
DOD 2016 - Diogo Oliveira - The OutSystems R&D Continuous Delivery Journey
OpenValue meetup June 2019 - Better, software faster: Principles of Continuou...
Ad

More from TechWell (20)

PDF
Failing and Recovering
PDF
Instill a DevOps Testing Culture in Your Team and Organization
PDF
Test Design for Fully Automated Build Architecture
PDF
System-Level Test Automation: Ensuring a Good Start
PDF
Build Your Mobile App Quality and Test Strategy
PDF
Testing Transformation: The Art and Science for Success
PDF
Implement BDD with Cucumber and SpecFlow
PDF
Develop WebDriver Automated Tests—and Keep Your Sanity
PDF
Ma 15
PDF
Eliminate Cloud Waste with a Holistic DevOps Strategy
PDF
Transform Test Organizations for the New World of DevOps
PDF
The Fourth Constraint in Project Delivery—Leadership
PDF
Resolve the Contradiction of Specialists within Agile Teams
PDF
Pin the Tail on the Metric: A Field-Tested Agile Game
PDF
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
PDF
A Business-First Approach to DevOps Implementation
PDF
Databases in a Continuous Integration/Delivery Process
PDF
Mobile Testing: What—and What Not—to Automate
PDF
Cultural Intelligence: A Key Skill for Success
PDF
Turn the Lights On: A Power Utility Company's Agile Transformation
Failing and Recovering
Instill a DevOps Testing Culture in Your Team and Organization
Test Design for Fully Automated Build Architecture
System-Level Test Automation: Ensuring a Good Start
Build Your Mobile App Quality and Test Strategy
Testing Transformation: The Art and Science for Success
Implement BDD with Cucumber and SpecFlow
Develop WebDriver Automated Tests—and Keep Your Sanity
Ma 15
Eliminate Cloud Waste with a Holistic DevOps Strategy
Transform Test Organizations for the New World of DevOps
The Fourth Constraint in Project Delivery—Leadership
Resolve the Contradiction of Specialists within Agile Teams
Pin the Tail on the Metric: A Field-Tested Agile Game
Agile Performance Holarchy (APH)—A Model for Scaling Agile Teams
A Business-First Approach to DevOps Implementation
Databases in a Continuous Integration/Delivery Process
Mobile Testing: What—and What Not—to Automate
Cultural Intelligence: A Key Skill for Success
Turn the Lights On: A Power Utility Company's Agile Transformation

Recently uploaded (20)

PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
AI in Product Development-omnex systems
PDF
wealthsignaloriginal-com-DS-text-... (1).pdf
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
System and Network Administraation Chapter 3
PPTX
history of c programming in notes for students .pptx
PPTX
Essential Infomation Tech presentation.pptx
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PPTX
Transform Your Business with a Software ERP System
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Odoo Companies in India – Driving Business Transformation.pdf
Operating system designcfffgfgggggggvggggggggg
PTS Company Brochure 2025 (1).pdf.......
Why TechBuilder is the Future of Pickup and Delivery App Development (1).pdf
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
AI in Product Development-omnex systems
wealthsignaloriginal-com-DS-text-... (1).pdf
Adobe Illustrator 28.6 Crack My Vision of Vector Design
Wondershare Filmora 15 Crack With Activation Key [2025
Reimagine Home Health with the Power of Agentic AI​
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
System and Network Administraation Chapter 3
history of c programming in notes for students .pptx
Essential Infomation Tech presentation.pptx
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
VVF-Customer-Presentation2025-Ver1.9.pptx
Transform Your Business with a Software ERP System
2025 Textile ERP Trends: SAP, Odoo & Oracle
Navsoft: AI-Powered Business Solutions & Custom Software Development
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool

Testing in a Continuous Delivery Pipeline: Faster, Better, Cheaper

  • 1.         W5   DevOps  &  Testing   10/5/16  11:30             Testing  in  a  Continuous  Delivery   Pipeline:  Faster,  Better,  Cheaper   Presented  by:         Gene  Gotimer       Coveros,  Inc.     Brought  to  you  by:                 350  Corporate  Way,  Suite  400,  Orange  Park,  FL  32073     888-­‐-­‐-­‐268-­‐-­‐-­‐8770  ·∙·∙  904-­‐-­‐-­‐278-­‐-­‐-­‐0524  -­‐  info@techwell.com  -­‐  http://www.starwest.techwell.com/            
  • 2.     Gene  Gotimer       Gene  Gotimer  is  a  senior  architect  at  Coveros,  Inc.,  a  software  company  that  uses   agile  methods  to  accelerate  the  delivery  of  secure,  reliable  software.  As  a  consultant,   Gene  works  with  his  customers  build  software  better,  faster,  and  more  securely  by   introducing  agile  development  and  DevOps  practices.  He  has  many  years  of   experience  in  web-­‐based  enterprise  application  design,  and  extensive  experience   establishing  and  using  development  ecosystems  such  as  continuous  integration,   continuous  delivery,  DevOps,  secure  software  development,  source  code  control,   build  management,  release  management,  issue  tracking,  project  planning  and   tracking,  and  a  variety  of  software  assurance  tools  and  supporting  processes.  Gene   feels  strongly  the  repeatability,  quality,  and  security  are  all  strongly  intertwined;   each  of  them  is  dependent  on  the  other  two,  which  just  makes  DevOps  that  much   more  crucial  to  software  development.  
  • 3. 9/21/16 1 © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 1 @CoverosGene Agility. Security. Delivered. Gene Go'mer Senior Architect © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 2 @CoverosGene About Coveros •  Coveros builds security-criKcal applicaKons using agile methods. •  Coveros Services •  Agile transformaKons •  Agile development and tesKng •  DevOps and conKnuous integraKon •  ApplicaKon security analysis •  Agile & Security training •  Government qualificaKons •  DCAA approved rates and accounKng •  TS facility clearance Areas of Exper8se
  • 4. 9/21/16 2 © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 3 @CoverosGene Select Clients © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 4 @CoverosGene Delivery Pipeline Process of taking a code change from developers and geVng it deployed into producKon or delivered to the customer •  Stages along the way •  Later stages lead •  to higher confidence •  closer to producKon
  • 5. 9/21/16 3 © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 5 @CoverosGene Delivery Pipeline Do we have a viable candidate for producKon? © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 6 @CoverosGene Delivery Pipeline Requirement Code Check-in Unit Tests Deploy to Test Functional Tests Deploy to Staging Acceptance Tests Deploy to Pre-Prod Quality Gate Trigger Performance Tests Security Tests Deploy to Prod More expensive quality gates Rapid Feedback No surprises
  • 6. 9/21/16 4 © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 7 @CoverosGene Goal is to Balance Early Rapid Feedback No Late Surprises © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 8 @CoverosGene Everything Can’t Be First Do just enough of each type of testing early in the pipeline to determine if further testing is justified.
  • 7. 9/21/16 5 © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 9 @CoverosGene © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 10 @CoverosGene Value Stream •  List out steps from developer to producKon •  That is the delivery pipeline •  whether manual or automated •  IdenKfy Kme for each step •  execuKon Kme •  wait Kme •  Helps show •  where bo_lenecks are •  what should be automated
  • 8. 9/21/16 6 © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 11 @CoverosGene Pipeline Stages •  Not hard-and-fast stages •  Gradual change in focus © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 12 @CoverosGene Commit Stage Commit Stage Requirement Code Check-in Unit Tests Deploy to Test Functional Tests Deploy to Staging Acceptance Tests Deploy to Pre-Prod Performance Tests Security Tests Deploy to Prod •  Code-focused •  Rapid feedback •  10 minutes maximum •  Developers are waiKng
  • 9. 9/21/16 7 © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 13 @CoverosGene Acceptance Stage Acceptance Stage Requirement Code Check-in Unit Tests Deploy to Test Functional Tests Deploy to Staging Acceptance Tests Deploy to Pre-Prod Performance Tests Security Tests Deploy to Prod •  Quality-focused •  Is this is a viable candidate for producKon? © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 14 @CoverosGene End Game End Game Requirement Code Check-in Unit Tests Deploy to Test Functional Tests Deploy to Staging Acceptance Tests Deploy to Pre-Prod Performance Tests Security Tests Deploy to Prod •  Delivery-focused •  Steps that only get done when we are releasing •  Does not begin unKl you are confident there will be no surprises
  • 10. 9/21/16 8 © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 15 @CoverosGene Pipeline Steps Commit Stage •  Compile •  Unit tests •  StaKc analysis Acceptance Stage •  FuncKonal tests •  Regression tests •  Acceptance tests •  System integraKon •  Security tesKng •  Performance tesKng •  Exploratory tesKng •  Usability tesKng End Game •  Security tesKng •  Performance tesKng •  Exploratory tesKng •  Usability tesKng •  Packaging •  Printed documentaKon •  Release announcement © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 16 @CoverosGene Pipeline Steps Commit Stage •  Compile •  Unit tests •  StaKc analysis Acceptance Stage •  FuncKonal tests •  Regression tests •  Acceptance tests •  System integraKon •  Some security tesKng •  Performance trend •  Early exploratory tesKng •  Basic usability tesKng End Game •  Mandated security test •  Full load and performance test •  ConKnuing exploratory tesKng •  Focus group usability tesKng •  Packaging •  Printed documentaKon •  Release announcement Do just enough tes'ng to determine if further tes'ng is jus'fied.
  • 11. 9/21/16 9 © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 17 @CoverosGene Example: Performance TesEng •  Short JMeter test •  On development system, no isolaKon •  10 concurrent users for 10,000 requests •  Track the trend •  Answers: “Are we geVng slower or faster?” •  Full load and performance test •  Dedicated environment, no other traffic •  ProducKon-sized servers •  1,000 concurrent users for 4 hours •  Answers: “What is the sustained capacity and throughput?” © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 18 @CoverosGene Example: Security TesEng •  FuncKonal tests run through OWASP ZAP proxy •  During early tesKng •  Piggy-back on exisKng tesKng •  Answers: “Do we have any XSS vulnerabiliKes?” •  OpenVAS system scanning •  Weekly in test environment •  Looks for open network ports •  Looks for sonware with CVEs •  Answers: “Is Nessus likely to find anything?” •  HP WebInspect applicaKon security scanning •  By corporate security group •  Looks for black-box web vulnerabiliKes •  Answers: “Do we have any XSS vulnerabiliKes?” •  Nessus system scanning •  By corporate security group •  Looks for open network ports •  Looks for sonware with CVEs •  Answers: “Is system compliant?”
  • 12. 9/21/16 10 © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 19 @CoverosGene Advantages of Earlier TesEng •  Quicker feedback cycle •  Easier to fix problems that are found •  Developer sKll has context of changes •  Less rework on defecKve product •  ProacKve response, not reacKve © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 20 @CoverosGene Code-focused
  • 13. 9/21/16 11 © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 21 @CoverosGene TesEng in the Commit Stage •  Code-focused •  Developer-centric •  Rapid feedback •  Developer waits unKl complete •  10 minutes maximum Types of AcKviKes •  ConKnuous integraKon •  Compile •  Unit tests •  StaKc analysis •  Dependency analysis © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 22 @CoverosGene Unit TesEng •  Unit tes'ng is not QA! •  Developer tool •  Early confirmaKon of code behavior •  Executable documentaKon •  Fearless refactoring
  • 14. 9/21/16 12 © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 23 @CoverosGene Code Coverage •  A tool, not a target •  Measures code executed while unit tests running •  NOT amount of code tested •  Not covered = not tested •  Covered = possibly tested © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 24 @CoverosGene MutaEon TesEng •  Reruns unit tests against modified versions of your code •  If tests sKll pass, code isn’t tested •  Tests quality of tests public int foo(int i) { i--; return i; } public int foo(int i) { i++; return i; }
  • 15. 9/21/16 13 © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 25 @CoverosGene StaEc Analysis •  Early detecKon of coding issues •  style issues •  duplicate code blocks •  declared but unused variables •  confusing code •  race condiKons •  SQL injecKon •  resource leaks © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 26 @CoverosGene Third-party Components OWASP Top 10 2013: A9-Using Components with Known VulnerabiliKes Scan your third-party libraries Update proacKvely, not reacKvely
  • 16. 9/21/16 14 © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 27 @CoverosGene Quality-focused © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 28 @CoverosGene TesEng in the Acceptance Stage •  Quality-focused •  Bulk of the pipeline •  UnKl confident that you have a viable candidate for producKon Types of AcKviKes •  FuncKonal tests •  Regression tests •  Acceptance tests •  System integraKon •  Some security tesKng •  Performance trend •  Early exploratory tesKng •  Basic usability tesKng
  • 17. 9/21/16 15 © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 29 @CoverosGene Automated Deployment •  Repeatable, reliable deployments •  Test that through pracKce •  Same deploy process everywhere •  You will find more reasons to deploy © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 30 @CoverosGene Smoke TesEng •  Aner every deployment •  Must be quick •  Test the deployment, not the funcKonality •  Focus on •  basic signs of life •  interfaces between systems •  configuraKon seVngs
  • 18. 9/21/16 16 © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 31 @CoverosGene Delivery-focused © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 32 @CoverosGene TesEng in the End Game •  Delivery-focused •  Steps that only get done when we are releasing •  Tests that are too expensive to do every build •  Kme •  resources •  effort •  Don’t start the End Game unKl you are confident you won’t be surprised Types of AcKviKes •  Non-funcKonal tests •  Mandated security tesKng •  Full load and performance test •  ConKnuing exploratory tesKng •  Focus group usability tesKng •  Packaging •  Printed documentaKon •  Release announcement
  • 19. 9/21/16 17 © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 33 @CoverosGene Non-funcEonal TesEng •  Availability tesKng •  Accessibility tesKng •  Baseline tesKng •  CompaKbility tesKng •  Compliance tesKng •  ConfiguraKon tesKng •  DocumentaKon tesKng •  Endurance tesKng •  Ergonomics tesKng •  Interoperability tesKng •  InstallaKon tesKng •  InternaKonalizaKon tesKng •  Load tesKng •  LocalizaKon tesKng •  Maintainability tesKng •  OperaKonal readiness tesKng •  Performance tesKng •  Portability tesKng •  Recovery tesKng •  Reliability tesKng •  Resilience tesKng •  Scalability tesKng •  Security tesKng •  Stability tesKng •  Stress tesKng •  Supportability tesKng •  Testability tesKng •  Usability tesKng •  Volume tesKng Image by Andrew Stellman via h_p://www.stellman-greene.com/2010/02/17/nonfuncKonal-requirements-qa/ © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 34 @CoverosGene Parallel TesEng •  Conduct long-running tests in parallel •  Upside: less elapsed Kme •  Downside: no feedback between tests •  Should already be an expectaKon that these tests will pass
  • 20. 9/21/16 18 © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 35 @CoverosGene © COPYRIGHT 2016 COVEROS, INC. ALL RIGHTS RESERVED. 36 @CoverosGene Summary •  Early rapid feedback vs. no late surprises •  Do just enough of each type of tesKng early in the pipeline to determine if further tesKng is jusKfied