SlideShare a Scribd company logo
1 of 21
Download to read offline
Chaining the Beast
Testing Wonder Applications in the Real World
Ray Kiddy, DynEd International
1
• We enjoy the pain.
• We talk about it so we do not have to do more of it.
• We do not talk about it very often.
2
Why Talk About Testing?
3
Regressions
New
Features
MisConfig WTF?
Appearance
View
Controller
Model
Data
• MVC - everyone should know what this is about...
• Data Source - likewise...
• Appearance - Does the application actually look right to human
eyes?
4
• Catch Regressions - something is true today, should be
tomorrow also.
• Check New Features - if something is new, it might not be
perfect.
• Expect Problems - Murphy’s Law.
• WTF?
5
• Data import is not always correct.
• Input is not always sensible
• Page responses are too slow
• Not a lot of time to work on it, suckiness.
6
WOLeg
Methodologies
• With apologies to Frank Zappa
7
Information is not Knowledge
• Do you trust your data source?
• Tests executing at launch, every time.
• Check data schemas against expected.
• Runs every single launch, except when it does not.
8
Knowledge is not Truth
• Verify Models
• Manipulate (?) to match reality
• Tests of business logic using model info only!
9
Truth is not Wisdom
• KVC is your friend
• KVC will kill you
• Abstraction is power but also causes ignorance.
10
Wisdom is not Beauty
• Info display is good, but what about interactivity?
11
Beauty is not Love
• Verify the appearance of the application.
12
Love is not Music
• How to make sure testing gets done.
• Code will grow, get buy-in early.
13
In-Application Testing
• “Up side” - it is always available
• “Down side” - it is always available
• Drove choices via properties AND “marker” files
14
15
DEMO
16
• IAT should always be visible.
• IAT should also be invisible.
• Results checked by engineering/build engine AND qa.
17
Selenium for Fun and Profit
DEMO
18
Building Invariant Pages
19
• Find visible fault areas in the application
• Find browser-specific problems
• Use the cloud
20
DEMO
Q&A
Questions? No Questions? Good.
21

More Related Content

What's hot

Simon Raik Allen - How to Convince your CIO you want to be Agile
Simon Raik Allen - How to Convince your CIO you want to be AgileSimon Raik Allen - How to Convince your CIO you want to be Agile
Simon Raik Allen - How to Convince your CIO you want to be Agile
AgileNZ Conference
 
Bootstrapping your startup & building it lean: stop wasting time
Bootstrapping your startup & building it lean: stop wasting timeBootstrapping your startup & building it lean: stop wasting time
Bootstrapping your startup & building it lean: stop wasting time
Joel Gascoigne
 

What's hot (20)

Why do my AB tests suck? measurecamp
Why do my AB tests suck?   measurecampWhy do my AB tests suck?   measurecamp
Why do my AB tests suck? measurecamp
 
10 Tactics for Building an Optimization Culture
10 Tactics for Building an Optimization Culture10 Tactics for Building an Optimization Culture
10 Tactics for Building an Optimization Culture
 
ONBOARDING AT SCALE AT BOOKING.COM
ONBOARDING AT SCALE AT BOOKING.COMONBOARDING AT SCALE AT BOOKING.COM
ONBOARDING AT SCALE AT BOOKING.COM
 
Translating Tester-Speak Into Plain English: Simple Explanations for 8 Testin...
Translating Tester-Speak Into Plain English: Simple Explanations for 8 Testin...Translating Tester-Speak Into Plain English: Simple Explanations for 8 Testin...
Translating Tester-Speak Into Plain English: Simple Explanations for 8 Testin...
 
A/B Testing - In data we trust
A/B Testing - In data we trustA/B Testing - In data we trust
A/B Testing - In data we trust
 
Craig Sullivan - Oh Boy! These A/B tests look like total bullshit! MKTFEST 2014
Craig Sullivan - Oh Boy! These A/B tests look like total bullshit! MKTFEST 2014Craig Sullivan - Oh Boy! These A/B tests look like total bullshit! MKTFEST 2014
Craig Sullivan - Oh Boy! These A/B tests look like total bullshit! MKTFEST 2014
 
Crafting features that matter - UX from a Modern Analyst's perspective
Crafting features that matter - UX from a Modern Analyst's perspectiveCrafting features that matter - UX from a Modern Analyst's perspective
Crafting features that matter - UX from a Modern Analyst's perspective
 
Incorporating UX into an Agile Methodology
Incorporating UX into an Agile MethodologyIncorporating UX into an Agile Methodology
Incorporating UX into an Agile Methodology
 
