SlideShare a Scribd company logo
Testing within an agile environment 
Chris Gollop & Beyza Sakir
Overview 
History 
Changing Testing Concerns 
Adaptations 
Future 
Conclusion 
Further Reading
History – what we do 
Release every 2 weeks 
Trade $billions/day 
Average 0.4ms execution time for MTF members 
10,000 orders second 
1 tester per 5-6 developers 
Very low rate of production issues
History - company 
Conceived as an Agile company 
Agile has matured but we’re still adapting 
Agile testing: 
Acceptance Tests 
Integration Tests 
Exploratory Testing
History - company 
•This has allowed us to experiment and adapt: 
•Time freed up 
•Quick feedback on changes 
•Historic data available to analyse
History – test team 
4 test specialists with different strengths complement each other as a 'team‘ 
Rotate through all teams 
•No Test Manager 
•Part of development team though test interests have a separate iteration 
meeting 
•Testing is responsibility of everyone
History – team structure 
l 
Team One Team Two Team Three 
Development Specialists 
Business Specialists 
Test Specialists
History - innovate 
Keep changing, even if something appears to work there may be something 
better 
“If I had asked people what they wanted, they would have said faster horses. I 
gave them a car” (Henry Ford)
History – measure and feedback 
Measure 
To know if it is effective 
Many monitoring and measuring tools 
Feedback 
Tying feedback to ideas 
Quicker this is the faster you can confidently adapt 
Can be numerical or social
Changing Testing Concerns Over Time 
Traditional Testing Maturity Models start at “ad-hoc” and move through 
structured testing before finishing at “Continuous Improvement” 
Some of our test concerns (over time) 
Decrease Manual Testing & increase automated Acceptance Tests 
Performance 
DSL 
Speed of Feedback 
Increasing number of Edge Cases as system becomes more complex
Changing Testing Concerns Over Time 
10,000 Behavioural Tests 
8,700 Acceptance Tests (UI, API) 
1,300 Integration Tests (subsets of services using internal interfaces) 
Acceptance Test would test a rejection 
Integration Tests would test the different rejection types
Changing Testing Concerns Over Time 
Was right at the time as needed Acceptance Tests to get good coverage 
quickly, trade-off is they are slower to run repeatedly. 
Focus is now quicker feedback.
Adaptations – Fitness Landscape
Adaptations – Fitness Landscape 
Each square is similar to it's neighbour 
Higher it is the better the solution – valleys are bad, mountaintops are good 
You don't fully know where you are on the landscape 
You feel your way by trying out new ideas and recognising failure 
You may be half-way up the mountain rather than at the top 
And the mountains move! 
Some peaks move faster than others: 
Google v McDonalds 
Evolution isn't just biological it's everywhere
Adaptations – Palchinsky Principles 
Peter Palchinsky was a Russian engineer who advised on (against) Lenin Dam and 
Magnitogorsk – large projects which essentially failed due to being too big and unable 
to adapt. 
Palchinsky Principles are shaped to encourage stronger innovation, better leadership 
and more effective policies: 
Variation - seek out new ideas and try new ideas 
Survivability - when trying something new do it on a scale where failure is 
survivable 
Selection - seek out feedback and learn from mistakes as you go along, avoid an 
instinctive reaction of denial
Adaptations – Recognise failure quickly 
Being able to recognize a failure means you can re-cast it into something more likely to 
succeed. 
Accept something is failing, don’t deny or ignore it. 
"Hard to see what changes would improve current process when they’re currently 
sweeping all problems under the ‘our context’ rug." (Anthony Green) 
The essential first step is being willing to fail.
Adaptations - Google v Apple 
Both considered as innovative companies. 
Apple innovates in things that are core to its business 
Google innovates on things that indirectly contribute to its business 
Apple releases products that are polished and well-scoped 
Google releases many different products (Buzz, Wave, Docs, AppEngine) early in their 
development and lets the community develop and adapt them. 
Apple create new mountains on the fitness landscape 
Google is surfing along on, or near, the moving fitness landscape mountain-top by 
adapting its strategy and offerings.
Adaptations – a brief history of what we have tried
Adaptations – what worked 
Production Data 
Testing in Live 
Big Feedback 
Remove Intermittent Tests 
Tester Pairing
Adaptations – Sanitised Production Data 
Raw data (database) 
Patterns of use 
Data profile patterns 
Migration (automated) 
Real world data 
Larger than we can create 
Many edge cases 
Try and reincorporate into our Acceptance Tests 
Performance 
Staging 
Progression in what and how we use the data
Adaptations – Testing in Live 
Uses same hardware and code as it is just an isolated venue 
Runs a subset of the Acceptance Tests 
When we expanded our Exchange by adding a multi-tenanted concept known 
as a venue we took advantage for testing 
Verifies that the various components of the exchange are hooked up and 
configured correctly and that the deployment process worked correctly 
Runs automatically throughout the day as one of our monitoring systems
Adaptations – Big Feedback
Adaptations – Big Feedback 
Important CI pipeline builds at the top 
Red (failed) items rise to the top 
Continuously and easily expanded 
Useful features survive 
Failure ownership/failures at a glance - AutoTrish 
Intermittent tests - Magic Eight Ball 
Auto Embargo 
Performance metrics 
Build sheriff to keep check-in embargo
Adaptations – Intermittent Tests 
Tests that can fail even if feature is working 
Now have <1 intermittent tests per run (out of 8,200) 
Each about 1 test run in 20 
Hides genuine failures 
Have previously missed a release as couldn't tell if genuine 
Can result from 
Asynchronous messaging 
Tests changing global settings/lack of isolation 
End of day transitions 
Date/time
Adaptations – Intermittent Tests 
anon 
anon
Adaptations – Intermittent Tests 
All Failures run twice 
Fail twice = failure 
Fail once, pass once = intermittent 
Accepted as something we need to deal with 
Work to remove 
DSL improvement 
Fix a genuine issue (race condition) 
End of iteration is given over to removing intermittency 
Build Sheriff also works on this
Adaptations – Intermittent Tests
Adaptations – Intermittent Tests
Adaptations – Tester Pairing 
Each tester has their own strengths 
Noticed that at rotation handover the new tester generally found a bug 
Issue with the testers (denial) 
Something we can harness (acceptance) 
Already do development pairing (Dev & Dev and Dev & Tester) 
When do we pair? 
At the right time for the story 
Initial brainstorming when creating a mindmap 
When we feel we need to (pull) 
When someone has time (push)
Adaptations – mindmap
Adaptations – what didn't work 
Not many absolute failures 
Although many reasons it can fail 
Even if something fails you learn something 
Natural selection will continue 
You can't stay still, unless you are improving you are losing ground as others 
will innovate or adapt
Adaptations – facts 
Of the top 25 industrial corporations in the United States in 1900, only two 
remained on that list at the start of the 1960s. And of the top 25 companies on 
the Fortune 500 in 1961, only six remain there today (IBM) 
Average life expectancy of a Fortune 500 company has declined from around 
75 years half a century ago to less than 15 years today, and heading towards 5 
years (Deloitte)
Future 
Expanding the way we test 
Speed up feedback 
Increasing integration test coverage 
Pushing UI to API – testing at the right layer 
Change AT run order 
Improving feedback/communication 
Test team standups 
Documentation 
What is just enough 
How to get people up to speed in a complex system
Future 
Is about the people 
Team make-up is varied and we recruit to keep it this way 
“’Testing is a strictly formal process that by its nature should not vary’ - this is a 
typical belief by people who know nothing about testing.” (James Bach).
Conclusion 
Need to experiment and adapt to stay ahead 
Even if something works it does not mean there isn't something better 
Make changes on a scale where failure can be survived 
Do not be afraid of failure but know how to recognise it quickly
Further Reading 
•Tim Harford 
•Richard Wiseman 
•Malcolm Gladwell 
•Daniel Kahneman 
•Dan Ariely 
•Richard Thaler 
•LMAX Staff blogs - http://blogs.lmax.com/staff-blogs/
Testing within an Agile Environment - Beyza Sakir and Chris Gollop

