SlideShare una empresa de Scribd logo
1 de 18
Applying BDD and TDD
                     practices, using Jasmine.js
                                                       - Anil Tarte




© Equal Experts UK Ltd 2011     www.equalexperts.com                  1
Outline
               Development Environment
               What is TDD?
               What is BDD?
               Domain problem
               Stories
               Demonstration
               Questions?


© Equal Experts UK Ltd 2011   www.equalexperts.com   2
Development Environment
          Eclipse
           – Using Eclipse IDE for JavaScript Web
             Developers
           – Installed Jetty(Run-Jetty-Run) plugin.
                          • Help -> Eclipse Marketplace -> type Jetty -> hit enter ->
                            install Run-Jetty-Run
          Backend Server(Streamer.jar),
           – URL to access it “ws://localhost:8081/”
           – It is a Streaming Engine and a Stub
             Exchange


© Equal Experts UK Ltd 2011                     www.equalexperts.com                    3
Test Driven Development (TDD)?
          Concept
            – Add a test for each new feature/improvement
            – Write production code, to pass test
            – Refactor
          Aspect
            – KISS (Keep It Simple, Stupid)
            – YAGNI (You Ain’t Goona Need It)
            – Fake it till you make it
          Benefits
            – Designs become more cleaner and clearer
            – Testable code
            – Focus only on what is important
© Equal Experts UK Ltd 2011     www.equalexperts.com        4
Behaviour Driven Development (BDD)?
          Concept
            – Write/Automate a desired behaviour first (in natural
              language)
            – Driven by business value
          Aspect
            – Test method names should be sentence
            – It extends TDD
          Benefits
            – Clear understanding of desired software behaviour
            – Starting point
            – Encourages more collaboration, Dev + QA + BA +
              Customer
© Equal Experts UK Ltd 2011       www.equalexperts.com               5
Domain Problem

                                 Heat Map




© Equal Experts UK Ltd 2011       www.equalexperts.com   6
Top 4 gainer?




© Equal Experts UK Ltd 2011   www.equalexperts.com   7
Different representation - Heat Map




© Equal Experts UK Ltd 2011   www.equalexperts.com   8
Another version




© Equal Experts UK Ltd 2011   www.equalexperts.com   9
Stories – Identify?
          Story 1 – As a trader, when I load application,
           I want to see the instruments, so that …

          Story 2 – As a trader, I want to see “price
           change” updating in real time, so that …

          Story 3 – As a trader, I should able to see
           instruments performance visually(color
           coded), so that I will get overview of the market in
               real time



© Equal Experts UK Ltd 2011       www.equalexperts.com            10
Story 1
          As a trader, when I load application, I want to
           see the instruments, so that …
          Scenario 1
                  – When a trader starts the application
                  – Then I will see the instruments with details
                          • Instrument Symbol
                          • Instrument Name
                          • Price change in percentage




© Equal Experts UK Ltd 2011                   www.equalexperts.com   11
Design Discussion – Story 1

                                                       Connect to – ws://localhost:8081/

                              Knockout
                              bindings
                                         Application                                 Streamer
                                                                                     Engine

    HTML document




© Equal Experts UK Ltd 2011                       www.equalexperts.com                          12
Design Discussion – Story 1

                                                Connect to – ws://localhost:8081/


                  Application                         /Instrument

                                                                                      Streamer
                                         Channel                                      Engine

                   Instrument
                    Container
                                                        {
                                                        messageType:"Snapshot",
                              Knockout                  message : {[
                              bindings                           {
                                                                     "instrumentSymbol":"PL Z11",
                                                                     "instrumentName":"Platinum",
                                                                     "instrumentChange":"-3.9“
                                                                 }
                                                                  ]}
                 HTML document                          }
© Equal Experts UK Ltd 2011                  www.equalexperts.com                                   13
Story 2
          As a trader, I want to see “price change”
           updating in real time.
          Scenario 1
                  – Given I have launched Heat Map application
                  – When I monitor the Heat Map
                  – Then I will see the instrument’s “price change”
                    updates in real time




