SlideShare a Scribd company logo
1 of 103
Download to read offline
Developing an Ember Test
Strategy
Todd Jordan
About Me
About Me
About Me
About Me
About Me
@tddjordan
❤
Testing in Ember
The Hidden Levels
With Some Origin Stories Mixed In
Speed and Feedback Loops
Speed and Feedback Loops
https://deming.org/deming/timeline
Act
Check Do
Plan
Deming
Circle
https://blog.deming.org/2016/10/toyotas-management-history/
https://www.amazon.com/Implementing-Lean-Software-Development-Concept/dp/0321437381/
Boehm’s Law
0
$
$$
$$$
Requirments Design Development Test Prod
https://docs.google.com/viewer?url=https%3A%2F%2Fwww.cs.umd.edu%2Fprojects%2FSoftEng%2FESEG%2Fpapers%2F82.78.pdf
The faster your feedback, the more
successful you’ll be
The faster your feedback, the more
successful you’ll be
Test Types
What Tests to Write and When to Use Them
https://www.flickr.com/photos/chiffheed/6889521843
http://wiki.c2.com/?WardAndKent
https://agilemanifesto.org
Business Facing
Technology Facing
SupportProgramming
CritiqueProduct
Performance
Security
Usability
Exploratory
Acceptance
End To End
Rendering
Unit
http://www.exampler.com/old-blog/2003/08/21.1.html#agile-testing-project-1
https://www.amazon.com/Agile-Testing-Practical-Guide-Testers/dp/0321534468
Business Facing
Technology Facing
SupportProgramming
CritiqueProduct
Performance
Security
Usability
Exploratory
Acceptance
End To End
Rendering
Unit
http://www.exampler.com/old-blog/2003/08/21.1.html#agile-testing-project-1
https://www.amazon.com/Agile-Testing-Practical-Guide-Testers/dp/0321534468
UI
Service
Unit
fast
slowpricey
cheap
https://www.amazon.com/Succeeding-Agile-Software-Development-Using/dp/0321579364
https://martinfowler.com/bliki/TestPyramid.html
Ember Testing
Ember Unit Tests - Call functions directly
(10-100ms)
Ember Rendering Tests - Call components via the
template compiler (200-600 ms)
Ember Application Tests - Interact with the entire
Ember application through the browser
(700-3000ms with stubbed HTTP)
1000 Tests
Unit
Rendering
Application
Minutes
0 10 20 30 40
33.3
6.7
1.7
Assumes 100ms Unit, 400ms Rendering, 2000ms Application
1000 tests: Distributed
Minutes
0
3.5
7
10.5
14
33/33/33 40/40/20 40/50/10
Unit Rendering Application
* With Doubles
Application*
Unit/Rendering
E2E
Service
Test Workflow
A.K.A a nondogmatic discussion of Test First
“The original description of TDD was in an
ancient book about programming.
It said you take the input tape, manually
type in the output tape you expect,
then program until the actual output tape
matches the expected output. ”
-Kent Beck: OG Extreme Programmer, TDD Rediscoverer
TDD
Write a Failing Test
Make it Pass
Refactor
Repeat!!
Look Familiar?
Test 1 … Test n
Works!
Look Familiar?
Test 1 … Test n
Works!
-Everyone at some point, probably
“Won’t working this way slow you down?”
Code
http://geepawhill.org/tdd-and-the-lump-of-coding-fallacy/
Code
http://geepawhill.org/tdd-and-the-lump-of-coding-fallacy/
Typing
Typing
Typing
Waiting on NPM
Typing
Waiting on NPMReading Code
Typing
Waiting on NPM
Googling
Reading Code
Typing
Waiting on NPM
Googling
Reading Code
Chatting
Typing
Waiting on NPM
Googling
Reading Code
Chatting
Running Stuff
Typing
Debugging
Waiting on NPM
Googling
Reading Code
Chatting
Running Stuff
Typing
Debugging
Waiting on NPM
Googling
Reading Code
Chatting
Running Stuff
Automated Tests
Typing
Debugging
Waiting on NPM
Googling
Reading Code
Chatting
Running Stuff
Automated Tests
Typing
Debugging
Waiting on NPM
Googling
Reading Code
Chatting
Running Stuff
Automated Tests
Classic TDD
API
https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530
Classic TDD
Test
API
https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530
Classic TDD
Test
API
https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530
Classic TDD
TestTest
API
https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530
Classic TDD
TestTest
API
https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530
Classic TDD
Test
Your object tree forms as part of
your refactor step
Test
API
https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/0321146530
Example in Ember: A Page Component
Last
Email
Submit
First
Input: Object with First, Last,
Email, Profile Pic
Input: Save action
Output: Rendered DOM
Output: Action invoked
Upload
Classic TDD
API
Classic TDD
Test
API
Classic TDD
Test
Profile Page
API
Classic TDD
Test
Profile Page
API
Test
Classic TDD
Test
Profile Page
API
Test
Profile Picture
Classic TDD
Test
Profile Page
API
Test
Profile Picture
Macro Inside Out
Macro Inside Out
Stubs
Tests
Core Logic
Data
Macro Inside Out
Stubs
Tests
Core Logic
Data
Macro Inside Out
Tests
API
Stubs
Tests
Core Logic
Data
UI
E2E
Macro Inside Out
Tests
API
Stubs
Tests
Core Logic
TDD with Mock Objects
Mocks assert the behavior
of your object’s
collaborators
Enable a form of “Need
Driven Development”
See sinon.js and ember-
sinon
https://www.amazon.com/Growing-Object-Oriented-Software-Guided-Tests/dp/0321503627
https://docs.google.com/viewer?url=http%3A%2F%2Fjmock.org%2Foopsla2004.pdf
TDD with Mocks
http://www.natpryce.com/articles/000342.html
API
TDD with Mocks
http://www.natpryce.com/articles/000342.html
Test
API
TDD with Mocks
http://www.natpryce.com/articles/000342.html
Test
API
TDD with Mocks
http://www.natpryce.com/articles/000342.html
Test
Mock Mock
API
TDD with Mocks
http://www.natpryce.com/articles/000342.html
Test
Mock Mock
API
Test
TDD with Mocks
http://www.natpryce.com/articles/000342.html
Test
Mock Mock
API
Test
Mocks are your roles
TDD with Mocks
http://www.natpryce.com/articles/000342.html
Test
Mock Mock
API
Test
Your mocks become the APIs
for your next test
Mocks are your roles
TDD with Mocks
http://www.natpryce.com/articles/000342.html
Test
Mock Mock
API
Test
Your mocks become the APIs
for your next test
Keep going until you reach a
“leaf”, or an external
boundary
Mocks are your roles
Example in Ember: Chat Service
Hi!
New phone,
who dis?
todd.jordan
locks
1:00pm
1:05pm
Fetches chat history
Receives incoming messages in
realtime
Sends outgoing messages
TDD with Mocks
API
TDD with Mocks
Test
API
TDD with Mocks
Test
Chat Service
API
TDD with Mocks
Test
Chat Service
API
Realtime Service
Receive Incoming
Profile Service
Fetch Profile Info
History Service
Past Chats
TDD with Mocks
Test
Chat Service
Test
API
Realtime Service
Receive Incoming
Profile Service
Fetch Profile Info
History Service
Past Chats
Macro Outside In (Need Driven Development)
E2E
Macro Outside In (Need Driven Development)
E2E
Macro Outside In (Need Driven Development)
UI
Mocks
Tests
E2E
Macro Outside In (Need Driven Development)
Tests
API
Mocks UI
Mocks
Tests
E2E
Tests
Mocks
Core Logic
Macro Outside In (Need Driven Development)
Tests
API
Mocks UI
Mocks
Tests
E2E
Tests
Mocks
Core Logic
Macro Outside In (Need Driven Development)
Tests
API
Mocks
Data
UI
Mocks
Tests
E2E
Tests
Mocks
Core Logic
Macro Outside In (Need Driven Development)
Tests
API
Mocks
Data API
UI
UI
Mocks
Tests
E2E
Tests
Mocks
Core Logic
Macro Outside In (Need Driven Development)
Tests
API
Mocks
Data API
UI
UI
Mocks
Tests
*Done Iteratively, feature by feature
So… Which Should I do?
So… Which Should I do?
¯_(ツ)_/¯
- Nat Pryce, co-author: JMock, GOOS
“Mock objects are just a tool. They are one of many
tools that you need to use when doing TDD. Like any
tool, they are designed to help solve a set of
problems in a specific context.”
“So, instead of treating mock objects, or any other
technique or tool, as an all-or-nothing "golden
hammer", it's more helpful to understand where that
tool fits into the broader picture of TDD practice.”
https://groups.yahoo.com/neo/groups/testdrivendevelopment/conversations/messages/29686
Some Parting Perspectives
Do I Have To?
https://giphy.com/gifs/star-trek-riker-tng-tYelSVzQPtLdm
Do I Have To?
https://giphy.com/gifs/star-trek-riker-tng-tYelSVzQPtLdm
The Flawed Theory Behind Unit Testing
Classical TDD
Mockist TDD
Clean Room
Design By Contract
Michael Feathers
https://michaelfeathers.typepad.com/michael_feathers_blog/2008/06/the-flawed-theo.html
The Flawed Theory Behind Unit Testing
Classical TDD
Mockist TDD
Clean Room
Design By Contract
Michael Feathers
https://michaelfeathers.typepad.com/michael_feathers_blog/2008/06/the-flawed-theo.html
All
–Michael Feathers
“Quality is a function of thought and
reflection - precise thought and reflection. 
That’s the magic.  Techniques which
reinforce that discipline invariably increase
quality.”
Keep an eye on your feedback loops
Test in a methodical way that drives design
Thought and discipline are faster than quickly
spitting out code
Thanks!!!
@tddjordan
toddjordan
todd.jordan