8 Blind Spots Often Overlooked When Testing on Mobile
8 Blind Spots Often Overlooked When Testing on Mobile8 Blind Spots Often Overlooked When Testing on Mobile
8 Blind Spots Often Overlooked When Testing on Mobile
 
Simon Raik Allen - How to Convince your CIO you want to be Agile
Simon Raik Allen - How to Convince your CIO you want to be AgileSimon Raik Allen - How to Convince your CIO you want to be Agile
Simon Raik Allen - How to Convince your CIO you want to be Agile
 
Zero to One - Notes on quality for startups
Zero to One - Notes on quality for startupsZero to One - Notes on quality for startups
Zero to One - Notes on quality for startups
 
User testing: the agile way EFSD
User testing: the agile way EFSDUser testing: the agile way EFSD
User testing: the agile way EFSD
 
Principles of Lean UX
Principles of Lean UXPrinciples of Lean UX
Principles of Lean UX
 
How Atlassian's User Research Went Agile (and So Can Yours)
How Atlassian's User Research Went Agile (and So Can Yours)How Atlassian's User Research Went Agile (and So Can Yours)
How Atlassian's User Research Went Agile (and So Can Yours)
 
Bootstrapping your startup & building it lean: stop wasting time
Bootstrapping your startup & building it lean: stop wasting timeBootstrapping your startup & building it lean: stop wasting time
Bootstrapping your startup & building it lean: stop wasting time
 
Mobile Testing at Gilt
Mobile Testing at GiltMobile Testing at Gilt
Mobile Testing at Gilt
 
Top 15 reasons to choose qa testing as career
Top 15 reasons to choose qa testing as career Top 15 reasons to choose qa testing as career
Top 15 reasons to choose qa testing as career
 
Building Better Products, June 2015
Building Better Products, June 2015Building Better Products, June 2015
Building Better Products, June 2015
 
Building B2B Minimum Viable Products (MVP)
Building B2B Minimum Viable Products (MVP)Building B2B Minimum Viable Products (MVP)
Building B2B Minimum Viable Products (MVP)
 
Five UX Myths to Avoid
Five UX Myths to AvoidFive UX Myths to Avoid
Five UX Myths to Avoid
 

Viewers also liked (18)

iOS for ERREST - alternative version
iOS for ERREST - alternative versioniOS for ERREST - alternative version
iOS for ERREST - alternative version
 
Filtering data with D2W
Filtering data with D2W Filtering data with D2W
Filtering data with D2W
 
D2W Stateful Controllers
D2W Stateful ControllersD2W Stateful Controllers
D2W Stateful Controllers
 
Unit Testing with WOUnit
Unit Testing with WOUnitUnit Testing with WOUnit
Unit Testing with WOUnit
 
Build and deployment
Build and deploymentBuild and deployment
Build and deployment
 
Reenabling SOAP using ERJaxWS
Reenabling SOAP using ERJaxWSReenabling SOAP using ERJaxWS
Reenabling SOAP using ERJaxWS
 
Migrating existing Projects to Wonder
Migrating existing Projects to WonderMigrating existing Projects to Wonder
Migrating existing Projects to Wonder
 
WOver
WOverWOver
WOver
 
Advanced Apache Cayenne
Advanced Apache CayenneAdvanced Apache Cayenne
Advanced Apache Cayenne
 
Apache Cayenne for WO Devs
Apache Cayenne for WO DevsApache Cayenne for WO Devs
Apache Cayenne for WO Devs
 
Life outside WO
Life outside WOLife outside WO
Life outside WO
 
Using Nagios to monitor your WO systems
Using Nagios to monitor your WO systemsUsing Nagios to monitor your WO systems
Using Nagios to monitor your WO systems
 
iOS for ERREST
iOS for ERRESTiOS for ERREST
iOS for ERREST
 
High availability
High availabilityHigh availability
High availability
 
Deploying WO on Windows
Deploying WO on WindowsDeploying WO on Windows
Deploying WO on Windows
 
KAAccessControl
KAAccessControlKAAccessControl
KAAccessControl
 
"Framework Principal" pattern
"Framework Principal" pattern"Framework Principal" pattern
"Framework Principal" pattern
 
In memory OLAP engine
In memory OLAP engineIn memory OLAP engine
In memory OLAP engine
 

Similar to Chaining the Beast - Testing Wonder Applications in the Real World

Symptoms of Bad Quality Software
Symptoms of Bad Quality SoftwareSymptoms of Bad Quality Software
Symptoms of Bad Quality Software
ashokguduru
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices
Dynatrace
 

Similar to Chaining the Beast - Testing Wonder Applications in the Real World (20)

Optimera STHLM 2011 - Mikael Berggren, Spotify
Optimera STHLM 2011 - Mikael Berggren, SpotifyOptimera STHLM 2011 - Mikael Berggren, Spotify
Optimera STHLM 2011 - Mikael Berggren, Spotify
 
