SlideShare a Scribd company logo
AW12
Concurrent Session
11/13/2013 3:45 PM

"Test (and More) Patterns for
Continuous Software Delivery"
Presented by:
Andy Singleton
Assembla

Brought to you by:

340 Corporate Way, Suite 300, Orange Park, FL 32073
888 268 8770 904 278 0524 sqeinfo@sqe.com www.sqe.com
Andy Singleton
Assembla
Andy Singleton is the founder of Assembla, a SaaS company providing
tools for distributed agile development teams. Andy moved Assembla from
bi-weekly releases to multiple daily releases. His forthcoming
book Unblock! A Guide to the New Continuous Agile describes workflows
for product management, task management, coding, and testing.
Previously, Andy founded PowerSteering Software, a provider of enterprise
project management software, and Cambridge Interactive, an eBusiness
consultancy. He developed financial information systems for Reuters,
Bloomberg, SNL Kagan, and Thomson. During his career, Andy has
produced more than twenty major software and financial information
products.
Be#er%So(ware%East%
From%Andy%Singleton,%h#p://andysingleton.com%
www.assembla.com%
%
In%this%session%
!  IntroducAon%to%CD,%benefits%of%CD,%and%ways%to%pitch%it%
!  MulAple%code%and%test%pa#erns%to%choose%from%
!  How%to%get%the%automated%tests%you%need%
!  Changes%in%the%role%of%QA%

%
Waterfall%to%ConAnuous%
Skip%

Plan%

CI%&%CD%

Program%

End%up%with%

Pull%

Automate%
&%Blend%

Test%

Lag%

Doc%

Releases%

Program%
Measure%

Launch%

Automate%

Deploy%
Assembla%in%2011%
!  “Scrumban”%with%iteraAve%releases,%but%conAnuous%planning%

to%accommodate%a%distributed%team.%
!  Releases%took%longer%as%system%got%bigger%and%there%was%more%
to%test.%2%weeks%V>%3%weeks%
!  Bugs%in%producAon.%%2%days%for%fixes.%%Stressful)
!  CompeAtors%achieved%faster%velocity%with%conAnuous%delivery%
!  Made%a%study%of%conAnuous%methods%with%our%own%team,%

customers,%and%tools.%
!  Now%–%releasing%about%250%Ames%per%month.%%Fewer%bugs.%%
Much%less%stress.%
You%can%do%it%incrementally%
1.  Release%more%frequently%
2.  Improve%
%
%
%
%
%
%
When%to%use%ConAnuous%Delivery?%
!  You%provide%an%online%service.%%CompeAAve%pressure%will%

force%you%to%conAnuous:%Office%365%vs%Google%Docs.%
!  You%provide%any%service%with%so(ware%inside%
!  Your%release%Ames%are%gedng%longer,%or%the%release%
process%is%stressful%
!  You%are%developing%a%new%product%with%lean%startup%and%
MVP%techniques%
!  You%have%a%big%project%with%a%lot%of%contributors%
!  This%applies%to%hardware,%also%
Benefits%for%the%test%process%
!  Eliminate%stress%from%the%release%process.%%There%is%never%

a%big%batch%of%stuff%to%test%under%pressure.%
%
!  Add%or%remove%test%layers%to%increase%quality%or%increase%
speed%
!  ConAnuous%integraAon%removes%the%stress%of%acquiring%
and%fidng%components%from%many%teams%and%suppliers%
!  Your%CEO%wonders%why%the%compeAAon%is%releasing%faster%
and%moving%faster%
%
ConAnuous%Delivery%Dial%
Business

Dev

Ops

Controlled

SelfService

DEV

TEST

INTEG

CONTINUOUS
DELIVERY

STAGING

UAT

PROD

RELEASE TRAIN

From%Steve%Brodie%and%Rohit%Jainendran%
The%big%quesAon:%How%to%test?%
!  We%release%so(ware%in%batches%so%that%we%can%test%it.%%

That%is%the%whole%reason%for%doing%it.%%We%test%so(ware%%
“release%candidates”%to%make%sure%everything%works%
together.%

!  In%conAnuous%delivery,%we%might%get%as%li#le%at%10%

minutes%to%test%a%release%candidate%

!  If%we%can’t%test%the%complete%version,%how%do%we%

guarantee%quality?%%Is%it%magic?%
Test%Layering%–%A%Golden%Ticket%
Monitor%your%released%so(ware:%Errors,%Usage%
volume,%usage%pa#erns,%user%feedback%
Switch%new%features%and%architecture%
QA%System%with%Human%test%consultants%
Code%review:%Both%a%manual%test,%and%a%place%to%
ask%for%test%scripts.%
ConAnuous%integraAon:%Run%automated%tests%
before%using%human%review%Ame%
Unit%tests%in%the%development%environment%
Quality)

Go%Both%Ways%

Increase)Quality)
Increase)Velocity)

