SlideShare une entreprise Scribd logo
1  sur  38
Télécharger pour lire hors ligne
Transport For London
Keeping London on the move
!
Anand Ramdeo / @testinggeek
Inspiration
“Tester who helped TFL in
revamping their web
presence and presented his
work at one of the best
testing conference - Let’s
Test 2014”
Good to know
!
• 150+ years old
• 24 million Journeys every day
• 1.17 billion passenger
journeys in a year
• 75% Londoners use TFL
website regularly
• 250 million visits a year
!
“Lifeline of London”
Responsive design with better!
usability and consistent!
platform for developers.
Revamp
Journey!
Planner
Disruptions Lines
Station
Info
TimeTable
And lots of other Interesting and useful
services..
External developers who build
interesting apps based on the
data available from TFL.
Tight coupling, inconsistent
experience
Journey!
Planner
Disruptions
Station
Info
And lots of other Interesting and useful
services..
Consistent Restful Interface
External developers who
build interesting apps based
on the data available from
TFL.
Loosely coupled, RESTful!
interface
Timetable Lines
Bad agile, good waterfall
Bad Agile!
• No testers in the team
• Not enough unit tests
• No Continuous Integration
• Sprint and Scrum
Good Waterfall!
• Excellent user research
• Almost finalised design
Assignment
“You have got 21 days
to do automated
regression testing for
Journey Planner. Look
at the stories we have
already finished.”
Challenge #1
Journey
Planner
New, responsive web design
which consumes RESTful
interface
Context Revealing Questions
• Who are the stakeholders?
• What’s important for them?
• What is already tested by the team?
• When is it supposed to be
released?
• What would be my oracle?
• What could possibly go wrong?
• Do I have access to data,
environment, people who can help
me test?
http://www.developsense.com/blog/2010/11/context-free-questions-for-testing/
Clear Priorities
Key stake holder!
• Technical Architect
Key concerns!
• Quality of results, reliability.
• User experience, on web, mobile
& devices.
• Validate architecture &
deployment on cloud.
Scope!
• API isn’t important for beta release
Quality of
Results
How do I know if route is
right or wrong?
Simple Oracle
“Results should be
identical to the live
website.”
Process
1. Plan a journey on the existing
website (Source, destination,
time, date, mode, preference
etc.)
2. Note results (Journey time,
departure, arrival, options,
walking, escalators, earlier, later
etc.)
3. Plan same journey with same
options on the new website
4. Make a note of results
5. Compare
Key Problems!
!
• Different UI
• Too Many things to check
• Time consuming
• Error prone
• Tiring
• Difficult to scale
Automation!
for the !
Rescue
Journey j = new Journey(Victoria, Waterloo)!
!
routesFromExistingSite = JourneyPlanner.planJourneyOnOldSite(j)!
!
routesFromNewSite = JourneyPlanner.planJourneyOnNewSite(j)!
!
compareRoutes(routesFromExistingSite, routesFromNewSite)
Domain!
Objects
Abstraction Encapsulation Clean code
Robust, Reliable, Maintainable &
Useful automation!
http://www.testinggeek.com/a-software-tester-s-journey-from-manual-to-political
Progress so far..
• Who are my stakeholders?
• What’s important for them?
• How am I going to test?
Which routes do we need to
test?
• Popular journeys
• Which modes are missing?
• Expand coverage
• Bug bash
Challenge #2!
Status and Disruptions
• Realtime status of all the tube
lines.
• Information about disruptions
across all the modes.
• Not testable - could not inject
disruptions.
• Oracle - compare with the live
What’s the biggest
challenge?
Solution
Continuous monitoring using
Jenkins, PhantomJS and
GhostDriver.
Challenge #3!
Lines
Data Migration - Every bus, train, tram, river etc.
WaterlooNorthern
Bakerloo
Jubilee
WestministerJubilee
Circle
District
StanmoreJubilee
Stratford Jubilee
Central
DLR
London OG
Epping
Central
North
Acton Central
West
RulslipCentral
StockwellNorthern
Victoria
Brixton
Victoria
Green
park Victoria
Jubilee
Piccadilly
VictoriaVictoria
Circle
District
TFL Spider
• Start from one station
• Get all lines from this station
• Get first line and check - is data
present and correct?
• If yes, get list
of all stations
and mark this
line as
processed.!
• Add unique
stations in the
list of stations
to process.
• If no, record
missing data
for this line
and mark this
line as
processed.
Follow this for all lines on current
station and move to the next
station
Challenge #4!
Public API, Internal customer
• Assumed domain knowledge
• Team’s access to API
developers
• Lack of consistency
• No versioning and regard for
contract
PAPAS BE SFO!
DEED HELP GC!
DVLA PC
Functionality Consumability Maintainability
Paging Domain specific names Diagnostic
Authentication Examples Versioning
Parameters / Payloads Easy to learn Logging
Authorization Documentation Accessibility
Security
Hard to misuse Purpose
Behave Ease to use Consumer
Error handling Lead to readable code
Principle of least surprise
State
Filter Guessability
Order Consistency
http://www.testinggeek.com/testing-restful-webservices-or-api-testing-remember-papas-be-sfo-deed-help-gc-and-dvla-pc
API Testing Mnemonic!
Lesson Learned
Pro tips?
Pro Tip #1
Automation does not have to be binary.
Use tools in the best possible way to help you test.
Pro Tip #2
Break problem into manageable chunks.
Define layers, focus on one thing at a time.
Pro Tip #3
Be context driven
Question and do the right
things
Pro Tip #4
know your stakeholders.
What’s important for them
and why?
Pro Tip #5
Use automation as a safety net,
but be aware of its limitations.
Pro Tip #6
Be vocal
!
Blocked? Making progress?
Done something well?
!
Don’t assume people would
know.
Pro Tip #7
Find ways to make progress
Pro Tip #8
Embrace throwaway
automation and utility
scripts.
Pro Tip #9
Make testing visible
!
http://www.satisfice.com/presentations/dashboard.pdf
Pro Tip #10
Keep asking
Are we doing the right thing?
!
Remember
!
Projects unfold over time in
ways that are often not
predictable.
Thank You
Anand Ramdeo !
@testinggeek!
!
anand@testinggeek.com
!
TestingGeek.com
TestSpicer.com
PlannedDeparture.com
!