Designing for Tomorrow, Delivering Today
Designing for Tomorrow, Delivering TodayDesigning for Tomorrow, Delivering Today
Designing for Tomorrow, Delivering Today
 
Real world software launch
Real world software launchReal world software launch
Real world software launch
 
Appium Native Application Crawler
Appium Native Application CrawlerAppium Native Application Crawler
Appium Native Application Crawler
 
“Building Embedded Vision Products: Management Lessons From The School of Har...
“Building Embedded Vision Products: Management Lessons From The School of Har...“Building Embedded Vision Products: Management Lessons From The School of Har...
“Building Embedded Vision Products: Management Lessons From The School of Har...
 
Lessons Learned in Test Automation From Zombieland
Lessons Learned in Test Automation From ZombielandLessons Learned in Test Automation From Zombieland
Lessons Learned in Test Automation From Zombieland
 
Automating Mobile Testing at Gilt with Appium
Automating Mobile Testing at Gilt with AppiumAutomating Mobile Testing at Gilt with Appium
Automating Mobile Testing at Gilt with Appium
 
Kickoff Test Automation Day 2012
Kickoff Test Automation Day 2012Kickoff Test Automation Day 2012
Kickoff Test Automation Day 2012
 
Intro to Mocking - DjangoCon 2015
Intro to Mocking - DjangoCon 2015Intro to Mocking - DjangoCon 2015
Intro to Mocking - DjangoCon 2015
 
Why do mobile projects (still) fail - September 2014 edition
Why do mobile projects (still) fail - September 2014 editionWhy do mobile projects (still) fail - September 2014 edition
Why do mobile projects (still) fail - September 2014 edition
 
How an Attacker "Audits" Your Software Systems
How an Attacker "Audits" Your Software SystemsHow an Attacker "Audits" Your Software Systems
How an Attacker "Audits" Your Software Systems
 
Seven Jobs You Should Be Running #sqlsat126
Seven Jobs You Should Be Running #sqlsat126Seven Jobs You Should Be Running #sqlsat126
Seven Jobs You Should Be Running #sqlsat126
 
Debugging
DebuggingDebugging
Debugging
 
Debugging
DebuggingDebugging
Debugging
 
How to write bad code using C#
How to write bad code using C#How to write bad code using C#
How to write bad code using C#
 
Android Developer Skills, Techniques, and Patterns
Android Developer Skills, Techniques, and PatternsAndroid Developer Skills, Techniques, and Patterns
Android Developer Skills, Techniques, and Patterns
 
Symptoms of Bad Quality Software
Symptoms of Bad Quality SoftwareSymptoms of Bad Quality Software
Symptoms of Bad Quality Software
 
Workshop fight legacy code write unit test
Workshop fight legacy code write unit testWorkshop fight legacy code write unit test
Workshop fight legacy code write unit test
 
[XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015]
[XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015][XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015]
[XPday.vn] Legacy code workshop (at) [XP Day Vietnam 2015]
 
6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices6 ways DevOps helped PrepSportswear move from monolith to microservices
6 ways DevOps helped PrepSportswear move from monolith to microservices
 

More from WO Community (12)

Localizing your apps for multibyte languages
Localizing your apps for multibyte languagesLocalizing your apps for multibyte languages
Localizing your apps for multibyte languages
 
WOdka
WOdkaWOdka
WOdka
 
ERGroupware
ERGroupwareERGroupware
ERGroupware
 
D2W Branding Using jQuery ThemeRoller
D2W Branding Using jQuery ThemeRollerD2W Branding Using jQuery ThemeRoller
D2W Branding Using jQuery ThemeRoller
 
CMS / BLOG and SnoWOman
CMS / BLOG and SnoWOmanCMS / BLOG and SnoWOman
CMS / BLOG and SnoWOman
 
Using GIT
Using GITUsing GIT
Using GIT
 
Persistent Session Storage
Persistent Session StoragePersistent Session Storage
Persistent Session Storage
 
Back2 future
Back2 futureBack2 future
Back2 future
 
WebObjects Optimization
WebObjects OptimizationWebObjects Optimization
WebObjects Optimization
 
Dynamic Elements
Dynamic ElementsDynamic Elements
Dynamic Elements
 
Practical ERSync
Practical ERSyncPractical ERSync
Practical ERSync
 
ERRest: the Basics
ERRest: the BasicsERRest: the Basics
ERRest: the Basics
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
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...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
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...
 
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
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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 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
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
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...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
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
 
"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 ...
 
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...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 

Chaining the Beast - Testing Wonder Applications in the Real World