Velocity)
Switch%and%Unveil%

Test%

Story%Owner%and%testers%see%the%
change%on%test%systems.%

Beta%

Insiders%see%it%and%use%it.%%Story%
Owner%can%show%it%to%users%for%
feedback%or%A/B%tesAng.%

UNVEIL!%

The%big%event.%%Communicate%with%
all%users.%%Measure%reacAon.%

One%code%version%
No%special%test%builds%
No%longVrunning%branches%

Hidden%

Programmer%sees%a%change%locally.%
Change%is%tested%in%the%%main%
version%but%not%seen.%
Test (and More) Patterns for Continuous Software Delivery
Code%and%Test%Pa#erns%
!  Centralized%
!  TradiAonal%process%with%no%branches%finds%and%fixes%
problems%as%early%as%possible%
!  Distributed%
!  Release%every%change%with%its%own%branch%and%test%
!  Temporary%branches%
!  Efficient%review,%combines%benefits%of%centralized%and%
distributed%
!  MAXOS%
!  Use%centralized%conAnuous%integraAon%to%manage%a%
massively%scalable%IT%system%
Centralized%CI/CD%

Contributor%Commits%–%“as%early%as%possible”%to%find%problems%

ConAnuous%
IntegraAon%tests%
Fail%V%alarm%

Pass%

Release%Candidate%
Test%System%
QA%TesAng%

Release%
Distributed%ConAnuous%Delivery%
Contributor%Commits%
Peer%review%merge%requests%

Branch%
or%Fork%
QA%Consults%

Merge%back%
Current%

Pass%Final%
Auto%Test?%
Deploy%
Deployed%version%

Other%contribuAons%
merged%and%released%
“as%late%as%possible”%
Distributed:%MulAple%Test%Systems%
Contributor%1%

Test%System%1%

CI%System%
QA%Team%

Contributor%2%

Test%System%2%

ProducAon%
Revision%

Release%
AnyAme%
Assembla%spins%up%test%servers%
Test%and%Review%on%Temp%Branches%
Test%before%spending%human%Ame%on%review%
Contributor%Commits%
Auto%tests% Review%

Auto%tests% Review%

Mainline%
•  Github%style%–%Pull%requests%or%merge%requests%going%to%CI%system%
•  Gerrit%style%–%Temporary%branches%for%each%contribuAon%
•  Assembla%git%supports%both%–%merge%requests,%and%temp%branches%%created%%
by%a%push%to%a%protected%branch.%
The%Services%Megatrend%
Desktop

Web App

Cloud Services

Service

App
DB

Service

Service
Matrix%of%Services%V%MAXOS%

Organize%by%
Each%team%releases%
tesAng%as%one%system%
when%ready%

Service%team%

IntegraAon%
test%env%

ProducAon%
service%

Service%team%

IntegraAon%
test%env%

ProducAon%
service%

Service%team%

IntegraAon%
test%env%

ProducAon%
service%

Current%
Work%

PrioriAzed%
Backlog%

Feedback%on%speed,%errors,%usage,%and%requests%
Coordinate%without%big%meeAngs%
ConAnuous%IntegraAon%between%%
latest%dev%version%of%each%service%

Service%team%

IntegraAon%
test%env%

Current%
Work%
Service%team%

IntegraAon%
test%env%

PrioriAzed%
Backlog%
Service%team%

IntegraAon%
test%env%