Contenu connexe

Tendances

What is an Automation Framework ?
What is an Automation Framework ?�What is an Automation Framework ?�
What is an Automation Framework ?Sriram Angajala
 
Automating Web Analytics
Automating Web AnalyticsAutomating Web Analytics
Automating Web AnalyticsAnand Bagmar
 
How to Find Vulnerabilities and Bugs in Mobile Applications
How to Find Vulnerabilities and Bugs in Mobile ApplicationsHow to Find Vulnerabilities and Bugs in Mobile Applications
How to Find Vulnerabilities and Bugs in Mobile ApplicationsJosiah Renaudin
 
PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux Neotys
 
Role of Automation in Testing
Role of Automation in TestingRole of Automation in Testing
Role of Automation in TestingAnand Bagmar
 
SauceCon 2017: Testing @ the Speed of Concurrency
SauceCon 2017: Testing @ the Speed of ConcurrencySauceCon 2017: Testing @ the Speed of Concurrency
SauceCon 2017: Testing @ the Speed of ConcurrencySauce Labs
 
Emerging Trends of Test automation - Talk in Software Testing Conference Nort...
Emerging Trends of Test automation - Talk in Software Testing Conference Nort...Emerging Trends of Test automation - Talk in Software Testing Conference Nort...
Emerging Trends of Test automation - Talk in Software Testing Conference Nort...Sriram Angajala
 
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the CloudSauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the CloudSauce Labs
 
The What, Why and How of Analytics Testing
The What, Why and How of Analytics TestingThe What, Why and How of Analytics Testing
The What, Why and How of Analytics TestingAnand Bagmar
 
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure AnalysisTo Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure AnalysisAnand Bagmar
 

Tendances (13)

What is an Automation Framework ?
What is an Automation Framework ?�What is an Automation Framework ?�
What is an Automation Framework ?
 
