SlideShare une entreprise Scribd logo
1  sur  54
Télécharger pour lire hors ligne
Test Your Own Stuff!
Dealing With Dependencies Between
(and on) Agile Teams
Alex Kell
Agile Testing Days USA 2018
@wiggly
Dependencies Kill Agility
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
LOTR Wikia
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
What are some “true” dependencies?
Go to this page on your computer or
mobile device
https://pollev.com/alexkell820
and write in your own answer!
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Assumptions
https://sites.google.com/site/reflection4learning/double-loop-learning
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Dependencies
Blocker
s
Yaks Us
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Dependencies
Blocker
s
Yaks Us
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Dependencies as Blockers
Troy Aikman recollected that Deion Sanders
considered tackling a “business decision.”
Sanders responds: “Hey, these shoulders are
made for suits, not Brandon Jacobs.”
(SBNation - 11/23/2009)
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Dependencies as Blockers
Troy Aikman recollected that Deion
considered tackling a “business decision.”
Sanders responds: “Hey, these shoulders are
made for suits, not Brandon Jacobs.”
(SBNation - 11/23/2009)
Excuses
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Dependencies as Yaks
You’ve been on a call for two hours trying to upgrade the server
infrastructure for the entire company…why?
Well it all began because their tests aren’t working because our
system is down so you check the logs and determine that the system
downstream of yours is down so you try to contact their lead, but
you remember he’s on west coast time and isn’t in yet so you decide
to turn on the mocks you wrote last sprint but when you turn them
on they don’t work on the shared servers because they all have .Net
3.5 on them so you decide to upgrade the server to 4.2, but you can’t
because they belong to the Enterprise Infrastructure department and
you don’t have access rights so you call up the help desk and try to
open a ticket to get the servers upgraded…
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Dependencies of our Own Making
• Debt – We’ll build it now even though we
can’t test it
• Rules – Let’s agree or conform to a rule that
says we have to wait to test until software has
been installed on the “Test” server
• Process –
Ready In
Progres
s
Done
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Dependencies of our Own Making
• Debt – We’ll build it now even though we
can’t test it
• Rules – Let’s agree or conform to a rule that
says we have to wait to test until software has
been installed on the “Test” server
• Process –
Ready Dev QA Done
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
I M P A C T
High Impact
Low Control
Low Impact
High Control
High Impact
High control
Low Impact
Low Control
C
O
N
T
R
O
L
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
I M P A C T
High Impact
Low Control
Many “true” dependencies –
order these.
Low Impact
High Control
High Impact
High control
Test Your Own Stuff
Low Impact
Low Control
(laws, policy)
C
O
N
T
R
O
L
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Discussion
Take a few minutes and write down some dependencies you
have – maybe from what you’ve already written – see if you can
classify them based on the model:
BLOCKER YAK US
What
How to Fix Bypass/Mitigate Examine -> stop! Identify -> change
What
How to Fix Bypass/Mitigate Examine -> stop! Identify -> change
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Conway’s Law
Any organization that designs a system (defined broadly)
will produce a design whose structure is a copy of the
organization's communication structure.
– Melvin Conway
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Component Teams vs. Feature Teams
FeatureA
FeatureB
FeatureC
FeatureD
Component 1
Component 2
Component 3
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Component Teams vs. Feature Teams
FeatureA
FeatureB
FeatureC
FeatureD
Component 1
Component 2
Component 3
TEAM
TEAM
TEAM
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Component Teams vs. Feature Teams
FeatureA
FeatureB
FeatureC
FeatureD
Component 1
Component 2
Component 3
TEAM
TEAM
TEAM
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Component Teams vs. Feature Teams
FeatureA
FeatureB
FeatureC
FeatureD
Component 1
Component 2
Component 3
TEAM TEAM TEAM TEAM
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
We can’t test until the other team
finishes their:
•Service
•UI
•Database update
•API
•…
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Types of Automated Checks
Unit
UI
Smoke
Component
SystemAcceptance
Integration
Micro
Functional
Performance
Load
End-To-End
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Functional /Integration
Story /Feature
Acceptance
Simulations/Workflows
Exploratory
Usability
User Acceptance
Unit
Component
Performance
Load
Security
Other “ility”
Business Facing
SupportingtheTeam
Technology
CritiquingtheProduct
Automated
and Manual
Manual
Automated/
ToolsAutomated
Copyright @ 2009 Crispin/Gregory
Unit
A Test is NOT a unit test if
• It talks to the database
• It communicates across the network
• It touches the file system
• It can’t run at the same time as any of your
other unit tests
• You have to do special things to the
environment (like editing config files) to run it
Michael Feathers
http://www.artima.com/weblogs/viewpost.jsp?thread=126923
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Why Unit Checks?
Or
Integration Tests are a Scam!
10
States
10
States
10
States
5 interactions
5 interactions
5 interactions
Functional
Grenning
http://www.renaissancesoftware.net/blog/archives/514#more-514
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
10
States
10
States
10
States
5 interactions
5 interactions
5 interactions
Unit
Unit
Grenning
http://www.renaissancesoftware.net/blog/archives/514#more-514
Why Unit Checks?
Or
Integration Tests are a Scam!
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Calculator Example
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Functional
• Check the interactions of one or more
component within the system
• Do make use of configurations, networks,
databases, and file systems
• Sometimes check performance
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Acceptance
• Ideally written during “refinement”
• Given/When/Then format
• Like Functional tests, but not as
comprehensive
• Meant as a:
– Guide for the team
– Progress checker for the Feature team
– Documentation for internal and external people
• Automated!
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
ATDD
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
End-to-end
Functional
Unit
Exploratory
The Test
Automation
Pyramid
Originated by Mike Cohn
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
End-to-end
Functional
Unit
Acceptance
Acceptance
Acceptance
Exploratory
The Test
Automation
Pyramid
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
End-to-end
Functional
Unit
Acceptance
Acceptance
Acceptance
Exploratory
Exploratory
Exploratory
The Test
Automation
Pyramid
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
How do we decide what
tests we
need?
Continuous Integration
• You should do it – drives changes in behavior
• Gated check-ins? Yes or No
Build Type Unit Functional Acceptance
Check-in/On-Demand X ?
“Nightly” X X ?
Deployments X X X
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Service
Service Service
Application
DB
DB
External System External System
Service
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Example Functional Tests
• Consumer Driven Contracts
{“Id”:123456,
”AccountType”:”Checking”,
”AccountNum”:”495928832”,
”Amount”:250,
”SenderId”:5555,
”ReceiverId”:4444}
Consumer 1
Consumer 2
Consumer 3
{“Id”:123456,
”AccountType”:”Checking”,
”Amount”:250}
{“Id”:123456,
”SenderId”:5555} {“Id”:123456,
”AccountType”:”Checking”,
”AccountNum”:”495928832”,
”Amount”:250,
”ReceiverId”:4444}
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Example Functional Tests
• Consumer Driven Contracts
{“Id”:123456,
”AccountType”:”Checking”,
”AccountNum”:”495928832”,
”Amount”:250,
”SenderId”:5555,
”ReceiverId”:4444}
Consumer 1
Consumer 2
Consumer 3
{“Id”:123456,
”AccountType”:”Checking”,
”Amount”:250}
{“Id”:123456,
”SenderId”:5555} {“Id”:123456,
”AccountType”:”Checking”,
”AccountNum”:”495928832”,
”Amount”:250,
”ReceiverId”:4444}
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Example Functional Tests
• Consumer Driven Contracts
{“Id”:123456,
”AccountType”:”Checking”,
”AccountNum”:”495928832”,
”Amount”:250,
”SenderId”:5555,
”ReceiverId”:4444}
Consumer 1
Consumer 2
Consumer 3
{“Id”:123456,
”AccountType”:”Checking”,
”Amount”:250}
{“Id”:123456,
”SenderId”:5555} {“Id”:123456,
”AccountType”:”Checking”,
”AccountNum”:”495928832”,
”Amount”:250,
”ReceiverId”:4444}
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Example Functional Tests
• Consumer Driven Contracts
{“Id”:123456,
”AccountType”:”Checking”,
”AccountNum”:”495928832”,
”Amount”:250,
”SenderId”:5555,
”ReceiverId”:4444}
Consumer 1
Consumer 2
Consumer 3
{“Id”:123456,
”AccountType”:”Checking”,
”Amount”:250}
{“Id”:123456,
”SenderId”:5555} {“Id”:123456,
”AccountType”:”Checking”,
”AccountNum”:”495928832”,
”Amount”:250,
”ReceiverId”:4444}
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Example Functional Tests
• Consumer Driven Contracts
{“Id”:123456,
”AccountType”:”Checking”,
”AccountNumber”:”495928832”,
”Amount”:250,
”SenderId”:5555,
”ReceiverId”:4444}
Consumer 1
Consumer 2
Consumer 3
{“Id”:123456,
”AccountType”:”Checking”,
”Amount”:250}
{“Id”:123456,
”SenderId”:5555} {“Id”:123456,
”AccountType”:”Checking”,
”AccountNum”:”495928832”,
”Amount”:250,
”ReceiverId”:4444}
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Example Functional Tests
• Consumer Driven Contracts
{“Id”:123456,
”AccountType”:”Checking”,
”AccountNum”:”495928832”,
”Amount”:250,
”SenderId”:5555,
”ReceiverId”:4444,
“Duration”,.005}
Consumer 1
Consumer 2
Consumer 3
{“Id”:123456,
”AccountType”:”Checking”,
”Amount”:250}
{“Id”:123456,
”SenderId”:5555} {“Id”:123456,
”AccountType”:”Checking”,
”AccountNum”:”495928832”,
”Amount”:250,
”ReceiverId”:4444}
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
Wait, but…You can’t go
to Prod like this!!
Wait, but…You can’t go
to Prod like this!!
Yes, um…you can, and
we have many times!
ASTEROID
Debit Card Network
Payment
Service
Payment
Service
SIMULATOR/MOCKS
Promote to Production
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
ASTEROID
Debit Card Network
Payment
Service
Payment
Service
SIMULATOR/MOCKS
ISO
Format
ISO
Format
Promote to Production
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
References
• XUnit Patterns – Gerald Meszaros
• Developsense blog – Michael Bolton
• Dependencies Break Agile – Michael Cottmeyer
• I’ve got Integration and System Tests, Why do I Need Unit Tests? – James
Grenning
• Integration Tests are a Scam! – J.B. Rainsberger
• Managing Requirements Dependencies Between Agile Teams – Scott
Ambler
• Driving Development With Tests: ATDD and TDD – Elisabeth Hendrickson
• Consumer Driven Contracts – Ian Robinson
• Feature Teams (LeSS) – Bass Vodde, Craig Larman
• Conway’s Law – Melvin Conway
• Don’t Shave That Yak – Seth Godin
@wiggly Agile Testing Days USA 2018 #AgileTDUSA
@wiggly
ManageToTest.com
Tester
Architect
Agile Coach