•  ConAnuous%integraAon%
helps%teams%coordinate.%
•  See%dependencies%
between%“producers”%
and%“consumers”%
•  Errors%and%conflicts%show%
related%team%contact%
info%
•  MeeAngs%and%changes%
negoAated%between%two%
teams,%not%many%
Test (and More) Patterns for Continuous Software Delivery
Role:%Developer%
!  Developers%have%more%power%and%responsibility.%
!  Developers%have%more%responsibility%for%tesAng.%
!  Developers%(not%QA%or%PM)%decide%when%to%release.%This)

is)a)strong)finding.%
!  IncenAves%are%correct.%%Developer%might%have%to%come%back%

from%Friday%night%beers%to%fix%a%problem.%%This%provides%a%
moAvaAon%to%make%good%decisions%and%automate%tesAng.%
!  Features%can%be%released%but%hidden.%%Product%Managers%
and%Marketers%will%unveil%when%they%are%ready.%Unblock!%
Role:%QA%
!  QA%is%a%consultant.%
!  QA%gets%more%respect.%%Developers%have%to%ASK%for%

service.%
!  Developers%do%more%of%the%tesAng%work.%%They%should%
organize%reviews%and%automated%tests%so%that%bugs%don’t%
go%through%into%the%manual%test%process.%
!  QA%has%more%Ame%to%invesAgate%usability%
!  QA%monitors%producAvity%and%quality%metrics%
IncenAves%for%ConAnuous%Flow%
You%don’t%need%culture%change.%%You%only%need%to%release%
more%frequently%
1.  If%you%do%code)review,%you%can%get%automated.%No%
browbeaAng%and%cajoling%is%required.%%Developers%will%
ask%for%tests%when%they%review.%
2.  If%developers%decide%to%release,%they%will%take%more%
responsibility%for%tesAng%and%automated%tests.%
3.  If%you%release%more%frequently,%developers%will%quickly%
learn%not%to%break%the%build%
4.  If%PM’s%take%unveil)and)measurement%responsibility,%
they%will%make%be#er%features%
Our%Master%Plan%
1.  Release%more%frequently%
2.  Improve%
%
%
%
%
%
%
www.conAnuousagile.com/unblock%

More Related Content

PDF
Apple and Microsoft:Leading Innovators of the 21st Techology
PDF
Adopt Before You Adapt: Learning Principles through Practice
PDF
Essential Test Management and Planning
PDF
Lessons from Busting Organizational Silos
PDF
A Mind-Blowing Exploration on How to Make Better Decisions
PDF
Key Strategies to Survive the Mega Test Program
PDF
Mobile Testing Success: Real World Strategies and Techniques
PDF
Cloud-based Testing: Flexible, Scalable, On-demand, and Cheaper
Apple and Microsoft:Leading Innovators of the 21st Techology
Adopt Before You Adapt: Learning Principles through Practice
Essential Test Management and Planning
Lessons from Busting Organizational Silos
A Mind-Blowing Exploration on How to Make Better Decisions
Key Strategies to Survive the Mega Test Program
Mobile Testing Success: Real World Strategies and Techniques
Cloud-based Testing: Flexible, Scalable, On-demand, and Cheaper

Viewers also liked (10)

PDF
Alan Page: On Testing
PDF
Continuous Automated Regression Testing to the Rescue
PDF
Get Testing Help from the Crowd
PDF
Test Automation Challenges in the Gaming Industry
PDF
Introducing the New Software Testing Standard
PDF
The Role of the Agile Business Analyst
PDF
The Mindset of Managing Uncertainty: The Key to Agile Success
PDF
Lean Startup Tools for Scrum Product Owners
PDF
How to Break Software: Embedded Edition
PDF
Implementing Crowdsourced Testing
Alan Page: On Testing
Continuous Automated Regression Testing to the Rescue
Get Testing Help from the Crowd
Test Automation Challenges in the Gaming Industry
Introducing the New Software Testing Standard
The Role of the Agile Business Analyst
The Mindset of Managing Uncertainty: The Key to Agile Success
Lean Startup Tools for Scrum Product Owners
How to Break Software: Embedded Edition
Implementing Crowdsourced Testing
Ad

Similar to Test (and More) Patterns for Continuous Software Delivery (20)