Automating Web Analytics
Automating Web AnalyticsAutomating Web Analytics
Automating Web Analytics
 
Mobile Testing
Mobile TestingMobile Testing
Mobile Testing
 
Integrated Enquiry Platform - Vehicles | Natalie Morgan | October 2014
Integrated Enquiry Platform - Vehicles | Natalie Morgan | October 2014Integrated Enquiry Platform - Vehicles | Natalie Morgan | October 2014
Integrated Enquiry Platform - Vehicles | Natalie Morgan | October 2014
 
How to Find Vulnerabilities and Bugs in Mobile Applications
How to Find Vulnerabilities and Bugs in Mobile ApplicationsHow to Find Vulnerabilities and Bugs in Mobile Applications
How to Find Vulnerabilities and Bugs in Mobile Applications
 
PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux PAC 2019 virtual Bruno Audoux
PAC 2019 virtual Bruno Audoux
 
RESUME - ME1
RESUME - ME1RESUME - ME1
RESUME - ME1
 
Role of Automation in Testing
Role of Automation in TestingRole of Automation in Testing
Role of Automation in Testing
 
SauceCon 2017: Testing @ the Speed of Concurrency
SauceCon 2017: Testing @ the Speed of ConcurrencySauceCon 2017: Testing @ the Speed of Concurrency
SauceCon 2017: Testing @ the Speed of Concurrency
 
Emerging Trends of Test automation - Talk in Software Testing Conference Nort...
Emerging Trends of Test automation - Talk in Software Testing Conference Nort...Emerging Trends of Test automation - Talk in Software Testing Conference Nort...
Emerging Trends of Test automation - Talk in Software Testing Conference Nort...
 
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the CloudSauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
 
The What, Why and How of Analytics Testing
The What, Why and How of Analytics TestingThe What, Why and How of Analytics Testing
The What, Why and How of Analytics Testing
 
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure AnalysisTo Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
 

Similaire à Keeping London On The Move - Interesting Solutions For Challenging Problems

Uber’s Fascinating World of Inter-App Communications
Uber’s Fascinating World of Inter-App CommunicationsUber’s Fascinating World of Inter-App Communications
Uber’s Fascinating World of Inter-App CommunicationsJosiah Renaudin
 
Agile Testing Days 2018 USA - API Testing Fundamentals
Agile Testing Days 2018 USA - API Testing FundamentalsAgile Testing Days 2018 USA - API Testing Fundamentals
Agile Testing Days 2018 USA - API Testing FundamentalsJoEllen Carter
 
"Building your mobile app: budget, planning and best practices!" by Philippe ...
"Building your mobile app: budget, planning and best practices!" by Philippe ..."Building your mobile app: budget, planning and best practices!" by Philippe ...
"Building your mobile app: budget, planning and best practices!" by Philippe ...TheFamily
 
Transitioning Groupon to Node.js - EmpireJS 2014
Transitioning Groupon to Node.js - EmpireJS 2014Transitioning Groupon to Node.js - EmpireJS 2014
Transitioning Groupon to Node.js - EmpireJS 2014Sean McCullough
 
Beyond DevOps - How Netflix Bridges the Gap
Beyond DevOps - How Netflix Bridges the GapBeyond DevOps - How Netflix Bridges the Gap
Beyond DevOps - How Netflix Bridges the GapJosh Evans
 
Building your Mobile App: Budget, Planning and Best Practices
Building your Mobile App: Budget, Planning and Best PracticesBuilding your Mobile App: Budget, Planning and Best Practices
Building your Mobile App: Budget, Planning and Best PracticesPhilippe Dumont
 
API Architecture Summit 2014- APIs: A Mobile Developer's Perspective
API Architecture Summit 2014- APIs: A Mobile Developer's PerspectiveAPI Architecture Summit 2014- APIs: A Mobile Developer's Perspective
API Architecture Summit 2014- APIs: A Mobile Developer's PerspectiveNiall Roche
 
Big Data Pipelines and Machine Learning at Uber
Big Data Pipelines and Machine Learning at UberBig Data Pipelines and Machine Learning at Uber
Big Data Pipelines and Machine Learning at UberSudhir Tonse
 
