SlideShare a Scribd company logo
1 of 12
Download to read offline
Continuous
Testing
J a r e d R i c h a r d s o n
A g i l e A r t i s a n s
1
Who are you?
2
Jared Richardson
CoAuthored Ship It! and Career 2.0	

Screencast editor for PragProg.com	

Started AgileRTP in 2007	

2nd public signatory of the Agile Manifesto	

Agile coach	

AgileArtisans.com
3
What Is Agile?
4
AgileManifesto.org
5
Feedback Loops
6
Feedback Loops are
Fractal
flickr.com/photos/dancentury/4579906149
7
flickr.com/photos/bobowen/4501875907
flickr.com/photos/30691679@N07/3808395213
flickr.com/photos/kevino/1438502858
8
Pairing
Test First
Daily Meetings
Demos
???
Feedback Loops
Inside Feedback Loops
9
Different Levels
Good at the bottom	

Great at the top	

Ignore the middle
10
Continuous Feedback
Continuous Integration	

Continuous Delivery	

Continuous Testing
11
Continuous Integration
Watch Code
Build product
Run tests
Publish results
12
Continuous Testing
Watch CI
Deploy
product
Integration
tests
Publish results
13
Continuous Testing
Build in CI (compile & unit tests)	

Deploy to dev (staging)	

Run integration tests
14
What does this tell us?
If it works
15
Continuous deployment is controversial. 



Most people ... think I’m advocating 

low-quality code 

or an undisciplined 

cowboy-coding 

development process.
ERIC RIES
radar.oreilly.com/2009/03/continuous-deployment-5-eas.html
16
Language is a Tool
Use it
17
What's this look like?
18
Java Tooling
Publish results
19
Example
Publish results
javac (Oracle & IBM)
message broker
etc
ws ejb deploy
message broker tools
sshexec (to scripts)
JUnit
HP's UFT
Selenium
Web page
RSS
Email
20
Continuous Testing
CI CT
Compile &
unit test
Deploy &
integration
test
21
Multiplatform Deploys
CI
CD Win7
CD Linux
CD AIX
22
Binaries
Nuke & Pave
Delete
Recompile
Deploy
Use
23
flickr.com/photos/x-ray_delta_one/4152356464
23
Data
Nuke & Pave
Delete schema
Drop tables
Recreate
Restock
Rails
Liquibase
24
flickr.com/photos/x-ray_delta_one/4152356464
24
Rails ActiveRecord
CREATE	
  TABLE	
  products	
  (	
  
	
  	
  	
  id	
  int(11)	
  NOT	
  NULL	
  auto_increment,	
  
	
  	
  	
  name	
  varchar(255),	
  
	
  	
  	
  PRIMARY	
  KEY	
  	
  (id)	
  
);
25
25
Rails ActiveRecord
change_table :card_deck do |t|

t.remove :description, :name 

t.string :first_name

t.index :part_number

t.rename :list_name, :last_name

end
26
26
Rails ActiveRecord
rake db:migrate
rake db:migrate VERSION=0
rake db:reset
27
27
Operating System
Nuke & Pave
Virtualize
Recreate
28
flickr.com/photos/x-ray_delta_one/4152356464
28
Vagrant
vagrant init lnx http://lnx/lnx.box	
vagrant up	
vagrant ssh	
vagrant reload --provision
29
29
Vagrant
Vagrant.configure("2") do |config|	
config.vm.box = "lnx"	
config.vm.provision :shell, :path => "bootstrap.sh"	
end
30
30
Benefits
Reproducible environment	

Solid results	

Fast results	

Repeatable results
31
Fast
feedback
leads to
fast fixes
32
Minimize Dark Times
Code Change
Validation
http://flickr.com/photos/bogenfreund/556656621/
33
When?
Day one	

Easiest
34
Easy?
No	

Difficult	

Necessary	

Code	

35
Alternatives
36
flickr.com/photos/lightsinthedark/5810724330/
Work in a vacuum
37
Ruthlessly
Automate!
Builds	