More Related Content

What's hot (20)

PPT
A scientific method to develop people
Pierre Jannez
 
PDF
Self-Service Operations: Because Ops Still Happens
Rundeck
 
PDF
Keeping Your DevOps Transformation From Crushing Your Ops Capacity
Rundeck
 
PPT
TesTrek Notes
Maira Bay de Souza
 
PPTX
Systematic Inventive Thinking and Process improvements
Karthik Srinivasan
 
PDF
[HCMC STC Jan 2015] Choosing The Best Of The Plan-Driven And Agile Developmen...
Ho Chi Minh City Software Testing Club
 
PDF
Operations as a Service: Because Failure Still Happens
Rundeck
 
PDF
The "Ops" Side of DevSecOps
Rundeck
 
PDF
Agile Bill.Lean Primer.0906a
Agile Dimensions LLC
 
PPTX
Using flow approaches to effectively manage agile testing at the enterprise l...
Yuval Yeret
 
PPT
DevOps 101 for Government
Sanjeev Sharma
 
PDF
DevOps vs The Enterprise
CloudCheckr
 
PDF
PopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
Claudio Perrone
 
PDF
Agile 2014- Metrics driven development and devops
Karthik Gaekwad
 
PPTX
Trends in Agile Software
Steve Rogalsky
 