More Related Content

What's hot

API Workshop: Deep dive into REST APIs
API Workshop: Deep dive into REST APIsAPI Workshop: Deep dive into REST APIs
API Workshop: Deep dive into REST APIsTom Johnson
 
API workshop: Deep dive into Java
API workshop: Deep dive into JavaAPI workshop: Deep dive into Java
API workshop: Deep dive into JavaTom Johnson
 
Python For Technical SEO | Women In Tech SEO Festival March 2020 | Ruth Everett
Python For Technical SEO | Women In Tech SEO Festival March 2020 | Ruth Everett Python For Technical SEO | Women In Tech SEO Festival March 2020 | Ruth Everett
Python For Technical SEO | Women In Tech SEO Festival March 2020 | Ruth Everett Ruth Everett
 
API Documentation -- Presentation to East Bay STC Chapter
API Documentation -- Presentation to East Bay STC ChapterAPI Documentation -- Presentation to East Bay STC Chapter
API Documentation -- Presentation to East Bay STC ChapterTom Johnson
 
Flash SEO Secrets
Flash SEO SecretsFlash SEO Secrets
Flash SEO Secretsrtretola
 
45 Modules in 45 Minutes: The Best Modules You're Not Using
45 Modules in 45 Minutes: The Best Modules You're Not Using45 Modules in 45 Minutes: The Best Modules You're Not Using
45 Modules in 45 Minutes: The Best Modules You're Not Usingultimike
 
Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript Onely
 