Deploys	

Tests
flickr.com/photos/pmillera4/9317924474
38
Steps
Automate builds	

Continuous Integration	

Add unit tests	

Automate deployments	

Continuous Delivery	

Add integration tests
flickr.com/photos/untitlism/2547423465
39
Your move
40
Exercise
Two 3x5 cards	

3 reasons for Continuous Testing	

3 barriers to adoption	

Pass cards to the next table	

Brainstorm on solutions
flickr.com/photos/curtisperry/6119618990
41
Tips
Open standards...	

Junit or Junit compatible	

Avoid vendor lock in	

Glue tools	

Time matters....	

Fast servers	

Incremental change
42
Resources
JUnit JUnit.org	

Jenkins Jenkins-ci.org	

BDD Dannorth.net/introducing-bdd	

Cucumber Cukes.info	

Continuous Deployment en.wikipedia.org/wiki/Continuous_delivery
43
Devops Resources
VagrantUp.com	

GetChef.com/chef	

PuppetLabs.com	

Ansible.com	

VirtualBox.org
44
Data Resources
Guides.RubyOnRails.org/active_record_basics.html	

Liquibase.org	

FlywayDB.org
45 46

More Related Content

Viewers also liked

Acceptance Test Driven Development at StarWest 2014
Acceptance Test Driven Development at StarWest 2014Acceptance Test Driven Development at StarWest 2014
Acceptance Test Driven Development at StarWest 2014jaredrrichardson
 
Continuous Testing in Vegas
Continuous Testing in VegasContinuous Testing in Vegas
Continuous Testing in Vegasjaredrrichardson
 
Branded Customer Experience – Bridging promise and fulfillment
Branded Customer Experience – Bridging promise and fulfillmentBranded Customer Experience – Bridging promise and fulfillment
Branded Customer Experience – Bridging promise and fulfillmentChristian Vatter
 
Branding & Marketing Workshop - NOFA Vermont Winter Conference 2017
Branding & Marketing Workshop - NOFA Vermont Winter Conference 2017Branding & Marketing Workshop - NOFA Vermont Winter Conference 2017
Branding & Marketing Workshop - NOFA Vermont Winter Conference 2017Deep Dish Creative
 
Brand Services – A user centric marketing tool
Brand Services – A user centric marketing toolBrand Services – A user centric marketing tool
Brand Services – A user centric marketing toolChristian Vatter
 
Fundamentals of Object-Oriented UX
Fundamentals of Object-Oriented UXFundamentals of Object-Oriented UX
Fundamentals of Object-Oriented UXSophia Voychehovski
 
Service Branding – Designing for distinction
Service Branding – Designing for distinctionService Branding – Designing for distinction
Service Branding – Designing for distinctionChristian Vatter
 
A Brief Guide to Service Design (UX Brighton) by Paul Thurston & Nick Marsh
A Brief Guide to Service Design (UX Brighton) by Paul Thurston & Nick MarshA Brief Guide to Service Design (UX Brighton) by Paul Thurston & Nick Marsh
A Brief Guide to Service Design (UX Brighton) by Paul Thurston & Nick MarshHarry Brignull
 
Creating a Culture of UX
Creating a Culture of UXCreating a Culture of UX
Creating a Culture of UXWhitney Hess
 
Measuring What Matters: A UX Approach to Metrics :: UX Days Tokyo [April 2015]
Measuring What Matters: A UX Approach to Metrics :: UX Days Tokyo [April 2015]Measuring What Matters: A UX Approach to Metrics :: UX Days Tokyo [April 2015]
Measuring What Matters: A UX Approach to Metrics :: UX Days Tokyo [April 2015]Kate Rutter
 
UX 프로젝트 가이드 (UX Project Guide)
UX 프로젝트 가이드 (UX Project Guide) UX 프로젝트 가이드 (UX Project Guide)
UX 프로젝트 가이드 (UX Project Guide) RightBrain inc.
 