PDF
DevOps & Security from an Enterprise Toolsmith's Perspective
dev2ops
 
PDF
DevOps Kaizen: Practical Steps to Start & Sustain an Organization’s Transform...
Rundeck
 
PPTX
DevOps unraveled - Nyenrode masterclass on Agile Management
Inspectie van het Onderwijs
 
PPTX
Eric Ries sllconf keynote: state of the lean startup movement
Eric Ries
 
PDF
Lean Security
Ben Johnson
 
A scientific method to develop people
Pierre Jannez
 
Self-Service Operations: Because Ops Still Happens
Rundeck
 
Keeping Your DevOps Transformation From Crushing Your Ops Capacity
Rundeck
 
TesTrek Notes
Maira Bay de Souza
 
Systematic Inventive Thinking and Process improvements
Karthik Srinivasan
 
[HCMC STC Jan 2015] Choosing The Best Of The Plan-Driven And Agile Developmen...
Ho Chi Minh City Software Testing Club
 
Operations as a Service: Because Failure Still Happens
Rundeck
 
The "Ops" Side of DevSecOps
Rundeck
 
Agile Bill.Lean Primer.0906a
Agile Dimensions LLC
 
Using flow approaches to effectively manage agile testing at the enterprise l...
Yuval Yeret
 
DevOps 101 for Government
Sanjeev Sharma
 
DevOps vs The Enterprise
CloudCheckr
 
PopcornFlow: Continuous Evolution Through Ultra-Rapid Experimentation
Claudio Perrone
 
Agile 2014- Metrics driven development and devops
Karthik Gaekwad
 
Trends in Agile Software
Steve Rogalsky
 
DevOps & Security from an Enterprise Toolsmith's Perspective
dev2ops
 
DevOps Kaizen: Practical Steps to Start & Sustain an Organization’s Transform...
Rundeck
 
DevOps unraveled - Nyenrode masterclass on Agile Management
Inspectie van het Onderwijs
 
Eric Ries sllconf keynote: state of the lean startup movement
Eric Ries
 
Lean Security
Ben Johnson
 

Viewers also liked (18)

PDF
Performance and Predictability - Richard Warburton
JAXLondon2014
 
PDF
The Economies of Scaling Software - Josh Long and Abdelmonaim Remani
JAXLondon2014
 
PDF
Why do we create Software - Roman Pichler
JAXLondon2014
 
PPTX
Hands on Data Grids - Stephen Milidge
JAXLondon2014
 
PDF
Agile considered Harmful - Nigel Runnels-Moss
JAXLondon2014
 
PDF
Spocktacular Testing - Russel Winder
JAXLondon2014
 
PDF
Introduction to Android Wear - Peter Friese
JAXLondon2014
 
PDF
Pushing Java EE outside of the Enterprise: Home Automation and IoT - David De...
JAXLondon2014
 
PDF
Apache Stratos: the PaaS from Apache - Lakmal Warusawithana
JAXLondon2014
 
PPT
API Management - a hands on workshop - Paul Fremantle
JAXLondon2014
 