ott_calfee_resume
ott_calfee_resumeott_calfee_resume
ott_calfee_resumeOtt Calfee
 
A Three-Tier Load Testing Program Saved Our Bacon
A Three-Tier Load Testing Program Saved Our BaconA Three-Tier Load Testing Program Saved Our Bacon
A Three-Tier Load Testing Program Saved Our BaconTechWell
 
Natural born conversion killers - Conversion Jam
Natural born conversion killers - Conversion JamNatural born conversion killers - Conversion Jam
Natural born conversion killers - Conversion JamCraig Sullivan
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoChristian Heilmann
 
Raj Subramanian - Mobile Web Testing
Raj Subramanian - Mobile Web TestingRaj Subramanian - Mobile Web Testing
Raj Subramanian - Mobile Web TestingQA or the Highway
 
Asynchronous API Testing: Trends, Tools & More | Calidad Infotech
Asynchronous API Testing: Trends, Tools & More | Calidad Infotech Asynchronous API Testing: Trends, Tools & More | Calidad Infotech
Asynchronous API Testing: Trends, Tools & More | Calidad Infotech Calidad Infotech
 
Measure camp tools of the cro rabble
Measure camp   tools of the cro rabbleMeasure camp   tools of the cro rabble
Measure camp tools of the cro rabbleCraig Sullivan
 
The Art of Mobile Performance (Mobiconf 2015)
The Art of Mobile Performance (Mobiconf 2015)The Art of Mobile Performance (Mobiconf 2015)
The Art of Mobile Performance (Mobiconf 2015)David Low
 

Similaire à Keeping London On The Move - Interesting Solutions For Challenging Problems (20)

Uber’s Fascinating World of Inter-App Communications
Uber’s Fascinating World of Inter-App CommunicationsUber’s Fascinating World of Inter-App Communications
Uber’s Fascinating World of Inter-App Communications
 
Agile Testing Days 2018 USA - API Testing Fundamentals
Agile Testing Days 2018 USA - API Testing FundamentalsAgile Testing Days 2018 USA - API Testing Fundamentals
Agile Testing Days 2018 USA - API Testing Fundamentals
 
GUI, Performance, Load and API testing with Test Studio
GUI, Performance, Load and API testing with Test StudioGUI, Performance, Load and API testing with Test Studio
GUI, Performance, Load and API testing with Test Studio
 
"Building your mobile app: budget, planning and best practices!" by Philippe ...
"Building your mobile app: budget, planning and best practices!" by Philippe ..."Building your mobile app: budget, planning and best practices!" by Philippe ...
"Building your mobile app: budget, planning and best practices!" by Philippe ...
 
Transitioning Groupon to Node.js - EmpireJS 2014
Transitioning Groupon to Node.js - EmpireJS 2014Transitioning Groupon to Node.js - EmpireJS 2014
Transitioning Groupon to Node.js - EmpireJS 2014
 
Beyond DevOps - How Netflix Bridges the Gap
Beyond DevOps - How Netflix Bridges the GapBeyond DevOps - How Netflix Bridges the Gap
Beyond DevOps - How Netflix Bridges the Gap
 
Building your Mobile App: Budget, Planning and Best Practices
Building your Mobile App: Budget, Planning and Best PracticesBuilding your Mobile App: Budget, Planning and Best Practices
Building your Mobile App: Budget, Planning and Best Practices
 
API Architecture Summit 2014- APIs: A Mobile Developer's Perspective
API Architecture Summit 2014- APIs: A Mobile Developer's PerspectiveAPI Architecture Summit 2014- APIs: A Mobile Developer's Perspective
API Architecture Summit 2014- APIs: A Mobile Developer's Perspective
 
Big Data Pipelines and Machine Learning at Uber
Big Data Pipelines and Machine Learning at UberBig Data Pipelines and Machine Learning at Uber
Big Data Pipelines and Machine Learning at Uber
 
ott_calfee_resume
ott_calfee_resumeott_calfee_resume
ott_calfee_resume
 