PDF
Building Web Services With Java Making Sense Of Xml Soap Wsdl And Uddi 1st St...
PDF
Big Data for HR
PDF
Assessing Agile Engineering Practices
PDF
Executives’ Influence on Agile: The Good, the Bad, and the Ugly
PDF
Mastering Predictive Analytics With R 2nd James D Miller Rui Miguel Forte
PDF
Service Oriented Architecture with Java Using SOA and web services to build p...
PDF
Build Automate and Test Strategies - BATMAN
PDF
12 top app testing tools
PDF
Is your business cyber savvy
PDF
Service Oriented Architecture with Java Using SOA and web services to build p...
PDF
Splunk bangalore user group 2020-06-01
PDF
SaaS Ventures: Introduction
PDF
Splunk Enterprise 6.1 Solutions Brief
PDF
Integrate Your Test Automation Tools for More Power
PPTX
Splunk for Enterprise Security Featuring UBA
PDF
Service Oriented Architecture With Java Using Soa And Web Services To Build P...
PPTX
SplunkLive! Paris 2018: Delivering New Visibility And Analytics For IT Operat...
PPTX
StartupBridge India 2017
PPT
Causelink Team from Sologic delivers Enterprise flexibility for smaller organ...
PPTX
The Splunk AISecOps Initiative - Splunk Security Roundtable: Zurich 2018
Building Web Services With Java Making Sense Of Xml Soap Wsdl And Uddi 1st St...
Big Data for HR
Assessing Agile Engineering Practices
Executives’ Influence on Agile: The Good, the Bad, and the Ugly
Mastering Predictive Analytics With R 2nd James D Miller Rui Miguel Forte
Service Oriented Architecture with Java Using SOA and web services to build p...
Build Automate and Test Strategies - BATMAN
12 top app testing tools
Is your business cyber savvy
Service Oriented Architecture with Java Using SOA and web services to build p...
Splunk bangalore user group 2020-06-01
SaaS Ventures: Introduction
Splunk Enterprise 6.1 Solutions Brief
Integrate Your Test Automation Tools for More Power
Splunk for Enterprise Security Featuring UBA
Service Oriented Architecture With Java Using Soa And Web Services To Build P...
SplunkLive! Paris 2018: Delivering New Visibility And Analytics For IT Operat...
StartupBridge India 2017
Causelink Team from Sologic delivers Enterprise flexibility for smaller organ...
The Splunk AISecOps Initiative - Splunk Security Roundtable: Zurich 2018
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
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PPTX
The various Industrial Revolutions .pptx
PPTX
Tartificialntelligence_presentation.pptx
PDF
A novel scalable deep ensemble learning framework for big data classification...
PDF
CloudStack 4.21: First Look Webinar slides
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
WOOl fibre morphology and structure.pdf for textiles
PPTX
Web Crawler for Trend Tracking Gen Z Insights.pptx
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPTX
Modernising the Digital Integration Hub
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
1 - Historical Antecedents, Social Consideration.pdf
PDF
Getting Started with Data Integration: FME Form 101
DOCX
search engine optimization ppt fir known well about this
PDF
STKI Israel Market Study 2025 version august
PDF
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
PDF
Hybrid model detection and classification of lung cancer
PPT
Geologic Time for studying geology for geologist
A Late Bloomer's Guide to GenAI: Ethics, Bias, and Effective Prompting - Boha...
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
The various Industrial Revolutions .pptx
Tartificialntelligence_presentation.pptx
A novel scalable deep ensemble learning framework for big data classification...
CloudStack 4.21: First Look Webinar slides
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
WOOl fibre morphology and structure.pdf for textiles
Web Crawler for Trend Tracking Gen Z Insights.pptx
A comparative study of natural language inference in Swahili using monolingua...
Modernising the Digital Integration Hub
DP Operators-handbook-extract for the Mautical Institute
1 - Historical Antecedents, Social Consideration.pdf
Getting Started with Data Integration: FME Form 101
search engine optimization ppt fir known well about this
STKI Israel Market Study 2025 version august
Hybrid horned lizard optimization algorithm-aquila optimizer for DC motor
Hybrid model detection and classification of lung cancer
Geologic Time for studying geology for geologist

Test (and More) Patterns for Continuous Software Delivery