PDF
How do you know your Solution will make an Impact? - Björn Brynjar Jonsson
JAXLondon2014
 
PDF
The Full Stack Java Developer - Josh Long
JAXLondon2014
 
PDF
Building effective Java applications for the Cloud: The DHARMA principles - D...
JAXLondon2014
 
PDF
Building Microservices with Scala, functional domain models and Spring Boot -...
JAXLondon2014
 
PPTX
Crafted Design - Sandro Mancuso
JAXLondon2014
 
PDF
Open Source workflow automation with BPMN 2.0, Java and camunda - Bernd Rücker
JAXLondon2014
 
PDF
Enterprise Integration Agility - Jeremy Deane
JAXLondon2014
 
PDF
Detecting Events on the Web in Real Time with Java, Kafka and ZooKeeper - Jam...
JAXLondon2014
 
Performance and Predictability - Richard Warburton
JAXLondon2014
 
The Economies of Scaling Software - Josh Long and Abdelmonaim Remani
JAXLondon2014
 
Why do we create Software - Roman Pichler
JAXLondon2014
 
Hands on Data Grids - Stephen Milidge
JAXLondon2014
 
Agile considered Harmful - Nigel Runnels-Moss
JAXLondon2014
 
Spocktacular Testing - Russel Winder
JAXLondon2014
 
Introduction to Android Wear - Peter Friese
JAXLondon2014
 
Pushing Java EE outside of the Enterprise: Home Automation and IoT - David De...
JAXLondon2014
 
Apache Stratos: the PaaS from Apache - Lakmal Warusawithana
JAXLondon2014
 
API Management - a hands on workshop - Paul Fremantle
JAXLondon2014
 
How do you know your Solution will make an Impact? - Björn Brynjar Jonsson
JAXLondon2014
 
The Full Stack Java Developer - Josh Long
JAXLondon2014
 
Building effective Java applications for the Cloud: The DHARMA principles - D...
JAXLondon2014
 
Building Microservices with Scala, functional domain models and Spring Boot -...
JAXLondon2014
 
Crafted Design - Sandro Mancuso
JAXLondon2014
 
Open Source workflow automation with BPMN 2.0, Java and camunda - Bernd Rücker
JAXLondon2014
 
Enterprise Integration Agility - Jeremy Deane
JAXLondon2014
 
Detecting Events on the Web in Real Time with Java, Kafka and ZooKeeper - Jam...
JAXLondon2014
 
Ad

Similar to Testing within an Agile Environment - Beyza Sakir and Chris Gollop (20)

PPT
Trends in Agile Testing by Lisa Crispin
Directi Group
 
PDF
Building Quality In in SAFe – The Testing Organization’s Perspective
Yuval Yeret
 
PDF
AgileTesting_Ver1.0
Subramanya Mudukutore
 
PPTX
Agile Testing: The Role Of The Agile Tester
Declan Whelan
 
PDF
Fran O'Hara - Evolving Agile Testing - EuroSTAR 2012
TEST Huddle
 
PDF
Agile testing practice
Mary Jiang
 
PPTX
Agile test practices
Leonard Fingerman
 
PPTX
Training - Agile Testing
Sudipta Lahiri
 
PDF
Shift Left - Approach and practices with IBM
IBM UrbanCode Products
 
PDF
Agile Acceptance testing with Fitnesse
ClareMcLennan
 
PDF
Manoj Kolhe - Testing in Agile Environment
Manoj Kolhe
 
PDF
Acceptance- and Behavior-Driven Development with Cucumber: Three Case Studies
Josiah Renaudin
 
PPTX
Agile testing for mere mortals
Dave Haeffner
 
KEY
Essential practices and thinking tools for Agile Adoption
Steven Mak
 
PDF
Testing in Agile Development
Hariprakash Agrawal
 
PDF
Baking In Quality: The Evolving Role of the Agile Tester
TechWell
 
PPTX
Agile Testing Agile Ottawa April 2015
Dag Rowe
 
PPT
Application Testing
Reggie Niccolo Santos
 
PDF
Agile Journey to agile
Brijesh Prabhakar
 
PDF
What CS Class Didn't Teach About Testing
Camille Bell
 
Trends in Agile Testing by Lisa Crispin
Directi Group
 