Contenu connexe

Tendances

Making testability our mission
Making testability our missionMaking testability our mission
Making testability our mission
Ash Winter
 

Tendances (20)

Test Driven Development on Android (Kotlin Kenya)
Test Driven Development on Android (Kotlin Kenya)Test Driven Development on Android (Kotlin Kenya)
Test Driven Development on Android (Kotlin Kenya)
 
ATAGTR2017 Test the REST
ATAGTR2017 Test the REST ATAGTR2017 Test the REST
ATAGTR2017 Test the REST
 
ATAGTR2017 Security Test Driven Development (STDD)
ATAGTR2017 Security Test Driven Development (STDD)ATAGTR2017 Security Test Driven Development (STDD)
ATAGTR2017 Security Test Driven Development (STDD)
 
ATAGTR2017 Static and dynamic code analysis for mobile applications - Act ear...
ATAGTR2017 Static and dynamic code analysis for mobile applications - Act ear...ATAGTR2017 Static and dynamic code analysis for mobile applications - Act ear...
ATAGTR2017 Static and dynamic code analysis for mobile applications - Act ear...
 
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debugging
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debuggingATAGTR2017 Upgrading a mobile tester's weapons with advanced debugging
ATAGTR2017 Upgrading a mobile tester's weapons with advanced debugging
 
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
Performance Metrics Driven CI/CD - Introduction to Continuous Innovation and ...
 