© Equal Experts UK Ltd 2011             www.equalexperts.com          14
Design Discussion – Story 2

                                                                         Connect to – ws://localhost:8081/


                                    Application                            /Instrument

                                                                                           Streamer
                                                         Channel                           Engine

                                    Instrument
       Instrument                    Container

                                                                     {
                              Knockout                               messageType:“Update",
                              bindings                               message : {[
                                                                              {
                                                                                  "instrumentName":"Platinum",
                                                                                  "instrumentChange":"-3.9“
                                                                              }
                                                                               ]}
                 HTML documents
                                                                     }
© Equal Experts UK Ltd 2011                       www.equalexperts.com                                       15
Story 3
          As a trader, I should able to see instrument’s
           performance visually.
          Scenario 1
                  – Given I have launched Heat Map application
                  – When I monitor the Heat Map
                  – Then I will see the instrument’s tile color changing
                    according to the “price change” in real time




© Equal Experts UK Ltd 2011             www.equalexperts.com               16
Design Discussion – Story 3

                                                                         Connect to – ws://localhost:8081/

        Color Code                                                         /Instrument
                                    Application
        Calculator
                                                                                           Streamer
                                                         Channel                           Engine

                                    Instrument
        Instrument                   Container


                              Knockout
                              bindings




                 HTML documents
© Equal Experts UK Ltd 2011                       www.equalexperts.com                                       17
Questions?



© Equal Experts UK Ltd 2011      www.equalexperts.com   18

Más contenido relacionado

Similar a Applying BDD/TDD practices, using Jasmine.js

Tim Jones – CTO, Trader Media
Tim Jones – CTO, Trader MediaTim Jones – CTO, Trader Media
Tim Jones – CTO, Trader MediaRightScale
 
4 Paradigm Shifts for the Connected Car of the Future
4 Paradigm Shifts for the Connected Car of the Future4 Paradigm Shifts for the Connected Car of the Future
4 Paradigm Shifts for the Connected Car of the FutureHiveMQ
 
ArcReady - Architecting For The Client Tier
ArcReady - Architecting For The Client TierArcReady - Architecting For The Client Tier
ArcReady - Architecting For The Client TierMicrosoft ArcReady
 
The Role of Standards in IoT Security
The Role of Standards in IoT SecurityThe Role of Standards in IoT Security
The Role of Standards in IoT SecurityHannes Tschofenig
 
Introduction to Web Application Clustering
Introduction to Web Application ClusteringIntroduction to Web Application Clustering
Introduction to Web Application ClusteringPiyush Katariya
 
Cebit-2008: Content Aggregation
Cebit-2008: Content AggregationCebit-2008: Content Aggregation
Cebit-2008: Content AggregationDavid Nuescheler
 
Distributed application usecase on docker
Distributed application usecase on dockerDistributed application usecase on docker
Distributed application usecase on dockerHiroshi Miura
 
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded Day
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded DayC:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded Day
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded DayArik Weinstein
 
HDF 3.1 pt. 2: A Technical Deep-Dive on New Streaming Features
HDF 3.1 pt. 2: A Technical Deep-Dive on New Streaming FeaturesHDF 3.1 pt. 2: A Technical Deep-Dive on New Streaming Features
HDF 3.1 pt. 2: A Technical Deep-Dive on New Streaming FeaturesHortonworks
 
Click, Click, Test - Automated Tests for APEX Applications
Click, Click, Test - Automated Tests for APEX ApplicationsClick, Click, Test - Automated Tests for APEX Applications
Click, Click, Test - Automated Tests for APEX ApplicationsKai Donato
 
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...JUG Lausanne
 
44CON London 2015 - Inside Terracotta VPN
44CON London 2015 - Inside Terracotta VPN44CON London 2015 - Inside Terracotta VPN
44CON London 2015 - Inside Terracotta VPN44CON
 
Entity Framework V1 and V2
Entity Framework V1 and V2Entity Framework V1 and V2
Entity Framework V1 and V2ukdpe
 
Edge Computing risks and Opportunities for Telco and hyperscalers
Edge Computing risks and Opportunities for Telco and hyperscalersEdge Computing risks and Opportunities for Telco and hyperscalers
Edge Computing risks and Opportunities for Telco and hyperscalersPatrick Lopez
 