A Three-Tier Load Testing Program Saved Our Bacon
A Three-Tier Load Testing Program Saved Our BaconA Three-Tier Load Testing Program Saved Our Bacon
A Three-Tier Load Testing Program Saved Our Bacon
 
Natural born conversion killers - Conversion Jam
Natural born conversion killers - Conversion JamNatural born conversion killers - Conversion Jam
Natural born conversion killers - Conversion Jam
 
Stapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San FranciscoStapling and patching the web of now - ForwardJS3, San Francisco
Stapling and patching the web of now - ForwardJS3, San Francisco
 
Raj Subramanian - Mobile Web Testing
Raj Subramanian - Mobile Web TestingRaj Subramanian - Mobile Web Testing
Raj Subramanian - Mobile Web Testing
 
Asynchronous API Testing: Trends, Tools & More | Calidad Infotech
Asynchronous API Testing: Trends, Tools & More | Calidad Infotech Asynchronous API Testing: Trends, Tools & More | Calidad Infotech
Asynchronous API Testing: Trends, Tools & More | Calidad Infotech
 
API ARU-ARU
API ARU-ARUAPI ARU-ARU
API ARU-ARU
 
Webservicex.pdf
Webservicex.pdfWebservicex.pdf
Webservicex.pdf
 
Measure camp tools of the cro rabble
Measure camp   tools of the cro rabbleMeasure camp   tools of the cro rabble
Measure camp tools of the cro rabble
 
The Art of Mobile Performance (Mobiconf 2015)
The Art of Mobile Performance (Mobiconf 2015)The Art of Mobile Performance (Mobiconf 2015)
The Art of Mobile Performance (Mobiconf 2015)
 
Musharraf_Syed_Resume
Musharraf_Syed_ResumeMusharraf_Syed_Resume
Musharraf_Syed_Resume
 

Plus de Anand Ramdeo

Misleading Validations - Be Aware Of Green
Misleading Validations - Be Aware Of GreenMisleading Validations - Be Aware Of Green
Misleading Validations - Be Aware Of GreenAnand Ramdeo
 
Future of Retail is here with Artificial Intelligence (AI) - Are you ready?
Future of Retail is here with Artificial Intelligence (AI) - Are you ready?Future of Retail is here with Artificial Intelligence (AI) - Are you ready?
Future of Retail is here with Artificial Intelligence (AI) - Are you ready?Anand Ramdeo
 
Workshop for Managing Expectations By Utilising A Communication Toolkit
Workshop for Managing Expectations By Utilising A Communication ToolkitWorkshop for Managing Expectations By Utilising A Communication Toolkit
Workshop for Managing Expectations By Utilising A Communication ToolkitAnand Ramdeo
 
Testing strategies for the eCommerce stores built on Magento
Testing strategies for the eCommerce stores built on MagentoTesting strategies for the eCommerce stores built on Magento
Testing strategies for the eCommerce stores built on MagentoAnand Ramdeo
 
Tes automation for CMS Backed applications - Channel-4 Case Study
Tes automation for CMS Backed applications - Channel-4 Case StudyTes automation for CMS Backed applications - Channel-4 Case Study
Tes automation for CMS Backed applications - Channel-4 Case StudyAnand Ramdeo
 
Selenium conference 2012 - One Step At A Time
Selenium conference 2012 - One Step At A TimeSelenium conference 2012 - One Step At A Time
Selenium conference 2012 - One Step At A TimeAnand Ramdeo
 
Patterns in Testing and a claim - iCheckWebsite
Patterns in Testing and a claim - iCheckWebsitePatterns in Testing and a claim - iCheckWebsite
Patterns in Testing and a claim - iCheckWebsiteAnand Ramdeo
 
Simple tools to fight bigger quality battle
Simple tools to fight bigger quality battleSimple tools to fight bigger quality battle
Simple tools to fight bigger quality battleAnand Ramdeo
 

Plus de Anand Ramdeo (13)

Rano fest
Rano fest Rano fest
Rano fest
 
Ranosys jobs
Ranosys jobsRanosys jobs
Ranosys jobs
 