Lean UX: Getting out of the deliverables business
Lean UX: Getting out of the deliverables businessLean UX: Getting out of the deliverables business
Lean UX: Getting out of the deliverables businessJeff Gothelf
 
UX Playbook - 15 Minutes to Better Performance
UX Playbook - 15 Minutes to Better PerformanceUX Playbook - 15 Minutes to Better Performance
UX Playbook - 15 Minutes to Better PerformanceChris Feix
 
Why UX Design Needs Content Strategy
Why UX Design Needs Content StrategyWhy UX Design Needs Content Strategy
Why UX Design Needs Content StrategyKaren McGrane
 
Startup/Digital Marketing 2.0: Growth Hacking Thru UX
Startup/Digital Marketing 2.0: Growth Hacking Thru UXStartup/Digital Marketing 2.0: Growth Hacking Thru UX
Startup/Digital Marketing 2.0: Growth Hacking Thru UXSoon-Aik Chiew
 

Viewers also liked (20)

Grows for Executives
Grows for ExecutivesGrows for Executives
Grows for Executives
 
Acceptance Test Driven Development at StarWest 2014
Acceptance Test Driven Development at StarWest 2014Acceptance Test Driven Development at StarWest 2014
Acceptance Test Driven Development at StarWest 2014
 
Continuous Testing in Vegas
Continuous Testing in VegasContinuous Testing in Vegas
Continuous Testing in Vegas
 
Branded Customer Experience – Bridging promise and fulfillment
Branded Customer Experience – Bridging promise and fulfillmentBranded Customer Experience – Bridging promise and fulfillment
Branded Customer Experience – Bridging promise and fulfillment
 
Branding & Marketing Workshop - NOFA Vermont Winter Conference 2017
Branding & Marketing Workshop - NOFA Vermont Winter Conference 2017Branding & Marketing Workshop - NOFA Vermont Winter Conference 2017
Branding & Marketing Workshop - NOFA Vermont Winter Conference 2017
 
Brand Services – A user centric marketing tool
Brand Services – A user centric marketing toolBrand Services – A user centric marketing tool
Brand Services – A user centric marketing tool
 
Fundamentals of Object-Oriented UX
Fundamentals of Object-Oriented UXFundamentals of Object-Oriented UX
Fundamentals of Object-Oriented UX
 
Service Branding – Designing for distinction
Service Branding – Designing for distinctionService Branding – Designing for distinction
Service Branding – Designing for distinction
 
A Brief Guide to Service Design (UX Brighton) by Paul Thurston & Nick Marsh
A Brief Guide to Service Design (UX Brighton) by Paul Thurston & Nick MarshA Brief Guide to Service Design (UX Brighton) by Paul Thurston & Nick Marsh
A Brief Guide to Service Design (UX Brighton) by Paul Thurston & Nick Marsh
 
Archetypal Branding: Cult Branding 2.0
Archetypal Branding: Cult Branding 2.0Archetypal Branding: Cult Branding 2.0
Archetypal Branding: Cult Branding 2.0
 
Creating a Culture of UX
Creating a Culture of UXCreating a Culture of UX
Creating a Culture of UX
 
Measuring What Matters: A UX Approach to Metrics :: UX Days Tokyo [April 2015]
Measuring What Matters: A UX Approach to Metrics :: UX Days Tokyo [April 2015]Measuring What Matters: A UX Approach to Metrics :: UX Days Tokyo [April 2015]
Measuring What Matters: A UX Approach to Metrics :: UX Days Tokyo [April 2015]
 
UX 프로젝트 가이드 (UX Project Guide)
UX 프로젝트 가이드 (UX Project Guide) UX 프로젝트 가이드 (UX Project Guide)
UX 프로젝트 가이드 (UX Project Guide)
 
Lean UX: Getting out of the deliverables business
Lean UX: Getting out of the deliverables businessLean UX: Getting out of the deliverables business
Lean UX: Getting out of the deliverables business
 