End-to-end performance testing, profiling, and analysis at Redis
End-to-end performance testing, profiling, and analysis at RedisEnd-to-end performance testing, profiling, and analysis at Redis
End-to-end performance testing, profiling, and analysis at Redis
 
CI doesn’t start with Jenkins
CI doesn’t start with JenkinsCI doesn’t start with Jenkins
CI doesn’t start with Jenkins
 
ATAGTR2017 Artificial Intelligence in Software Testing – Demystified
ATAGTR2017 Artificial Intelligence in Software Testing – DemystifiedATAGTR2017 Artificial Intelligence in Software Testing – Demystified
ATAGTR2017 Artificial Intelligence in Software Testing – Demystified
 
Bit Rot in the Docs
Bit Rot in the DocsBit Rot in the Docs
Bit Rot in the Docs
 
Atlassian User Group NYC April 27 2017 Presentations
Atlassian User Group NYC April 27 2017 PresentationsAtlassian User Group NYC April 27 2017 Presentations
Atlassian User Group NYC April 27 2017 Presentations
 
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
ATAGTR2017 Keeping pace with Product Evolution: UI Automation Framework Guide...
 
Enabling Microservices @Orbitz - DevOpsDays Chicago 2015
Enabling Microservices @Orbitz - DevOpsDays Chicago 2015Enabling Microservices @Orbitz - DevOpsDays Chicago 2015
Enabling Microservices @Orbitz - DevOpsDays Chicago 2015
 