Misleading Validations - Be Aware Of Green
Misleading Validations - Be Aware Of GreenMisleading Validations - Be Aware Of Green
Misleading Validations - Be Aware Of Green
 
Future of Retail is here with Artificial Intelligence (AI) - Are you ready?
Future of Retail is here with Artificial Intelligence (AI) - Are you ready?Future of Retail is here with Artificial Intelligence (AI) - Are you ready?
Future of Retail is here with Artificial Intelligence (AI) - Are you ready?
 
Workshop for Managing Expectations By Utilising A Communication Toolkit
Workshop for Managing Expectations By Utilising A Communication ToolkitWorkshop for Managing Expectations By Utilising A Communication Toolkit
Workshop for Managing Expectations By Utilising A Communication Toolkit
 
Testing strategies for the eCommerce stores built on Magento
Testing strategies for the eCommerce stores built on MagentoTesting strategies for the eCommerce stores built on Magento
Testing strategies for the eCommerce stores built on Magento
 
Tes automation for CMS Backed applications - Channel-4 Case Study
Tes automation for CMS Backed applications - Channel-4 Case StudyTes automation for CMS Backed applications - Channel-4 Case Study
Tes automation for CMS Backed applications - Channel-4 Case Study
 
Java primer
Java primerJava primer
Java primer
 
Ramdeo green
Ramdeo greenRamdeo green
Ramdeo green
 
Selenium conference 2012 - One Step At A Time
Selenium conference 2012 - One Step At A TimeSelenium conference 2012 - One Step At A Time
Selenium conference 2012 - One Step At A Time
 
Patterns in Testing and a claim - iCheckWebsite
Patterns in Testing and a claim - iCheckWebsitePatterns in Testing and a claim - iCheckWebsite
Patterns in Testing and a claim - iCheckWebsite
 
Agile Testing
Agile TestingAgile Testing
Agile Testing
 
Simple tools to fight bigger quality battle
Simple tools to fight bigger quality battleSimple tools to fight bigger quality battle
Simple tools to fight bigger quality battle
 

Dernier

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 

Dernier (20)

08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 