How Agile Technical SEO Can Add Value To Your SEO Campaign, by Adam Gent
How Agile Technical SEO Can Add Value To Your SEO Campaign, by Adam GentHow Agile Technical SEO Can Add Value To Your SEO Campaign, by Adam Gent
How Agile Technical SEO Can Add Value To Your SEO Campaign, by Adam GentBranded3
 
API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015Tom Johnson
 
Spring Boot Interview Questions | Edureka
Spring Boot Interview Questions | EdurekaSpring Boot Interview Questions | Edureka
Spring Boot Interview Questions | EdurekaEdureka!
 
Getting Started with Python and Machine Learning for SEO | BrightonSEO Octobe...
Getting Started with Python and Machine Learning for SEO | BrightonSEO Octobe...Getting Started with Python and Machine Learning for SEO | BrightonSEO Octobe...
Getting Started with Python and Machine Learning for SEO | BrightonSEO Octobe...Ruth Everett
 
Advanced Technical SEO in 2020 - Data Science
Advanced Technical SEO in 2020 - Data ScienceAdvanced Technical SEO in 2020 - Data Science
Advanced Technical SEO in 2020 - Data ScienceTyler Reardon
 
Challenges of building a search engine like web rendering service
Challenges of building a search engine like web rendering serviceChallenges of building a search engine like web rendering service
Challenges of building a search engine like web rendering serviceGiacomo Zecchini
 
