SlideShare ist ein Scribd-Unternehmen logo
1 von 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

Weitere ähnliche Inhalte

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
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
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
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?Igalia
 
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...apidays
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
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 CVKhem
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Kürzlich hochgeladen (20)

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
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
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
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
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
 
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...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
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?
 
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...
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
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
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

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