Building Quality In in SAFe – The Testing Organization’s Perspective
Yuval Yeret
 
AgileTesting_Ver1.0
Subramanya Mudukutore
 
Agile Testing: The Role Of The Agile Tester
Declan Whelan
 
Fran O'Hara - Evolving Agile Testing - EuroSTAR 2012
TEST Huddle
 
Agile testing practice
Mary Jiang
 
Agile test practices
Leonard Fingerman
 
Training - Agile Testing
Sudipta Lahiri
 
Shift Left - Approach and practices with IBM
IBM UrbanCode Products
 
Agile Acceptance testing with Fitnesse
ClareMcLennan
 
Manoj Kolhe - Testing in Agile Environment
Manoj Kolhe
 
Acceptance- and Behavior-Driven Development with Cucumber: Three Case Studies
Josiah Renaudin
 
Agile testing for mere mortals
Dave Haeffner
 
Essential practices and thinking tools for Agile Adoption
Steven Mak
 
Testing in Agile Development
Hariprakash Agrawal
 
Baking In Quality: The Evolving Role of the Agile Tester
TechWell
 
Agile Testing Agile Ottawa April 2015
Dag Rowe
 
Application Testing
Reggie Niccolo Santos
 
Agile Journey to agile
Brijesh Prabhakar
 
What CS Class Didn't Teach About Testing
Camille Bell
 
Ad

More from JAXLondon2014 (19)

PDF
GridGain 6.0: Open Source In-Memory Computing Platform - Nikita Ivanov
JAXLondon2014
 
PDF
Performance Metrics for your Delivery Pipeline - Wolfgang Gottesheim
JAXLondon2014
 
PPTX
How to randomly access data in close-to-RAM speeds but a lower cost with SSD’...
JAXLondon2014
 
PDF
Conditional Logging Considered Harmful - Sean Reilly
JAXLondon2014
 
PDF
Finding your Way in the Midst of the NoSQL Haze - Abdelmonaim Remani
JAXLondon2014
 
PDF
'Bootiful' Code with Spring Boot - Josh Long
JAXLondon2014
 
PDF
Dataflow, the Forgotten Way - Russel Winder
JAXLondon2014
 
PDF
Habits of Highly Effective Technical Teams - Martijn Verburg
JAXLondon2014
 
PDF
The Lazy Developer's Guide to Cloud Foundry - Holly Cummins
JAXLondon2014
 
PDF
Testing the Enterprise Layers - the A, B, C's of Integration Testing - Aslak ...
JAXLondon2014
 
PDF
Squeezing Performance of out of In-Memory Data Grids - Fuad Malikov
JAXLondon2014
 
PDF
Server Side JavaScript on the Java Platform - David Delabassee
JAXLondon2014
 
PDF
Reflection Madness - Dr. Heinz Kabutz
JAXLondon2014
 
PDF
Rapid Web Application Development with MongoDB and the JVM - Trisha Gee
JAXLondon2014
 
PDF
Personal Retrospectives - Johannes Thönes
JAXLondon2014
 
PDF
Moving to a DevOps mode - easy, hard or just plain terrifying? - Daniel Bryan...
JAXLondon2014
 
PDF
Lambdas and Streams in Java SE 8: Making Bulk Operations simple - Simon Ritter
JAXLondon2014
 
PDF
Introducing Language-Oriented Business Applications - Markus Voelter
JAXLondon2014
 
PPTX
Hands on Performance Tuning - Mike Croft
JAXLondon2014
 
GridGain 6.0: Open Source In-Memory Computing Platform - Nikita Ivanov
JAXLondon2014
 
Performance Metrics for your Delivery Pipeline - Wolfgang Gottesheim
JAXLondon2014
 
How to randomly access data in close-to-RAM speeds but a lower cost with SSD’...
JAXLondon2014
 
Conditional Logging Considered Harmful - Sean Reilly
JAXLondon2014
 
Finding your Way in the Midst of the NoSQL Haze - Abdelmonaim Remani
JAXLondon2014
 
'Bootiful' Code with Spring Boot - Josh Long
JAXLondon2014
 
Dataflow, the Forgotten Way - Russel Winder
JAXLondon2014
 