Adopting a security attitude in DevOps via DevOpsSec
Adopting a security attitude in DevOps via DevOpsSecAdopting a security attitude in DevOps via DevOpsSec
Adopting a security attitude in DevOps via DevOpsSec
 
ATAGTR2017 Bee-Hive approach for Big Data Testing [End to End Continuous Test...
ATAGTR2017 Bee-Hive approach for Big Data Testing [End to End Continuous Test...ATAGTR2017 Bee-Hive approach for Big Data Testing [End to End Continuous Test...
ATAGTR2017 Bee-Hive approach for Big Data Testing [End to End Continuous Test...
 
Making testability our mission
Making testability our missionMaking testability our mission
Making testability our mission
 
Diving into the World of Test Automation The Approach and the Technologies
Diving into the World of Test Automation The Approach and the TechnologiesDiving into the World of Test Automation The Approach and the Technologies
Diving into the World of Test Automation The Approach and the Technologies
 
The Power of RxJS in Nativescript + Angular
The Power of RxJS in Nativescript + AngularThe Power of RxJS in Nativescript + Angular
The Power of RxJS in Nativescript + Angular
 
DOES SFO 2016 - Topo Pal - DevOps at Capital One
DOES SFO 2016 - Topo Pal - DevOps at Capital OneDOES SFO 2016 - Topo Pal - DevOps at Capital One
DOES SFO 2016 - Topo Pal - DevOps at Capital One
 
Atlassian User Group NYC April 27 2017 ScriptRunner Workshop
Atlassian User Group NYC April 27 2017 ScriptRunner WorkshopAtlassian User Group NYC April 27 2017 ScriptRunner Workshop
Atlassian User Group NYC April 27 2017 ScriptRunner Workshop
 

Similaire à Test your own stuff agile testing days usa 2018

Similaire à Test your own stuff agile testing days usa 2018 (20)

Test Your Own Stuff - Scrum Atlanta 2015
Test Your Own Stuff - Scrum Atlanta 2015Test Your Own Stuff - Scrum Atlanta 2015
Test Your Own Stuff - Scrum Atlanta 2015
 
Cultural learnings of testing for make benefit glorious nation of startup
Cultural learnings of testing for make benefit glorious nation of startupCultural learnings of testing for make benefit glorious nation of startup
Cultural learnings of testing for make benefit glorious nation of startup
 
Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and When
 
Behavioral driven development the compelling story For Testers
Behavioral driven development    the compelling story For TestersBehavioral driven development    the compelling story For Testers
Behavioral driven development the compelling story For Testers
 
Code Review: How and When
Code Review: How and WhenCode Review: How and When
Code Review: How and When
 
End-end tests as first class citizens - SeleniumConf 2020
End-end tests as first class citizens - SeleniumConf 2020End-end tests as first class citizens - SeleniumConf 2020
End-end tests as first class citizens - SeleniumConf 2020
 
20170807 - How to Fail Your TDD Rollout - A Train Wreck Story
20170807 - How to Fail Your TDD Rollout - A Train Wreck Story20170807 - How to Fail Your TDD Rollout - A Train Wreck Story
20170807 - How to Fail Your TDD Rollout - A Train Wreck Story
 
Agile Testing - Testing From Day 1
Agile Testing - Testing From Day 1Agile Testing - Testing From Day 1
Agile Testing - Testing From Day 1
 
A confused tester in agile world finalversion
A confused tester in agile world finalversionA confused tester in agile world finalversion
A confused tester in agile world finalversion
 
Agile testing - Testing From Day 1
Agile testing - Testing From Day 1Agile testing - Testing From Day 1
Agile testing - Testing From Day 1
 
How to Build a Metrics-optimized Software Delivery Pipeline
How to Build a Metrics-optimized Software Delivery PipelineHow to Build a Metrics-optimized Software Delivery Pipeline
How to Build a Metrics-optimized Software Delivery Pipeline
 
Agile Testing - Testing from Day 1
Agile Testing - Testing from Day 1Agile Testing - Testing from Day 1
Agile Testing - Testing from Day 1
 
Holistic testing in DevOps
Holistic testing in DevOpsHolistic testing in DevOps
Holistic testing in DevOps
 
Testing in Agile Development
Testing in Agile DevelopmentTesting in Agile Development
Testing in Agile Development
 
QA in an Agile Environment
QA in an Agile EnvironmentQA in an Agile Environment
QA in an Agile Environment
 
#ATAGTR2020 Presentation - Redefining DevOps for seamless performance testing
#ATAGTR2020 Presentation - Redefining DevOps for seamless performance testing#ATAGTR2020 Presentation - Redefining DevOps for seamless performance testing
#ATAGTR2020 Presentation - Redefining DevOps for seamless performance testing
 
Accelerating Your Test Execution Pipeline
Accelerating Your Test Execution PipelineAccelerating Your Test Execution Pipeline
Accelerating Your Test Execution Pipeline
 
Accelerating Your Test Execution Pipeline
Accelerating Your Test Execution PipelineAccelerating Your Test Execution Pipeline
Accelerating Your Test Execution Pipeline
 
Easier and faster tagging with Kermit
Easier and faster tagging with KermitEasier and faster tagging with Kermit
Easier and faster tagging with Kermit
 
Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing Introduction
 

Dernier

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
VictorSzoltysek
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Dernier (20)

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 ...
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
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
 
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
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
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
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
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...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
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
 
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
 
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...
 
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
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 

Test your own stuff agile testing days usa 2018

  • 1. Test Your Own Stuff! Dealing With Dependencies Between (and on) Agile Teams Alex Kell Agile Testing Days USA 2018 @wiggly
  • 2. Dependencies Kill Agility @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 3. @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 4. LOTR Wikia @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 5. What are some “true” dependencies? Go to this page on your computer or mobile device https://pollev.com/alexkell820 and write in your own answer! @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 7. Dependencies Blocker s Yaks Us @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 8. Dependencies Blocker s Yaks Us @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 9. Dependencies as Blockers Troy Aikman recollected that Deion Sanders considered tackling a “business decision.” Sanders responds: “Hey, these shoulders are made for suits, not Brandon Jacobs.” (SBNation - 11/23/2009) @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 10. Dependencies as Blockers Troy Aikman recollected that Deion considered tackling a “business decision.” Sanders responds: “Hey, these shoulders are made for suits, not Brandon Jacobs.” (SBNation - 11/23/2009) Excuses @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 11. Dependencies as Yaks You’ve been on a call for two hours trying to upgrade the server infrastructure for the entire company…why? Well it all began because their tests aren’t working because our system is down so you check the logs and determine that the system downstream of yours is down so you try to contact their lead, but you remember he’s on west coast time and isn’t in yet so you decide to turn on the mocks you wrote last sprint but when you turn them on they don’t work on the shared servers because they all have .Net 3.5 on them so you decide to upgrade the server to 4.2, but you can’t because they belong to the Enterprise Infrastructure department and you don’t have access rights so you call up the help desk and try to open a ticket to get the servers upgraded… @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 12. Dependencies of our Own Making • Debt – We’ll build it now even though we can’t test it • Rules – Let’s agree or conform to a rule that says we have to wait to test until software has been installed on the “Test” server • Process – Ready In Progres s Done @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 13. Dependencies of our Own Making • Debt – We’ll build it now even though we can’t test it • Rules – Let’s agree or conform to a rule that says we have to wait to test until software has been installed on the “Test” server • Process – Ready Dev QA Done @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 14. I M P A C T High Impact Low Control Low Impact High Control High Impact High control Low Impact Low Control C O N T R O L @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 15. I M P A C T High Impact Low Control Many “true” dependencies – order these. Low Impact High Control High Impact High control Test Your Own Stuff Low Impact Low Control (laws, policy) C O N T R O L @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 16. Discussion Take a few minutes and write down some dependencies you have – maybe from what you’ve already written – see if you can classify them based on the model: BLOCKER YAK US What How to Fix Bypass/Mitigate Examine -> stop! Identify -> change What How to Fix Bypass/Mitigate Examine -> stop! Identify -> change @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 17. Conway’s Law Any organization that designs a system (defined broadly) will produce a design whose structure is a copy of the organization's communication structure. – Melvin Conway @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 18. Component Teams vs. Feature Teams FeatureA FeatureB FeatureC FeatureD Component 1 Component 2 Component 3 @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 19. Component Teams vs. Feature Teams FeatureA FeatureB FeatureC FeatureD Component 1 Component 2 Component 3 TEAM TEAM TEAM @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 20. Component Teams vs. Feature Teams FeatureA FeatureB FeatureC FeatureD Component 1 Component 2 Component 3 TEAM TEAM TEAM @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 21. Component Teams vs. Feature Teams FeatureA FeatureB FeatureC FeatureD Component 1 Component 2 Component 3 TEAM TEAM TEAM TEAM @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 22. We can’t test until the other team finishes their: •Service •UI •Database update •API •… @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 23. Types of Automated Checks Unit UI Smoke Component SystemAcceptance Integration Micro Functional Performance Load End-To-End @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 24. Functional /Integration Story /Feature Acceptance Simulations/Workflows Exploratory Usability User Acceptance Unit Component Performance Load Security Other “ility” Business Facing SupportingtheTeam Technology CritiquingtheProduct Automated and Manual Manual Automated/ ToolsAutomated Copyright @ 2009 Crispin/Gregory
  • 25. Unit A Test is NOT a unit test if • It talks to the database • It communicates across the network • It touches the file system • It can’t run at the same time as any of your other unit tests • You have to do special things to the environment (like editing config files) to run it Michael Feathers http://www.artima.com/weblogs/viewpost.jsp?thread=126923 @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 26. Why Unit Checks? Or Integration Tests are a Scam! 10 States 10 States 10 States 5 interactions 5 interactions 5 interactions Functional Grenning http://www.renaissancesoftware.net/blog/archives/514#more-514 @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 27. 10 States 10 States 10 States 5 interactions 5 interactions 5 interactions Unit Unit Grenning http://www.renaissancesoftware.net/blog/archives/514#more-514 Why Unit Checks? Or Integration Tests are a Scam! @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 28. Calculator Example @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 29. @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 30. Functional • Check the interactions of one or more component within the system • Do make use of configurations, networks, databases, and file systems • Sometimes check performance @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 31. Acceptance • Ideally written during “refinement” • Given/When/Then format • Like Functional tests, but not as comprehensive • Meant as a: – Guide for the team – Progress checker for the Feature team – Documentation for internal and external people • Automated! @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 32. ATDD @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 33. End-to-end Functional Unit Exploratory The Test Automation Pyramid Originated by Mike Cohn @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 36.
  • 37. How do we decide what tests we need?
  • 38. Continuous Integration • You should do it – drives changes in behavior • Gated check-ins? Yes or No Build Type Unit Functional Acceptance Check-in/On-Demand X ? “Nightly” X X ? Deployments X X X @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 39. @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 40. Service Service Service Application DB DB External System External System Service @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 41.
  • 42. Example Functional Tests • Consumer Driven Contracts {“Id”:123456, ”AccountType”:”Checking”, ”AccountNum”:”495928832”, ”Amount”:250, ”SenderId”:5555, ”ReceiverId”:4444} Consumer 1 Consumer 2 Consumer 3 {“Id”:123456, ”AccountType”:”Checking”, ”Amount”:250} {“Id”:123456, ”SenderId”:5555} {“Id”:123456, ”AccountType”:”Checking”, ”AccountNum”:”495928832”, ”Amount”:250, ”ReceiverId”:4444} @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 43. Example Functional Tests • Consumer Driven Contracts {“Id”:123456, ”AccountType”:”Checking”, ”AccountNum”:”495928832”, ”Amount”:250, ”SenderId”:5555, ”ReceiverId”:4444} Consumer 1 Consumer 2 Consumer 3 {“Id”:123456, ”AccountType”:”Checking”, ”Amount”:250} {“Id”:123456, ”SenderId”:5555} {“Id”:123456, ”AccountType”:”Checking”, ”AccountNum”:”495928832”, ”Amount”:250, ”ReceiverId”:4444} @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 44. Example Functional Tests • Consumer Driven Contracts {“Id”:123456, ”AccountType”:”Checking”, ”AccountNum”:”495928832”, ”Amount”:250, ”SenderId”:5555, ”ReceiverId”:4444} Consumer 1 Consumer 2 Consumer 3 {“Id”:123456, ”AccountType”:”Checking”, ”Amount”:250} {“Id”:123456, ”SenderId”:5555} {“Id”:123456, ”AccountType”:”Checking”, ”AccountNum”:”495928832”, ”Amount”:250, ”ReceiverId”:4444} @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 45. Example Functional Tests • Consumer Driven Contracts {“Id”:123456, ”AccountType”:”Checking”, ”AccountNum”:”495928832”, ”Amount”:250, ”SenderId”:5555, ”ReceiverId”:4444} Consumer 1 Consumer 2 Consumer 3 {“Id”:123456, ”AccountType”:”Checking”, ”Amount”:250} {“Id”:123456, ”SenderId”:5555} {“Id”:123456, ”AccountType”:”Checking”, ”AccountNum”:”495928832”, ”Amount”:250, ”ReceiverId”:4444} @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 46. Example Functional Tests • Consumer Driven Contracts {“Id”:123456, ”AccountType”:”Checking”, ”AccountNumber”:”495928832”, ”Amount”:250, ”SenderId”:5555, ”ReceiverId”:4444} Consumer 1 Consumer 2 Consumer 3 {“Id”:123456, ”AccountType”:”Checking”, ”Amount”:250} {“Id”:123456, ”SenderId”:5555} {“Id”:123456, ”AccountType”:”Checking”, ”AccountNum”:”495928832”, ”Amount”:250, ”ReceiverId”:4444} @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 47. Example Functional Tests • Consumer Driven Contracts {“Id”:123456, ”AccountType”:”Checking”, ”AccountNum”:”495928832”, ”Amount”:250, ”SenderId”:5555, ”ReceiverId”:4444, “Duration”,.005} Consumer 1 Consumer 2 Consumer 3 {“Id”:123456, ”AccountType”:”Checking”, ”Amount”:250} {“Id”:123456, ”SenderId”:5555} {“Id”:123456, ”AccountType”:”Checking”, ”AccountNum”:”495928832”, ”Amount”:250, ”ReceiverId”:4444} @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 48.
  • 49. Wait, but…You can’t go to Prod like this!!
  • 50. Wait, but…You can’t go to Prod like this!! Yes, um…you can, and we have many times!
  • 51. ASTEROID Debit Card Network Payment Service Payment Service SIMULATOR/MOCKS Promote to Production @wiggly Agile Testing Days USA 2018 #AgileTDUSA
  • 53. References • XUnit Patterns – Gerald Meszaros • Developsense blog – Michael Bolton • Dependencies Break Agile – Michael Cottmeyer • I’ve got Integration and System Tests, Why do I Need Unit Tests? – James Grenning • Integration Tests are a Scam! – J.B. Rainsberger • Managing Requirements Dependencies Between Agile Teams – Scott Ambler • Driving Development With Tests: ATDD and TDD – Elisabeth Hendrickson • Consumer Driven Contracts – Ian Robinson • Feature Teams (LeSS) – Bass Vodde, Craig Larman • Conway’s Law – Melvin Conway • Don’t Shave That Yak – Seth Godin @wiggly Agile Testing Days USA 2018 #AgileTDUSA