SlideShare a Scribd company logo
1 of 38
Download to read offline
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
!

More Related Content

What's hot

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
 

What's hot (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
 

Similar to Keeping London On The Move - Interesting Solutions For Challenging Problems

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
Sean McCullough
 
ott_calfee_resume
ott_calfee_resumeott_calfee_resume
ott_calfee_resume
Ott Calfee
 
Raj Subramanian - Mobile Web Testing
Raj Subramanian - Mobile Web TestingRaj Subramanian - Mobile Web Testing
Raj Subramanian - Mobile Web Testing
QA or the Highway
 

Similar to 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
 

More from Anand 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 Time
Anand 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 - iCheckWebsite
Anand Ramdeo
 

More from 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
 

Recently uploaded

Recently uploaded (20)

A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
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
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
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
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 

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 !