Getting Started with Selenium
Getting Started with SeleniumGetting Started with Selenium
Getting Started with SeleniumDave Haeffner
 
Automated UI Testing Done Right (QMSDNUG)
Automated UI Testing Done Right (QMSDNUG)Automated UI Testing Done Right (QMSDNUG)
Automated UI Testing Done Right (QMSDNUG)Mehdi Khalili
 
The State of the Web: Pagination and Infinite Scroll
The State of the Web: Pagination and Infinite ScrollThe State of the Web: Pagination and Infinite Scroll
The State of the Web: Pagination and Infinite ScrollAdam Gent
 
SMX Munich 2018 - Current State of JavaScript SEO
SMX Munich 2018 - Current State of JavaScript SEOSMX Munich 2018 - Current State of JavaScript SEO
SMX Munich 2018 - Current State of JavaScript SEOOnely
 
Selenium and Cucumber Selenium Conf 2011
Selenium and Cucumber Selenium Conf 2011Selenium and Cucumber Selenium Conf 2011
Selenium and Cucumber Selenium Conf 2011dimakovalenko
 
TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...
TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...
TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...Catalyst
 

What's hot (20)

API Workshop: Deep dive into REST APIs
API Workshop: Deep dive into REST APIsAPI Workshop: Deep dive into REST APIs
API Workshop: Deep dive into REST APIs
 
API workshop: Deep dive into Java
API workshop: Deep dive into JavaAPI workshop: Deep dive into Java
API workshop: Deep dive into Java
 
Python For Technical SEO | Women In Tech SEO Festival March 2020 | Ruth Everett
Python For Technical SEO | Women In Tech SEO Festival March 2020 | Ruth Everett Python For Technical SEO | Women In Tech SEO Festival March 2020 | Ruth Everett
Python For Technical SEO | Women In Tech SEO Festival March 2020 | Ruth Everett
 
API Documentation -- Presentation to East Bay STC Chapter
API Documentation -- Presentation to East Bay STC ChapterAPI Documentation -- Presentation to East Bay STC Chapter
API Documentation -- Presentation to East Bay STC Chapter
 
Flash SEO Secrets
Flash SEO SecretsFlash SEO Secrets
Flash SEO Secrets
 
45 Modules in 45 Minutes: The Best Modules You're Not Using
45 Modules in 45 Minutes: The Best Modules You're Not Using45 Modules in 45 Minutes: The Best Modules You're Not Using
45 Modules in 45 Minutes: The Best Modules You're Not Using
 
Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript Deep crawl the chaotic landscape of JavaScript
Deep crawl the chaotic landscape of JavaScript
 
How Agile Technical SEO Can Add Value To Your SEO Campaign, by Adam Gent
How Agile Technical SEO Can Add Value To Your SEO Campaign, by Adam GentHow Agile Technical SEO Can Add Value To Your SEO Campaign, by Adam Gent
How Agile Technical SEO Can Add Value To Your SEO Campaign, by Adam Gent
 
API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015API Documentation Workshop tcworld India 2015
API Documentation Workshop tcworld India 2015
 
Spring Boot Interview Questions | Edureka
Spring Boot Interview Questions | EdurekaSpring Boot Interview Questions | Edureka
Spring Boot Interview Questions | Edureka
 