Building Server-Side Eclipse based web applications
Building Server-Side Eclipse based web applicationsBuilding Server-Side Eclipse based web applications
Building Server-Side Eclipse based web applicationsGunnar Wagenknecht
 

Similar a Applying BDD/TDD practices, using Jasmine.js (20)

Streamline - Stream Analytics for Everyone
Streamline - Stream Analytics for EveryoneStreamline - Stream Analytics for Everyone
Streamline - Stream Analytics for Everyone
 
Tim Jones – CTO, Trader Media
Tim Jones – CTO, Trader MediaTim Jones – CTO, Trader Media
Tim Jones – CTO, Trader Media
 
4 Paradigm Shifts for the Connected Car of the Future
4 Paradigm Shifts for the Connected Car of the Future4 Paradigm Shifts for the Connected Car of the Future
4 Paradigm Shifts for the Connected Car of the Future
 
ArcReady - Architecting For The Client Tier
ArcReady - Architecting For The Client TierArcReady - Architecting For The Client Tier
ArcReady - Architecting For The Client Tier
 
The Role of Standards in IoT Security
The Role of Standards in IoT SecurityThe Role of Standards in IoT Security
The Role of Standards in IoT Security
 
Introduction to Web Application Clustering
Introduction to Web Application ClusteringIntroduction to Web Application Clustering
Introduction to Web Application Clustering
 
01 introduction
01 introduction01 introduction
01 introduction
 
Cebit-2008: Content Aggregation
Cebit-2008: Content AggregationCebit-2008: Content Aggregation
Cebit-2008: Content Aggregation
 
TechHub pitch
TechHub pitchTechHub pitch
TechHub pitch
 
Distributed application usecase on docker
Distributed application usecase on dockerDistributed application usecase on docker
Distributed application usecase on docker
 
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded Day
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded DayC:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded Day
C:\Alon Tech\New Tech\Embedded Conf Tlv\Prez\Sightsys Embedded Day
 
HDF 3.1 pt. 2: A Technical Deep-Dive on New Streaming Features
HDF 3.1 pt. 2: A Technical Deep-Dive on New Streaming FeaturesHDF 3.1 pt. 2: A Technical Deep-Dive on New Streaming Features
HDF 3.1 pt. 2: A Technical Deep-Dive on New Streaming Features
 
Click, Click, Test - Automated Tests for APEX Applications
Click, Click, Test - Automated Tests for APEX ApplicationsClick, Click, Test - Automated Tests for APEX Applications
Click, Click, Test - Automated Tests for APEX Applications
 
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
Session dédiée à l'analyse de la qualité du code Java - Cyril Picat - Februar...
 
2. workload
2.  workload2.  workload
2. workload
 
44CON London 2015 - Inside Terracotta VPN
44CON London 2015 - Inside Terracotta VPN44CON London 2015 - Inside Terracotta VPN
44CON London 2015 - Inside Terracotta VPN
 
Entity Framework V1 and V2
Entity Framework V1 and V2Entity Framework V1 and V2
Entity Framework V1 and V2
 
Edge Computing risks and Opportunities for Telco and hyperscalers
Edge Computing risks and Opportunities for Telco and hyperscalersEdge Computing risks and Opportunities for Telco and hyperscalers
Edge Computing risks and Opportunities for Telco and hyperscalers
 
ECI OpenFlow 2.0 the Future of SDN
ECI OpenFlow 2.0 the Future of SDN ECI OpenFlow 2.0 the Future of SDN
ECI OpenFlow 2.0 the Future of SDN
 
Building Server-Side Eclipse based web applications
Building Server-Side Eclipse based web applicationsBuilding Server-Side Eclipse based web applications
Building Server-Side Eclipse based web applications
 

Último

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
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)wesley chun
 
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 WorkerThousandEyes
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 