An introduction to UX in Scrum
An introduction to UX in ScrumAn introduction to UX in Scrum
An introduction to UX in Scrum
 
Ux design process
Ux design processUx design process
Ux design process
 
UX Fundamentals for Startups
UX Fundamentals for StartupsUX Fundamentals for Startups
UX Fundamentals for Startups
 
UX Playbook - 15 Minutes to Better Performance
UX Playbook - 15 Minutes to Better PerformanceUX Playbook - 15 Minutes to Better Performance
UX Playbook - 15 Minutes to Better Performance
 
Why UX Design Needs Content Strategy
Why UX Design Needs Content StrategyWhy UX Design Needs Content Strategy
Why UX Design Needs Content Strategy
 
Startup/Digital Marketing 2.0: Growth Hacking Thru UX
Startup/Digital Marketing 2.0: Growth Hacking Thru UXStartup/Digital Marketing 2.0: Growth Hacking Thru UX
Startup/Digital Marketing 2.0: Growth Hacking Thru UX
 

Similar to Continuous Testing

Testing in FrontEnd World by Nikita Galkin
Testing in FrontEnd World by Nikita GalkinTesting in FrontEnd World by Nikita Galkin
Testing in FrontEnd World by Nikita GalkinSigma Software
 
Sprint 149
Sprint 149Sprint 149
Sprint 149ManageIQ
 
Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"Fwdays
 
How to Design a Program Repair Bot? Insights from the Repairnator Project
How to Design a Program Repair Bot? Insights from the Repairnator ProjectHow to Design a Program Repair Bot? Insights from the Repairnator Project
How to Design a Program Repair Bot? Insights from the Repairnator ProjectSimon Urli
 
Continuous Integration and Delivery using TeamCity and Jenkins
Continuous Integration and Delivery using TeamCity and JenkinsContinuous Integration and Delivery using TeamCity and Jenkins
Continuous Integration and Delivery using TeamCity and JenkinsMahmoud Ali
 
Continuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software WestContinuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software WestCory Foy
 
(automatic) Testing: from business to university and back
(automatic) Testing: from business to university and back(automatic) Testing: from business to university and back
(automatic) Testing: from business to university and backDavid Rodenas
 
From System Modeling to Automated System Testing
From System Modeling to Automated System TestingFrom System Modeling to Automated System Testing
From System Modeling to Automated System TestingFlorian Lier
 
Troubleshooting tips from docker support engineers
Troubleshooting tips from docker support engineersTroubleshooting tips from docker support engineers
Troubleshooting tips from docker support engineersDocker, Inc.
 
Cloud Native Serverless Java — Orkhan Gasimov
Cloud Native Serverless Java — Orkhan GasimovCloud Native Serverless Java — Orkhan Gasimov
Cloud Native Serverless Java — Orkhan GasimovGlobalLogic Ukraine
 
Bots on guard of sdlc
Bots on guard of sdlcBots on guard of sdlc
Bots on guard of sdlcAlexey Tokar
 
Hitchhiker's guide to Functional Testing
Hitchhiker's guide to Functional TestingHitchhiker's guide to Functional Testing
Hitchhiker's guide to Functional TestingWiebe Elsinga
 
Developer Group - Sitecore Application Lifecycle Management
Developer Group - Sitecore Application Lifecycle ManagementDeveloper Group - Sitecore Application Lifecycle Management
Developer Group - Sitecore Application Lifecycle ManagementThomas Eldblom
 
Sprint 143
Sprint 143Sprint 143
Sprint 143ManageIQ
 
Testing, Learning and Professionalism — 20171214
Testing, Learning and Professionalism — 20171214Testing, Learning and Professionalism — 20171214
Testing, Learning and Professionalism — 20171214David Rodenas
 
Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery appliedMike McGarr
 
Clean architecture: Android
Clean architecture: AndroidClean architecture: Android
Clean architecture: Androidintive
 