Page Speed
Page SpeedPage Speed
Page Speed
 
Getting Started with Python and Machine Learning for SEO | BrightonSEO Octobe...
Getting Started with Python and Machine Learning for SEO | BrightonSEO Octobe...Getting Started with Python and Machine Learning for SEO | BrightonSEO Octobe...
Getting Started with Python and Machine Learning for SEO | BrightonSEO Octobe...
 
Advanced Technical SEO in 2020 - Data Science
Advanced Technical SEO in 2020 - Data ScienceAdvanced Technical SEO in 2020 - Data Science
Advanced Technical SEO in 2020 - Data Science
 
Challenges of building a search engine like web rendering service
Challenges of building a search engine like web rendering serviceChallenges of building a search engine like web rendering service
Challenges of building a search engine like web rendering service
 
Getting Started with Selenium
Getting Started with SeleniumGetting Started with Selenium
Getting Started with Selenium
 
Automated UI Testing Done Right (QMSDNUG)
Automated UI Testing Done Right (QMSDNUG)Automated UI Testing Done Right (QMSDNUG)
Automated UI Testing Done Right (QMSDNUG)
 
The State of the Web: Pagination and Infinite Scroll
The State of the Web: Pagination and Infinite ScrollThe State of the Web: Pagination and Infinite Scroll
The State of the Web: Pagination and Infinite Scroll
 
SMX Munich 2018 - Current State of JavaScript SEO
SMX Munich 2018 - Current State of JavaScript SEOSMX Munich 2018 - Current State of JavaScript SEO
SMX Munich 2018 - Current State of JavaScript SEO
 
Selenium and Cucumber Selenium Conf 2011
Selenium and Cucumber Selenium Conf 2011Selenium and Cucumber Selenium Conf 2011
Selenium and Cucumber Selenium Conf 2011
 
TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...
TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...
TechSEO Boost 2021 - Rendering Strategies: Measuring the Devil’s Details in C...
 

Similar to Developing an Ember Test Strategy - EmberConf 2019

DDT Testing Library for Android
DDT Testing Library for AndroidDDT Testing Library for Android
DDT Testing Library for AndroidAhmed Misbah
 
A journey to_be_a_software_craftsman
A journey to_be_a_software_craftsmanA journey to_be_a_software_craftsman
A journey to_be_a_software_craftsmanJaehoon Oh
 
Test-Driven Development In Action
Test-Driven Development In ActionTest-Driven Development In Action
Test-Driven Development In ActionJon Kruger
 
Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity Peter Gfader
 
DevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDaysJKT
 
I Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application TestingI Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application TestingPeter Presnell
 
Behat - human-readable automated testing
Behat - human-readable automated testingBehat - human-readable automated testing
Behat - human-readable automated testingnyccamp
 
Web Development in Django
Web Development in DjangoWeb Development in Django
Web Development in DjangoLakshman Prasad
 
Better and Faster: A Journey Toward Clean Code and Enjoyment
Better and Faster: A Journey Toward Clean Code and EnjoymentBetter and Faster: A Journey Toward Clean Code and Enjoyment
Better and Faster: A Journey Toward Clean Code and EnjoymentChris Holland
 
10 Ways To Improve Your Code( Neal Ford)
10  Ways To  Improve  Your  Code( Neal  Ford)10  Ways To  Improve  Your  Code( Neal  Ford)
10 Ways To Improve Your Code( Neal Ford)guestebde
 
DF Global Gathering PuneWIT
DF Global Gathering PuneWITDF Global Gathering PuneWIT
DF Global Gathering PuneWITDaniel Peter
 
Intro To Django
Intro To DjangoIntro To Django
Intro To DjangoUdi Bauman
 
Scrum/XP using Team System (devLink & Agile 2009)
Scrum/XP using Team System (devLink & Agile 2009)Scrum/XP using Team System (devLink & Agile 2009)
Scrum/XP using Team System (devLink & Agile 2009)Tommy Norman
 