Último (20)

Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
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
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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)
 
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
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Applying BDD/TDD practices, using Jasmine.js

  • 1. Applying BDD and TDD practices, using Jasmine.js - Anil Tarte © Equal Experts UK Ltd 2011 www.equalexperts.com 1
  • 2. Outline  Development Environment  What is TDD?  What is BDD?  Domain problem  Stories  Demonstration  Questions? © Equal Experts UK Ltd 2011 www.equalexperts.com 2
  • 3. Development Environment  Eclipse – Using Eclipse IDE for JavaScript Web Developers – Installed Jetty(Run-Jetty-Run) plugin. • Help -> Eclipse Marketplace -> type Jetty -> hit enter -> install Run-Jetty-Run  Backend Server(Streamer.jar), – URL to access it “ws://localhost:8081/” – It is a Streaming Engine and a Stub Exchange © Equal Experts UK Ltd 2011 www.equalexperts.com 3
  • 4. Test Driven Development (TDD)?  Concept – Add a test for each new feature/improvement – Write production code, to pass test – Refactor  Aspect – KISS (Keep It Simple, Stupid) – YAGNI (You Ain’t Goona Need It) – Fake it till you make it  Benefits – Designs become more cleaner and clearer – Testable code – Focus only on what is important © Equal Experts UK Ltd 2011 www.equalexperts.com 4
  • 5. Behaviour Driven Development (BDD)?  Concept – Write/Automate a desired behaviour first (in natural language) – Driven by business value  Aspect – Test method names should be sentence – It extends TDD  Benefits – Clear understanding of desired software behaviour – Starting point – Encourages more collaboration, Dev + QA + BA + Customer © Equal Experts UK Ltd 2011 www.equalexperts.com 5
  • 6. Domain Problem Heat Map © Equal Experts UK Ltd 2011 www.equalexperts.com 6
  • 7. Top 4 gainer? © Equal Experts UK Ltd 2011 www.equalexperts.com 7
  • 8. Different representation - Heat Map © Equal Experts UK Ltd 2011 www.equalexperts.com 8
  • 9. Another version © Equal Experts UK Ltd 2011 www.equalexperts.com 9
  • 10. Stories – Identify?  Story 1 – As a trader, when I load application, I want to see the instruments, so that …  Story 2 – As a trader, I want to see “price change” updating in real time, so that …  Story 3 – As a trader, I should able to see instruments performance visually(color coded), so that I will get overview of the market in real time © Equal Experts UK Ltd 2011 www.equalexperts.com 10
  • 11. Story 1  As a trader, when I load application, I want to see the instruments, so that …  Scenario 1 – When a trader starts the application – Then I will see the instruments with details • Instrument Symbol • Instrument Name • Price change in percentage © Equal Experts UK Ltd 2011 www.equalexperts.com 11
  • 12. Design Discussion – Story 1 Connect to – ws://localhost:8081/ Knockout bindings Application Streamer Engine HTML document © Equal Experts UK Ltd 2011 www.equalexperts.com 12
  • 13. Design Discussion – Story 1 Connect to – ws://localhost:8081/ Application /Instrument Streamer Channel Engine Instrument Container { messageType:"Snapshot", Knockout message : {[ bindings { "instrumentSymbol":"PL Z11", "instrumentName":"Platinum", "instrumentChange":"-3.9“ } ]} HTML document } © Equal Experts UK Ltd 2011 www.equalexperts.com 13
  • 14. Story 2  As a trader, I want to see “price change” updating in real time.  Scenario 1 – Given I have launched Heat Map application – When I monitor the Heat Map – Then I will see the instrument’s “price change” updates in real time © Equal Experts UK Ltd 2011 www.equalexperts.com 14
  • 15. Design Discussion – Story 2 Connect to – ws://localhost:8081/ Application /Instrument Streamer Channel Engine Instrument Instrument Container { Knockout messageType:“Update", bindings message : {[ { "instrumentName":"Platinum", "instrumentChange":"-3.9“ } ]} HTML documents } © Equal Experts UK Ltd 2011 www.equalexperts.com 15
  • 16. Story 3  As a trader, I should able to see instrument’s performance visually.  Scenario 1 – Given I have launched Heat Map application – When I monitor the Heat Map – Then I will see the instrument’s tile color changing according to the “price change” in real time © Equal Experts UK Ltd 2011 www.equalexperts.com 16
  • 17. Design Discussion – Story 3 Connect to – ws://localhost:8081/ Color Code /Instrument Application Calculator Streamer Channel Engine Instrument Instrument Container Knockout bindings HTML documents © Equal Experts UK Ltd 2011 www.equalexperts.com 17
  • 18. Questions? © Equal Experts UK Ltd 2011 www.equalexperts.com 18