Habits of Highly Effective Technical Teams - Martijn Verburg
JAXLondon2014
 
The Lazy Developer's Guide to Cloud Foundry - Holly Cummins
JAXLondon2014
 
Testing the Enterprise Layers - the A, B, C's of Integration Testing - Aslak ...
JAXLondon2014
 
Squeezing Performance of out of In-Memory Data Grids - Fuad Malikov
JAXLondon2014
 
Server Side JavaScript on the Java Platform - David Delabassee
JAXLondon2014
 
Reflection Madness - Dr. Heinz Kabutz
JAXLondon2014
 
Rapid Web Application Development with MongoDB and the JVM - Trisha Gee
JAXLondon2014
 
Personal Retrospectives - Johannes Thönes
JAXLondon2014
 
Moving to a DevOps mode - easy, hard or just plain terrifying? - Daniel Bryan...
JAXLondon2014
 
Lambdas and Streams in Java SE 8: Making Bulk Operations simple - Simon Ritter
JAXLondon2014
 
Introducing Language-Oriented Business Applications - Markus Voelter
JAXLondon2014
 
Hands on Performance Tuning - Mike Croft
JAXLondon2014
 

Recently uploaded (20)

PDF
Leveraging the Power of Jira Dashboard.pdf
siddharthshukla742740
 
PDF
FINAL ZAKROS - UNESCO SITE CANDICACY - PRESENTATION - September 2024
StavrosKefalas1
 
PPTX
A brief History of counseling in Social Work.pptx
Josaya Injesi
 
PPTX
some leadership theories MBA management.pptx
rkseo19
 
PPTX
AI presentation for everyone in every fields
dodinhkhai1
 
PPTX
Pastor Bob Stewart Acts 21 07 09 2025.pptx
FamilyWorshipCenterD
 
PDF
What should be in a Leadership and Motivation Plan?
Writegenic AI
 
PPTX
Food_and_Drink_Bahasa_Inggris_Kelas_5.pptx
debbystevani36
 
PDF
Medical Technology Corporation: Supply Chain Strategy
daretruong
 
PPTX
BARRIERS TO EFFECTIVE COMMUNICATION.pptx
shraddham25
 
PPTX
Inspired by VeinSense: Supercharge Your Hackathon with Agentic AI
ShubhamSharma2528
 
PDF
CHALLENGIES FACING THEOLOGICAL EDUCATION IN NIGERIA: STRATEGIES FOR IMPROVEMENT
PREVAILERS THEOLOGICAL SCHOOL FCT ABUJA
 
PPTX
presentation on legal and regulatory action
raoharsh4122001
 
PPTX
Blended Family Future, the Mayflower and You
UCG NWA
 
PPTX
Bob Stewart Humble Obedience 07-13-2025.pptx
FamilyWorshipCenterD
 
PPT
Wireless Communications Course lecture1.ppt
abdullahyaqot2015
 
PPTX
677697609-States-Research-Questions-Final.pptx
francistiin8
 
PDF
Cloud Computing Service Availability.pdf
chakrirocky1
 
PPTX
g1-oral-comm-1.pptx dkekekwkwoowowwkkrkrrkfkfkfm
hnanie845
 
PPTX
STURGEON BAY WI AG PPT JULY 6 2025.pptx
FamilyWorshipCenterD
 
Leveraging the Power of Jira Dashboard.pdf
siddharthshukla742740
 
FINAL ZAKROS - UNESCO SITE CANDICACY - PRESENTATION - September 2024
StavrosKefalas1
 
A brief History of counseling in Social Work.pptx
Josaya Injesi
 
some leadership theories MBA management.pptx
rkseo19
 
AI presentation for everyone in every fields
dodinhkhai1
 
Pastor Bob Stewart Acts 21 07 09 2025.pptx
FamilyWorshipCenterD
 
What should be in a Leadership and Motivation Plan?
Writegenic AI
 
Food_and_Drink_Bahasa_Inggris_Kelas_5.pptx
debbystevani36
 
Medical Technology Corporation: Supply Chain Strategy
daretruong
 
BARRIERS TO EFFECTIVE COMMUNICATION.pptx
shraddham25
 