Similar to Continuous Testing (20)

Continuous Testing
Continuous TestingContinuous Testing
Continuous Testing
 
Testing in FrontEnd World by Nikita Galkin
Testing in FrontEnd World by Nikita GalkinTesting in FrontEnd World by Nikita Galkin
Testing in FrontEnd World by Nikita Galkin
 
Sprint 149
Sprint 149Sprint 149
Sprint 149
 
Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"Никита Галкин "Testing in Frontend World"
Никита Галкин "Testing in Frontend World"
 
How to Design a Program Repair Bot? Insights from the Repairnator Project
How to Design a Program Repair Bot? Insights from the Repairnator ProjectHow to Design a Program Repair Bot? Insights from the Repairnator Project
How to Design a Program Repair Bot? Insights from the Repairnator Project
 
Continuous Integration and Delivery using TeamCity and Jenkins
Continuous Integration and Delivery using TeamCity and JenkinsContinuous Integration and Delivery using TeamCity and Jenkins
Continuous Integration and Delivery using TeamCity and Jenkins
 
Continuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software WestContinuous Deployment and Testing Workshop from Better Software West
Continuous Deployment and Testing Workshop from Better Software West
 
(automatic) Testing: from business to university and back
(automatic) Testing: from business to university and back(automatic) Testing: from business to university and back
(automatic) Testing: from business to university and back
 
From System Modeling to Automated System Testing
From System Modeling to Automated System TestingFrom System Modeling to Automated System Testing
From System Modeling to Automated System Testing
 
Troubleshooting tips from docker support engineers
Troubleshooting tips from docker support engineersTroubleshooting tips from docker support engineers
Troubleshooting tips from docker support engineers
 
PhD Dissertation Defense (April 2015)
PhD Dissertation Defense (April 2015)PhD Dissertation Defense (April 2015)
PhD Dissertation Defense (April 2015)
 
Cloud Native Serverless Java — Orkhan Gasimov
Cloud Native Serverless Java — Orkhan GasimovCloud Native Serverless Java — Orkhan Gasimov
Cloud Native Serverless Java — Orkhan Gasimov
 
Bots on guard of sdlc
Bots on guard of sdlcBots on guard of sdlc
Bots on guard of sdlc
 
Hitchhiker's guide to Functional Testing
Hitchhiker's guide to Functional TestingHitchhiker's guide to Functional Testing
Hitchhiker's guide to Functional Testing
 
Developer Group - Sitecore Application Lifecycle Management
Developer Group - Sitecore Application Lifecycle ManagementDeveloper Group - Sitecore Application Lifecycle Management
Developer Group - Sitecore Application Lifecycle Management
 
Sprint 143
Sprint 143Sprint 143
Sprint 143
 
Binding android piece by piece
Binding android piece by pieceBinding android piece by piece
Binding android piece by piece
 
Testing, Learning and Professionalism — 20171214
Testing, Learning and Professionalism — 20171214Testing, Learning and Professionalism — 20171214
Testing, Learning and Professionalism — 20171214
 
Continuous delivery applied
Continuous delivery appliedContinuous delivery applied
Continuous delivery applied
 
Clean architecture: Android
Clean architecture: AndroidClean architecture: Android
Clean architecture: Android
 

Recently uploaded

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Steffen Staab
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 

Recently uploaded (20)

Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 