So You Just Inherited a $Legacy Application...
So You Just Inherited a $Legacy Application...So You Just Inherited a $Legacy Application...
So You Just Inherited a $Legacy Application...Joe Ferguson
 
AtlasCamp 2011 - Five Strategies to Accelerate Plugin Development
AtlasCamp 2011 - Five Strategies to Accelerate Plugin DevelopmentAtlasCamp 2011 - Five Strategies to Accelerate Plugin Development
AtlasCamp 2011 - Five Strategies to Accelerate Plugin Developmentmrdon
 
Test Essentials @mdevcon 2012
Test Essentials @mdevcon 2012Test Essentials @mdevcon 2012
Test Essentials @mdevcon 2012Maxim Zaks
 

Similar to Developing an Ember Test Strategy - EmberConf 2019 (20)

DDT Testing Library for Android
DDT Testing Library for AndroidDDT Testing Library for Android
DDT Testing Library for Android
 
A journey to_be_a_software_craftsman
A journey to_be_a_software_craftsmanA journey to_be_a_software_craftsman
A journey to_be_a_software_craftsman
 
Test-Driven Development In Action
Test-Driven Development In ActionTest-Driven Development In Action
Test-Driven Development In Action
 
Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity Achieving Technical Excellence in Your Software Teams - from Devternity
Achieving Technical Excellence in Your Software Teams - from Devternity
 
DevOpsDays Jakarta Igites
DevOpsDays Jakarta IgitesDevOpsDays Jakarta Igites
DevOpsDays Jakarta Igites
 
I Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application TestingI Smell A RAT- Rapid Application Testing
I Smell A RAT- Rapid Application Testing
 
Behat - human-readable automated testing
Behat - human-readable automated testingBehat - human-readable automated testing
Behat - human-readable automated testing
 
Tec314f
Tec314fTec314f
Tec314f
 
Web Development in Django
Web Development in DjangoWeb Development in Django
Web Development in Django
 
Better and Faster: A Journey Toward Clean Code and Enjoyment
Better and Faster: A Journey Toward Clean Code and EnjoymentBetter and Faster: A Journey Toward Clean Code and Enjoyment
Better and Faster: A Journey Toward Clean Code and Enjoyment
 
10 Ways To Improve Your Code( Neal Ford)
10  Ways To  Improve  Your  Code( Neal  Ford)10  Ways To  Improve  Your  Code( Neal  Ford)
10 Ways To Improve Your Code( Neal Ford)
 
10 Ways To Improve Your Code
10 Ways To Improve Your Code10 Ways To Improve Your Code
10 Ways To Improve Your Code
 
DF Global Gathering PuneWIT
DF Global Gathering PuneWITDF Global Gathering PuneWIT
DF Global Gathering PuneWIT
 
Apex triggers i
Apex triggers iApex triggers i
Apex triggers i
 
Intro To Django
Intro To DjangoIntro To Django
Intro To Django
 
Scrum/XP using Team System (devLink & Agile 2009)
Scrum/XP using Team System (devLink & Agile 2009)Scrum/XP using Team System (devLink & Agile 2009)
Scrum/XP using Team System (devLink & Agile 2009)
 
Automated tests
Automated testsAutomated tests
Automated tests
 
So You Just Inherited a $Legacy Application...
So You Just Inherited a $Legacy Application...So You Just Inherited a $Legacy Application...
So You Just Inherited a $Legacy Application...
 
AtlasCamp 2011 - Five Strategies to Accelerate Plugin Development
AtlasCamp 2011 - Five Strategies to Accelerate Plugin DevelopmentAtlasCamp 2011 - Five Strategies to Accelerate Plugin Development
AtlasCamp 2011 - Five Strategies to Accelerate Plugin Development
 
Test Essentials @mdevcon 2012
Test Essentials @mdevcon 2012Test Essentials @mdevcon 2012
Test Essentials @mdevcon 2012
 

Recently uploaded

WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyviewmasabamasaba
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech studentsHimanshiGarg82
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 

Recently uploaded (20)

WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 

Developing an Ember Test Strategy - EmberConf 2019