Inspired by VeinSense: Supercharge Your Hackathon with Agentic AI
ShubhamSharma2528
 
CHALLENGIES FACING THEOLOGICAL EDUCATION IN NIGERIA: STRATEGIES FOR IMPROVEMENT
PREVAILERS THEOLOGICAL SCHOOL FCT ABUJA
 
presentation on legal and regulatory action
raoharsh4122001
 
Blended Family Future, the Mayflower and You
UCG NWA
 
Bob Stewart Humble Obedience 07-13-2025.pptx
FamilyWorshipCenterD
 
Wireless Communications Course lecture1.ppt
abdullahyaqot2015
 
677697609-States-Research-Questions-Final.pptx
francistiin8
 
Cloud Computing Service Availability.pdf
chakrirocky1
 
g1-oral-comm-1.pptx dkekekwkwoowowwkkrkrrkfkfkfm
hnanie845
 
STURGEON BAY WI AG PPT JULY 6 2025.pptx
FamilyWorshipCenterD
 

Testing within an Agile Environment - Beyza Sakir and Chris Gollop

  • 1. Testing within an agile environment Chris Gollop & Beyza Sakir
  • 2. Overview History Changing Testing Concerns Adaptations Future Conclusion Further Reading
  • 3. History – what we do Release every 2 weeks Trade $billions/day Average 0.4ms execution time for MTF members 10,000 orders second 1 tester per 5-6 developers Very low rate of production issues
  • 4. History - company Conceived as an Agile company Agile has matured but we’re still adapting Agile testing: Acceptance Tests Integration Tests Exploratory Testing
  • 5. History - company •This has allowed us to experiment and adapt: •Time freed up •Quick feedback on changes •Historic data available to analyse
  • 6. History – test team 4 test specialists with different strengths complement each other as a 'team‘ Rotate through all teams •No Test Manager •Part of development team though test interests have a separate iteration meeting •Testing is responsibility of everyone
  • 7. History – team structure l Team One Team Two Team Three Development Specialists Business Specialists Test Specialists
  • 8. History - innovate Keep changing, even if something appears to work there may be something better “If I had asked people what they wanted, they would have said faster horses. I gave them a car” (Henry Ford)
  • 9. History – measure and feedback Measure To know if it is effective Many monitoring and measuring tools Feedback Tying feedback to ideas Quicker this is the faster you can confidently adapt Can be numerical or social
  • 10. Changing Testing Concerns Over Time Traditional Testing Maturity Models start at “ad-hoc” and move through structured testing before finishing at “Continuous Improvement” Some of our test concerns (over time) Decrease Manual Testing & increase automated Acceptance Tests Performance DSL Speed of Feedback Increasing number of Edge Cases as system becomes more complex
  • 11. Changing Testing Concerns Over Time 10,000 Behavioural Tests 8,700 Acceptance Tests (UI, API) 1,300 Integration Tests (subsets of services using internal interfaces) Acceptance Test would test a rejection Integration Tests would test the different rejection types
  • 12. Changing Testing Concerns Over Time Was right at the time as needed Acceptance Tests to get good coverage quickly, trade-off is they are slower to run repeatedly. Focus is now quicker feedback.
  • 14. Adaptations – Fitness Landscape Each square is similar to it's neighbour Higher it is the better the solution – valleys are bad, mountaintops are good You don't fully know where you are on the landscape You feel your way by trying out new ideas and recognising failure You may be half-way up the mountain rather than at the top And the mountains move! Some peaks move faster than others: Google v McDonalds Evolution isn't just biological it's everywhere
  • 15. Adaptations – Palchinsky Principles Peter Palchinsky was a Russian engineer who advised on (against) Lenin Dam and Magnitogorsk – large projects which essentially failed due to being too big and unable to adapt. Palchinsky Principles are shaped to encourage stronger innovation, better leadership and more effective policies: Variation - seek out new ideas and try new ideas Survivability - when trying something new do it on a scale where failure is survivable Selection - seek out feedback and learn from mistakes as you go along, avoid an instinctive reaction of denial
  • 16. Adaptations – Recognise failure quickly Being able to recognize a failure means you can re-cast it into something more likely to succeed. Accept something is failing, don’t deny or ignore it. "Hard to see what changes would improve current process when they’re currently sweeping all problems under the ‘our context’ rug." (Anthony Green) The essential first step is being willing to fail.
  • 17. Adaptations - Google v Apple Both considered as innovative companies. Apple innovates in things that are core to its business Google innovates on things that indirectly contribute to its business Apple releases products that are polished and well-scoped Google releases many different products (Buzz, Wave, Docs, AppEngine) early in their development and lets the community develop and adapt them. Apple create new mountains on the fitness landscape Google is surfing along on, or near, the moving fitness landscape mountain-top by adapting its strategy and offerings.
  • 18. Adaptations – a brief history of what we have tried
  • 19. Adaptations – what worked Production Data Testing in Live Big Feedback Remove Intermittent Tests Tester Pairing
  • 20. Adaptations – Sanitised Production Data Raw data (database) Patterns of use Data profile patterns Migration (automated) Real world data Larger than we can create Many edge cases Try and reincorporate into our Acceptance Tests Performance Staging Progression in what and how we use the data
  • 21. Adaptations – Testing in Live Uses same hardware and code as it is just an isolated venue Runs a subset of the Acceptance Tests When we expanded our Exchange by adding a multi-tenanted concept known as a venue we took advantage for testing Verifies that the various components of the exchange are hooked up and configured correctly and that the deployment process worked correctly Runs automatically throughout the day as one of our monitoring systems
  • 23. Adaptations – Big Feedback Important CI pipeline builds at the top Red (failed) items rise to the top Continuously and easily expanded Useful features survive Failure ownership/failures at a glance - AutoTrish Intermittent tests - Magic Eight Ball Auto Embargo Performance metrics Build sheriff to keep check-in embargo
  • 24. Adaptations – Intermittent Tests Tests that can fail even if feature is working Now have <1 intermittent tests per run (out of 8,200) Each about 1 test run in 20 Hides genuine failures Have previously missed a release as couldn't tell if genuine Can result from Asynchronous messaging Tests changing global settings/lack of isolation End of day transitions Date/time
  • 25. Adaptations – Intermittent Tests anon anon
  • 26. Adaptations – Intermittent Tests All Failures run twice Fail twice = failure Fail once, pass once = intermittent Accepted as something we need to deal with Work to remove DSL improvement Fix a genuine issue (race condition) End of iteration is given over to removing intermittency Build Sheriff also works on this
  • 29. Adaptations – Tester Pairing Each tester has their own strengths Noticed that at rotation handover the new tester generally found a bug Issue with the testers (denial) Something we can harness (acceptance) Already do development pairing (Dev & Dev and Dev & Tester) When do we pair? At the right time for the story Initial brainstorming when creating a mindmap When we feel we need to (pull) When someone has time (push)
  • 31. Adaptations – what didn't work Not many absolute failures Although many reasons it can fail Even if something fails you learn something Natural selection will continue You can't stay still, unless you are improving you are losing ground as others will innovate or adapt
  • 32. Adaptations – facts Of the top 25 industrial corporations in the United States in 1900, only two remained on that list at the start of the 1960s. And of the top 25 companies on the Fortune 500 in 1961, only six remain there today (IBM) Average life expectancy of a Fortune 500 company has declined from around 75 years half a century ago to less than 15 years today, and heading towards 5 years (Deloitte)
  • 33. Future Expanding the way we test Speed up feedback Increasing integration test coverage Pushing UI to API – testing at the right layer Change AT run order Improving feedback/communication Test team standups Documentation What is just enough How to get people up to speed in a complex system
  • 34. Future Is about the people Team make-up is varied and we recruit to keep it this way “’Testing is a strictly formal process that by its nature should not vary’ - this is a typical belief by people who know nothing about testing.” (James Bach).
  • 35. Conclusion Need to experiment and adapt to stay ahead Even if something works it does not mean there isn't something better Make changes on a scale where failure can be survived Do not be afraid of failure but know how to recognise it quickly
  • 36. Further Reading •Tim Harford •Richard Wiseman •Malcolm Gladwell •Daniel Kahneman •Dan Ariely •Richard Thaler •LMAX Staff blogs - http://blogs.lmax.com/staff-blogs/