Continuous Testing

  • 1. Continuous Testing J a r e d R i c h a r d s o n A g i l e A r t i s a n s 1 Who are you? 2 Jared Richardson CoAuthored Ship It! and Career 2.0 Screencast editor for PragProg.com Started AgileRTP in 2007 2nd public signatory of the Agile Manifesto Agile coach AgileArtisans.com 3 What Is Agile? 4
  • 2. AgileManifesto.org 5 Feedback Loops 6 Feedback Loops are Fractal flickr.com/photos/dancentury/4579906149 7 flickr.com/photos/bobowen/4501875907 flickr.com/photos/30691679@N07/3808395213 flickr.com/photos/kevino/1438502858 8
  • 3. Pairing Test First Daily Meetings Demos ??? Feedback Loops Inside Feedback Loops 9 Different Levels Good at the bottom Great at the top Ignore the middle 10 Continuous Feedback Continuous Integration Continuous Delivery Continuous Testing 11 Continuous Integration Watch Code Build product Run tests Publish results 12
  • 4. Continuous Testing Watch CI Deploy product Integration tests Publish results 13 Continuous Testing Build in CI (compile & unit tests) Deploy to dev (staging) Run integration tests 14 What does this tell us? If it works 15 Continuous deployment is controversial. 
 
 Most people ... think I’m advocating 
 low-quality code 
 or an undisciplined 
 cowboy-coding 
 development process. ERIC RIES radar.oreilly.com/2009/03/continuous-deployment-5-eas.html 16
  • 5. Language is a Tool Use it 17 What's this look like? 18 Java Tooling Publish results 19 Example Publish results javac (Oracle & IBM) message broker etc ws ejb deploy message broker tools sshexec (to scripts) JUnit HP's UFT Selenium Web page RSS Email 20
  • 6. Continuous Testing CI CT Compile & unit test Deploy & integration test 21 Multiplatform Deploys CI CD Win7 CD Linux CD AIX 22 Binaries Nuke & Pave Delete Recompile Deploy Use 23 flickr.com/photos/x-ray_delta_one/4152356464 23 Data Nuke & Pave Delete schema Drop tables Recreate Restock Rails Liquibase 24 flickr.com/photos/x-ray_delta_one/4152356464 24
  • 7. Rails ActiveRecord CREATE  TABLE  products  (        id  int(11)  NOT  NULL  auto_increment,        name  varchar(255),        PRIMARY  KEY    (id)   ); 25 25 Rails ActiveRecord change_table :card_deck do |t|
 t.remove :description, :name 
 t.string :first_name
 t.index :part_number
 t.rename :list_name, :last_name
 end 26 26 Rails ActiveRecord rake db:migrate rake db:migrate VERSION=0 rake db:reset 27 27 Operating System Nuke & Pave Virtualize Recreate 28 flickr.com/photos/x-ray_delta_one/4152356464 28
  • 8. Vagrant vagrant init lnx http://lnx/lnx.box vagrant up vagrant ssh vagrant reload --provision 29 29 Vagrant Vagrant.configure("2") do |config| config.vm.box = "lnx" config.vm.provision :shell, :path => "bootstrap.sh" end 30 30 Benefits Reproducible environment Solid results Fast results Repeatable results 31 Fast feedback leads to fast fixes 32
  • 9. Minimize Dark Times Code Change Validation http://flickr.com/photos/bogenfreund/556656621/ 33 When? Day one Easiest 34 Easy? No Difficult Necessary Code 35 Alternatives 36
  • 10. flickr.com/photos/lightsinthedark/5810724330/ Work in a vacuum 37 Ruthlessly Automate! Builds Deploys Tests flickr.com/photos/pmillera4/9317924474 38 Steps Automate builds Continuous Integration Add unit tests Automate deployments Continuous Delivery Add integration tests flickr.com/photos/untitlism/2547423465 39 Your move 40
  • 11. Exercise Two 3x5 cards 3 reasons for Continuous Testing 3 barriers to adoption Pass cards to the next table Brainstorm on solutions flickr.com/photos/curtisperry/6119618990 41 Tips Open standards... Junit or Junit compatible Avoid vendor lock in Glue tools Time matters.... Fast servers Incremental change 42 Resources JUnit JUnit.org Jenkins Jenkins-ci.org BDD Dannorth.net/introducing-bdd Cucumber Cukes.info Continuous Deployment en.wikipedia.org/wiki/Continuous_delivery 43 Devops Resources VagrantUp.com GetChef.com/chef PuppetLabs.com Ansible.com VirtualBox.org 44