Keeping London On The Move - Interesting Solutions For Challenging Problems

  • 1. Transport For London Keeping London on the move ! Anand Ramdeo / @testinggeek
  • 2. Inspiration “Tester who helped TFL in revamping their web presence and presented his work at one of the best testing conference - Let’s Test 2014”
  • 3. Good to know ! • 150+ years old • 24 million Journeys every day • 1.17 billion passenger journeys in a year • 75% Londoners use TFL website regularly • 250 million visits a year ! “Lifeline of London”
  • 4. Responsive design with better! usability and consistent! platform for developers. Revamp
  • 5. Journey! Planner Disruptions Lines Station Info TimeTable And lots of other Interesting and useful services.. External developers who build interesting apps based on the data available from TFL. Tight coupling, inconsistent experience
  • 6. Journey! Planner Disruptions Station Info And lots of other Interesting and useful services.. Consistent Restful Interface External developers who build interesting apps based on the data available from TFL. Loosely coupled, RESTful! interface Timetable Lines
  • 7. Bad agile, good waterfall Bad Agile! • No testers in the team • Not enough unit tests • No Continuous Integration • Sprint and Scrum Good Waterfall! • Excellent user research • Almost finalised design
  • 8. Assignment “You have got 21 days to do automated regression testing for Journey Planner. Look at the stories we have already finished.”
  • 9. Challenge #1 Journey Planner New, responsive web design which consumes RESTful interface
  • 10. Context Revealing Questions • Who are the stakeholders? • What’s important for them? • What is already tested by the team? • When is it supposed to be released? • What would be my oracle? • What could possibly go wrong? • Do I have access to data, environment, people who can help me test? http://www.developsense.com/blog/2010/11/context-free-questions-for-testing/
  • 11. Clear Priorities Key stake holder! • Technical Architect Key concerns! • Quality of results, reliability. • User experience, on web, mobile & devices. • Validate architecture & deployment on cloud. Scope! • API isn’t important for beta release
  • 12. Quality of Results How do I know if route is right or wrong?
  • 13. Simple Oracle “Results should be identical to the live website.”
  • 14. Process 1. Plan a journey on the existing website (Source, destination, time, date, mode, preference etc.) 2. Note results (Journey time, departure, arrival, options, walking, escalators, earlier, later etc.) 3. Plan same journey with same options on the new website 4. Make a note of results 5. Compare
  • 15. Key Problems! ! • Different UI • Too Many things to check • Time consuming • Error prone • Tiring • Difficult to scale Automation! for the ! Rescue
  • 16. Journey j = new Journey(Victoria, Waterloo)! ! routesFromExistingSite = JourneyPlanner.planJourneyOnOldSite(j)! ! routesFromNewSite = JourneyPlanner.planJourneyOnNewSite(j)! ! compareRoutes(routesFromExistingSite, routesFromNewSite) Domain! Objects Abstraction Encapsulation Clean code Robust, Reliable, Maintainable & Useful automation! http://www.testinggeek.com/a-software-tester-s-journey-from-manual-to-political
  • 17. Progress so far.. • Who are my stakeholders? • What’s important for them? • How am I going to test?
  • 18. Which routes do we need to test? • Popular journeys • Which modes are missing? • Expand coverage • Bug bash
  • 19. Challenge #2! Status and Disruptions • Realtime status of all the tube lines. • Information about disruptions across all the modes. • Not testable - could not inject disruptions. • Oracle - compare with the live What’s the biggest challenge?
  • 20. Solution Continuous monitoring using Jenkins, PhantomJS and GhostDriver.
  • 21. Challenge #3! Lines Data Migration - Every bus, train, tram, river etc.
  • 22. WaterlooNorthern Bakerloo Jubilee WestministerJubilee Circle District StanmoreJubilee Stratford Jubilee Central DLR London OG Epping Central North Acton Central West RulslipCentral StockwellNorthern Victoria Brixton Victoria Green park Victoria Jubilee Piccadilly VictoriaVictoria Circle District
  • 23. TFL Spider • Start from one station • Get all lines from this station • Get first line and check - is data present and correct? • If yes, get list of all stations and mark this line as processed.! • Add unique stations in the list of stations to process. • If no, record missing data for this line and mark this line as processed. Follow this for all lines on current station and move to the next station
  • 24. Challenge #4! Public API, Internal customer • Assumed domain knowledge • Team’s access to API developers • Lack of consistency • No versioning and regard for contract
  • 25. PAPAS BE SFO! DEED HELP GC! DVLA PC
  • 26. Functionality Consumability Maintainability Paging Domain specific names Diagnostic Authentication Examples Versioning Parameters / Payloads Easy to learn Logging Authorization Documentation Accessibility Security Hard to misuse Purpose Behave Ease to use Consumer Error handling Lead to readable code Principle of least surprise State Filter Guessability Order Consistency http://www.testinggeek.com/testing-restful-webservices-or-api-testing-remember-papas-be-sfo-deed-help-gc-and-dvla-pc API Testing Mnemonic!
  • 28. Pro Tip #1 Automation does not have to be binary. Use tools in the best possible way to help you test.
  • 29. Pro Tip #2 Break problem into manageable chunks. Define layers, focus on one thing at a time.
  • 30. Pro Tip #3 Be context driven Question and do the right things
  • 31. Pro Tip #4 know your stakeholders. What’s important for them and why?
  • 32. Pro Tip #5 Use automation as a safety net, but be aware of its limitations.
  • 33. Pro Tip #6 Be vocal ! Blocked? Making progress? Done something well? ! Don’t assume people would know.
  • 34. Pro Tip #7 Find ways to make progress
  • 35. Pro Tip #8 Embrace throwaway automation and utility scripts.
  • 36. Pro Tip #9 Make testing visible ! http://www.satisfice.com/presentations/dashboard.pdf
  • 37. Pro Tip #10 Keep asking Are we doing the right thing? ! Remember ! Projects unfold over time in ways that are often not predictable.
  • 38. Thank You Anand Ramdeo ! @testinggeek! ! anand@testinggeek.com ! TestingGeek.com TestSpicer.com PlannedDeparture.com !